cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes application programming interface for polar decoder. More...
Data Structures | |
struct | cuphyPolarDecoderLaunchCfg_t |
Typedefs | |
typedef struct cuphyPolarDecoder * | cuphyPolarDecoderHndl_t |
Functions | |
cuphyStatus_t | cuphyCreatePolarDecoder (cuphyPolarDecoderHndl_t *pPolarDecoderHndl) |
Allocate and initialize a cuPHY polarDecoder object. More... | |
cuphyStatus_t | cuphyDestroyPolarDecoder (cuphyPolarDecoderHndl_t polarDecoderHndl) |
Destroys a cuPHY polarDecoder object. More... | |
cuphyStatus_t | cuphyPolarDecoderGetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute polarDecoder descriptor buffer sizes and alignments. More... | |
cuphyStatus_t | cuphySetupPolarDecoder (cuphyPolarDecoderHndl_t polarDecoderHndl, uint16_t nPolCws, __half **pCwTreeLLRsAddrs, cuphyPolarCwPrm_t *pCwPrmsGpu, cuphyPolarCwPrm_t *pCwPrmsCpu, uint32_t **pPolCbEstAddrs, uint8_t *pPolCrcErrorFlags, bool enableCpuToGpuDescrAsyncCpy, void *pCpuDynDescPolar, void *pGpuDynDescPolar, void *pCpuDynDescPolarLLRAddrs, void *pCpuDynDescPolarCBAddrs, cuphyPolarDecoderLaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
Setup cuPHY polar decoder for slot processing. More... | |
typedef struct cuphyPolarDecoder* cuphyPolarDecoderHndl_t |
cuPHY uciPolDecoder handle
cuphyStatus_t cuphyCreatePolarDecoder | ( | cuphyPolarDecoderHndl_t * | pPolarDecoderHndl | ) |
Allocates a polarDecoder object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPolarDecoderHndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a polarDecoder object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pPolarDecoderHndl | - Address to return the new polarDecoder instance |
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPolarDecoderGetDescrInfo,cuphySetupPolarDecoder
cuphyStatus_t cuphyDestroyPolarDecoder | ( | cuphyPolarDecoderHndl_t | polarDecoderHndl | ) |
Destroys a cuPHY polarDecoder object that was previously created by cuphyCreatePolarDecoder. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if polarDecoderHndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
polarDecoderHndl | - handle to previously allocated compCwTreeTypes instance |
cuphyStatus_t cuphyPolarDecoderGetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
size_t * | pDynDescrAlignBytes | ||
) |
Computes polarDecoder descriptor buffer sizes and alignments. To be used by the caller to allocate these buffers (in CPU and GPU memories) and provide them to other uciPolDecoder APIs
Returns CUPHY_STATUS_INVALID_ARGUMENT if pDynDescrSizeBytes
and/or pDynDescrAlignBytes
is NULL
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.
pDynDescrSizeBytes | - Size in bytes of dynamic descriptor |
pDynDescrAlignBytes | - Alignment in bytes of dynamic descriptor |
cuphyStatus_t cuphySetupPolarDecoder | ( | cuphyPolarDecoderHndl_t | polarDecoderHndl, |
uint16_t | nPolCws, | ||
__half ** | pCwTreeLLRsAddrs, | ||
cuphyPolarCwPrm_t * | pCwPrmsGpu, | ||
cuphyPolarCwPrm_t * | pCwPrmsCpu, | ||
uint32_t ** | pPolCbEstAddrs, | ||
uint8_t * | pPolCrcErrorFlags, | ||
bool | enableCpuToGpuDescrAsyncCpy, | ||
void * | pCpuDynDescPolar, | ||
void * | pGpuDynDescPolar, | ||
void * | pCpuDynDescPolarLLRAddrs, | ||
void * | pCpuDynDescPolarCBAddrs, | ||
cuphyPolarDecoderLaunchCfg_t * | pLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY polar decoder in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
polarDecoderHndl | - polar decoder component handle |
nPolCws | - number of polar codewords |
pCwTreeLLRsAddrs | - pointer to codeword tree LLR addresses |
pCwPrmsGpu | - pointer to codeword parameters in GPU |
pCwPrmsCpu | - pointer to codeword parameters in CPU |
pPolCbEstAddrs | - pointer to estimated codeblock addresses |
pPolCrcErrorFlags | - pointer to buffer storing CRC error flags |
enableCpuToGpuDescrAsyncCpy | - option to copy descriptors from CPU to GPU |
pCpuDynDescPolar | - pointer to polarDecoderDynDescr descriptor in cpu |
pGpuDynDescPolar | - pointer to polarDecoderDynDescr descriptor in gpu |
pCpuDynDescPolarLLRAddrs | - pointer to cwTreeLLRsAddrs in polarDecoderDynDescr descriptor in cpu |
pCpuDynDescPolarCBAddrs | - pointer to polCbEstAddrs in polarDecoderDynDescr descriptor in cpu |
pLaunchCfg | - pointer to launch configuration |
strm | - stream to perform copy |