cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes the puschRx CRC deocder (transport block + code block + segmentation) functions of the cuPHY application programming interface. More...
Data Structures | |
struct | cuphyPuschRxCrcDecodeHndl_t |
Functions | |
cuphyStatus_t | cuphyCreatePuschRxCrcDecode (cuphyPuschRxCrcDecodeHndl_t *puschRxCrcDecodeHndl, int reverseBytes) |
Allocate and initialize a cuPHY PuschRx crc decode object. More... | |
cuphyStatus_t | cuphyDestroyPuschRxCrcDecode (cuphyPuschRxCrcDecodeHndl_t puschRxCrcDecodeHndl) |
Destroys a cuPHY PUSCH crc decode object. More... | |
cuphyStatus_t | cuphyPuschRxCrcDecodeGetDescrInfo (size_t *pDescrSizeBytes, size_t *pDescrAlignBytes) |
Helper to compute cuPHY crc decoder descriptor buffer sizes and alignments. More... | |
cuphyStatus_t | cuphySetupPuschRxCrcDecode (cuphyPuschRxCrcDecodeHndl_t puschRxCrcDecodeHndl, uint16_t nSchUes, uint16_t *pSchUserIdxsCpu, uint32_t *pOutputCBCRCs, uint8_t *pOutputTBs, const uint32_t *pInputCodeBlocks, uint32_t *pOutputTBCRCs, const PerTbParams *pTbPrmsCpu, const PerTbParams *pTbPrmsGpu, void *pCpuDesc, void *pGpuDesc, uint8_t enableCpuToGpuDescrAsyncCpy, cuphyPuschRxCrcDecodeLaunchCfg_t *pCbCrcLaunchCfg, cuphyPuschRxCrcDecodeLaunchCfg_t *pTbCrcLaunchCfg, cudaStream_t strm) |
Setup cuPHY crc decode for slot processing. More... | |
cuphyStatus_t cuphyCreatePuschRxCrcDecode | ( | cuphyPuschRxCrcDecodeHndl_t * | puschRxCrcDecodeHndl, |
int | reverseBytes | ||
) |
Allocates a cuPHY pusch crc decode object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxCrcDecodeHndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a PuschRxCrcDecode object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
puschRxCrcDecodeHndl | - Address to return the new PuschRxRateMatch instance |
reverseBytes | - 0 or 1. Option to reverse bytes during crc. |
cuphyStatus_t cuphyDestroyPuschRxCrcDecode | ( | cuphyPuschRxCrcDecodeHndl_t | puschRxCrcDecodeHndl | ) |
Destroys a cuPHY PUSCH crc decode object that was previously created by cuphyCreatePuschRxCrcDecode. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxCrcDecodeHndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
puschRxCrcDecodeHndl | - handle to previously allocated PuschRxRateMatch instance |
cuphyStatus_t cuphyPuschRxCrcDecodeGetDescrInfo | ( | size_t * | pDescrSizeBytes, |
size_t * | pDescrAlignBytes | ||
) |
Computes cuPHY PUSCH crc decoder 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 PuschRxCrcDecode APIs
Returns CUPHY_STATUS_INVALID_ARGUMENT if pDescrSizeBytes
and/or pDescrAlignBytes
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.
pDescrSizeBytes | - Size in bytes descriptor |
pDescrAlignBytes | - Alignment of descriptor |
cuphyStatus_t cuphySetupPuschRxCrcDecode | ( | cuphyPuschRxCrcDecodeHndl_t | puschRxCrcDecodeHndl, |
uint16_t | nSchUes, | ||
uint16_t * | pSchUserIdxsCpu, | ||
uint32_t * | pOutputCBCRCs, | ||
uint8_t * | pOutputTBs, | ||
const uint32_t * | pInputCodeBlocks, | ||
uint32_t * | pOutputTBCRCs, | ||
const PerTbParams * | pTbPrmsCpu, | ||
const PerTbParams * | pTbPrmsGpu, | ||
void * | pCpuDesc, | ||
void * | pGpuDesc, | ||
uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
cuphyPuschRxCrcDecodeLaunchCfg_t * | pCbCrcLaunchCfg, | ||
cuphyPuschRxCrcDecodeLaunchCfg_t * | pTbCrcLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY PUSCH crc decode in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
Returns CUPHY_STATUS_INVALID_ARGUMENT if any inputs NULL.
puschRxCrcDecodeHndl | - Address to return the PuschRxCrcDecode instance |
nSchUes | - number of users with sch data |
pSchUserIdxsCpu | - Address of sch user indicies |
pOutputCBCRCs | - Address of where to strore CB crc results |
pOutputTBs | - Address of where to store estimated transport blocks (w/h crc removed) |
pInputCodeBlocks | - Address of input codeblocks (output of LDPC) |
pOutputTBCRCs | - Address of where to stroe TB crc results |
pTbPrmsCpu | - Address of tb parameters in CPU |
pTbPrmsGpu | - Address of tb parameters in GPU |
pCpuDesc | - Address of descriptor in CPU |
pGpuDesc | - Address of descriptor in GPU |
enableCpuToGpuDescrAsyncCpy | - Option to copy desc from CPU to GPU |
pCbCrcLaunchCfg | - Address of CB CRC decoder launch configuration |
pTbCrcLaunchCfg | - Address of TB CRC decoder launch configuration |
strm | - stream to perform copy |