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 | cuphyUciOnPuschSegLLRs2LaunchCfg_t |
Typedefs | |
typedef struct cuphyUciOnPuschSegLLRs2 * | cuphyUciOnPuschSegLLRs2Hndl_t |
Functions | |
cuphyStatus_t | cuphyCreateUciOnPuschSegLLRs2 (cuphyUciOnPuschSegLLRs2Hndl_t *pUciOnPuschSegLLRs2Hndl) |
Allocate and initialize a cuPHY uciOnPuschSegLLRs2 object. More... | |
cuphyStatus_t | cuphyDestroyUciOnPuschSegLLRs2 (cuphyUciOnPuschSegLLRs2Hndl_t uciOnPuschSegLLRs2Hndl) |
Destroys a cuPHY uciOnPuschSegLLRs2 object. More... | |
cuphyStatus_t | cuphySetupUciOnPuschSegLLRs2 (cuphyUciOnPuschSegLLRs2Hndl_t uciOnPuschSegLLRs2Hndl, uint16_t nCsi2Ues, uint16_t *pCsi2UeIdxs, PerTbParams *pTbPrmsCpu, PerTbParams *pTbPrmsGpu, uint16_t nUeGrps, cuphyTensorPrm_t *pTensorPrmsEqOutLLRs, cuphyPuschRxUeGrpPrms_t *pUeGrpPrmsCpu, cuphyPuschRxUeGrpPrms_t *pUeGrpPrmsGpu, void *pCpuDynDesc, void *pGpuDynDesc, uint8_t enableCpuToGpuDescrAsyncCpy, cuphyUciOnPuschSegLLRs2LaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
Setup cuPHY uciOnPuschSegLLRs2 for slot processing. More... | |
cuphyStatus_t | cuphyUciOnPuschSegLLRs2GetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute uciOnPuschSegLLRs2 descriptor buffer sizes and alignments. More... | |
typedef struct cuphyUciOnPuschSegLLRs2* cuphyUciOnPuschSegLLRs2Hndl_t |
cuPHY uciOnPuschSegLLRs1 handle
cuphyStatus_t cuphyCreateUciOnPuschSegLLRs2 | ( | cuphyUciOnPuschSegLLRs2Hndl_t * | pUciOnPuschSegLLRs2Hndl | ) |
Allocates a uciOnPuschSegLLRs2 object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pUciOnPuschSegLLRs2Hndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a uciOnPuschSegLLRs2 object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pUciOnPuschSegLLRs2Hndl | - Address to return the new uciOnPuschSegLLRs2 instance |
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyUciOnPuschSegLLRs2GetDescrInfo,cuphySetupUciOnPuschSegLLRs2
cuphyStatus_t cuphyDestroyUciOnPuschSegLLRs2 | ( | cuphyUciOnPuschSegLLRs2Hndl_t | uciOnPuschSegLLRs2Hndl | ) |
Destroys a cuPHY uciOnPuschSegLLRs2 object that was previously created by cuphyCreateUciOnPuschSegLLRs2. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if uciOnPuschSegLLRs2Hndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
uciOnPuschSegLLRs2Hndl | - handle to previously allocated instance |
cuphyStatus_t cuphySetupUciOnPuschSegLLRs2 | ( | cuphyUciOnPuschSegLLRs2Hndl_t | uciOnPuschSegLLRs2Hndl, |
uint16_t | nCsi2Ues, | ||
uint16_t * | pCsi2UeIdxs, | ||
PerTbParams * | pTbPrmsCpu, | ||
PerTbParams * | pTbPrmsGpu, | ||
uint16_t | nUeGrps, | ||
cuphyTensorPrm_t * | pTensorPrmsEqOutLLRs, | ||
cuphyPuschRxUeGrpPrms_t * | pUeGrpPrmsCpu, | ||
cuphyPuschRxUeGrpPrms_t * | pUeGrpPrmsGpu, | ||
void * | pCpuDynDesc, | ||
void * | pGpuDynDesc, | ||
uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
cuphyUciOnPuschSegLLRs2LaunchCfg_t * | pLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY uciOnPuschSegLLRs2 in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
uciOnPuschSegLLRs2Hndl | - handle of uciOnPuschSegLLRs2 instance |
nCsi2Ues | - number of UES bearing CSI part2 payload data |
pCsi2UeIdxs | - indices of CSI part2 payload 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 |
pUeGrpPrmsCpu | - UE group parameters in CPU memory |
pUeGrpPrmsGpu | - UE group parameters in GPU memory |
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 cuphyUciOnPuschSegLLRs2GetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
size_t * | pDynDescrAlignBytes | ||
) |
Computes uciOnPuschSegLLRs2 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 uciOnPuschSegLLRs2 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 |