cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes application programming interface for part 1 UCI on PUSCH deSegmentation. More...
Data Structures | |
struct | cuphyUciOnPuschSegLLRs1LaunchCfg_t |
Typedefs | |
typedef struct cuphyUciOnPuschSegLLRs1 * | cuphyUciOnPuschSegLLRs1Hndl_t |
Functions | |
cuphyStatus_t | cuphyCreateUciOnPuschSegLLRs1 (cuphyUciOnPuschSegLLRs1Hndl_t *pUciOnPuschSegLLRs1Hndl) |
Allocate and initialize a cuPHY uciOnPuschSegLLRs1 object. More... | |
cuphyStatus_t | cuphyDestroyUciOnPuschSegLLRs1 (cuphyUciOnPuschSegLLRs1Hndl_t uciOnPuschSegLLRs1Hndl) |
Destroys a cuPHY uciOnPuschSegLLRs1 object. More... | |
cuphyStatus_t | cuphySetupUciOnPuschSegLLRs1 (cuphyUciOnPuschSegLLRs1Hndl_t uciOnPuschSegLLRs1Hndl, uint16_t nUciUes, uint16_t *pUciUserIdxs, PerTbParams *pTbPrmsCpu, PerTbParams *pTbPrmsGpu, uint16_t nUeGrps, cuphyTensorPrm_t *pTensorPrmsEqOutLLRs, uint16_t *pNumPrbs, uint8_t startSym, uint8_t nPuschSym, uint8_t nPuschDataSym, uint8_t *pDataSymIdxs, uint8_t nPuschDmrsSym, uint8_t *pDmrsSymIdxs, void *pCpuDynDesc, void *pGpuDynDesc, uint8_t enableCpuToGpuDescrAsyncCpy, cuphyUciOnPuschSegLLRs1LaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
Setup cuPHY uciOnPuschSegLLRs1 for slot processing. More... | |
cuphyStatus_t | cuphyUciOnPuschSegLLRs1GetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute uciOnPuschSegLLRs1 descriptor buffer sizes and alignments. More... | |
typedef struct cuphyUciOnPuschSegLLRs1* cuphyUciOnPuschSegLLRs1Hndl_t |
cuPHY uciOnPuschSegLLRs1 handle
cuphyStatus_t cuphyCreateUciOnPuschSegLLRs1 | ( | cuphyUciOnPuschSegLLRs1Hndl_t * | pUciOnPuschSegLLRs1Hndl | ) |
Allocates a uciOnPuschSegLLRs1 object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pUciOnPuschSegLLRs1Hndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a uciOnPuschSegLLRs1 object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pUciOnPuschSegLLRs1Hndl | - Address to return the new uciOnPuschSegLLRs1 instance |
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyUciOnPuschSegLLRs1GetDescrInfo,cuphySetupUciOnPuschSegLLRs1
cuphyStatus_t cuphyDestroyUciOnPuschSegLLRs1 | ( | cuphyUciOnPuschSegLLRs1Hndl_t | uciOnPuschSegLLRs1Hndl | ) |
Destroys a cuPHY uciOnPuschSegLLRs1 object that was previously created by cuphyCreateUciOnPuschSegLLRs1. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if uciOnPuschSegLLRs1Hndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
uciOnPuschSegLLRs1Hndl | - handle to previously allocated compCwTreeTypes instance |
cuphyStatus_t cuphySetupUciOnPuschSegLLRs1 | ( | cuphyUciOnPuschSegLLRs1Hndl_t | uciOnPuschSegLLRs1Hndl, |
uint16_t | nUciUes, | ||
uint16_t * | pUciUserIdxs, | ||
PerTbParams * | pTbPrmsCpu, | ||
PerTbParams * | pTbPrmsGpu, | ||
uint16_t | nUeGrps, | ||
cuphyTensorPrm_t * | pTensorPrmsEqOutLLRs, | ||
uint16_t * | pNumPrbs, | ||
uint8_t | startSym, | ||
uint8_t | nPuschSym, | ||
uint8_t | nPuschDataSym, | ||
uint8_t * | pDataSymIdxs, | ||
uint8_t | nPuschDmrsSym, | ||
uint8_t * | pDmrsSymIdxs, | ||
void * | pCpuDynDesc, | ||
void * | pGpuDynDesc, | ||
uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
cuphyUciOnPuschSegLLRs1LaunchCfg_t * | pLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY uciOnPuschSegLLRs1 in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
uciOnPuschSegLLRs1Hndl | - handle of uciOnPuschSegLLRs1 instance |
nUciUes | - number of UEs bearing Uplink Control Information (UCI) |
pUciUserIdxs | - indices of UCI bearing UEs (index to resolve UE from set of all UEs being processed by PUSCH) |
pTbPrmsCpu | - address of Transport block parameters in CPU memory |
pTbPrmsGpu | - address of Transport block parameters in GPU memory |
nUeGrps | - number of UE groups to be processed |
pTensorPrmsEqOutLLRs | - tensor parameters for equalizer output LLRs |
pNumPrbs | - number of allocated PRBs |
startSym | - first symbol of PUSCH |
nPuschSym | - total number of PUSCH symbols |
nPuschDataSym | - number of PUSCH data symbols |
pDataSymIdxs | - symbol indices of PUSCH data symbols |
nPuschDmrsSym | - number of PUSCH DMRS symbols |
pDmrsSymIdxs | - symbol indices of PUSCH DMRS symbols |
pCpuDynDesc | - Pointer to dynamic descriptor in CPU memory |
pGpuDynDesc | - Pointer to dynamic descriptor in GPU memory |
enableCpuToGpuDescrAsyncCpy | - Flag when set enables async copy of CPU descriptor into GPU |
pLaunchCfg | - Pointer to channel estimation launch configurations |
strm | - CUDA stream for descriptor copy operation |
cuphyStatus_t cuphyUciOnPuschSegLLRs1GetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
size_t * | pDynDescrAlignBytes | ||
) |
Computes uciOnPuschSegLLRs1 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 uciOnPuschSegLLRs1 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 |