|
cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes the PUCCH F2 receiver functions of the cuPHY application programming interface. More...
Data Structures | |
| struct | cuphyPucchF2RxLaunchCfg_t |
Typedefs | |
| typedef struct cuphyPucchF2Rx * | cuphyPucchF2RxHndl_t |
Functions | |
| cuphyStatus_t | cuphyCreatePucchF2Rx (cuphyPucchF2RxHndl_t *pPucchF2RxHndl, cudaStream_t strm) |
| Allocate and initialize a cuPHY PucchF2Rx object. More... | |
| cuphyStatus_t | cuphyDestroyPucchF2Rx (cuphyPucchF2RxHndl_t pucchF2RxHndl) |
| Destroys a cuPHY PUCCH F2 receiver object. More... | |
| cuphyStatus_t | cuphyPucchF2RxGetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
| Helper to compute cuPHY PUCCH F2 receiver descriptor buffer sizes and alignments. More... | |
| cuphyStatus_t | cuphySetupPucchF2Rx (cuphyPucchF2RxHndl_t pucchF2RxHndl, cuphyTensorPrm_t *pDataRx, __half **pDescramLLRaddrs, uint8_t *pDTXflags, float *pSinr, float *pRssi, float *pRsrp, float *pInterf, float *pNoiseVar, uint16_t nCells, uint16_t nF2Ucis, cuphyPucchUciPrm_t *pF2UciPrms, cuphyPucchCellPrm_t *pCmnCellPrms, uint8_t enableCpuToGpuDescrAsyncCpy, void *pCpuDynDesc, void *pGpuDynDesc, cuphyPucchF2RxLaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
| Setup cuPHY PucchF2Rx for slot processing. More... | |
| typedef struct cuphyPucchF2Rx* cuphyPucchF2RxHndl_t |
cuPHY PUCCH F2 receiver handle
| cuphyStatus_t cuphyCreatePucchF2Rx | ( | cuphyPucchF2RxHndl_t * | pPucchF2RxHndl, |
| cudaStream_t | strm | ||
| ) |
Allocates a cuPHY pucch F2 receiver object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPucchF2RxHndl is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a pucchF2Rx object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
| pPucchF2RxHndl | - Address to return the new pucchF2Rx instance |
| strm | - CUDA stream for async copies |
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPucchF2RxGetDescrInfo,cuphySetupPucchF2Rx
| cuphyStatus_t cuphyDestroyPucchF2Rx | ( | cuphyPucchF2RxHndl_t | pucchF2RxHndl | ) |
Destroys a cuPHY PUCCH F2 receiver object that was previously created by cuphyCreatePucchF2Rx. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchF2RxHndl is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
| pucchF2RxHndl | - handle to previously allocated pucchF2Rx instance |
| cuphyStatus_t cuphyPucchF2RxGetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
| size_t * | pDynDescrAlignBytes | ||
| ) |
Computes cuPHY PUSCH PUCCH F2 receiver 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 PucchF2Rx 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 cuphySetupPucchF2Rx | ( | cuphyPucchF2RxHndl_t | pucchF2RxHndl, |
| cuphyTensorPrm_t * | pDataRx, | ||
| __half ** | pDescramLLRaddrs, | ||
| uint8_t * | pDTXflags, | ||
| float * | pSinr, | ||
| float * | pRssi, | ||
| float * | pRsrp, | ||
| float * | pInterf, | ||
| float * | pNoiseVar, | ||
| uint16_t | nCells, | ||
| uint16_t | nF2Ucis, | ||
| cuphyPucchUciPrm_t * | pF2UciPrms, | ||
| cuphyPucchCellPrm_t * | pCmnCellPrms, | ||
| uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
| void * | pCpuDynDesc, | ||
| void * | pGpuDynDesc, | ||
| cuphyPucchF2RxLaunchCfg_t * | pLaunchCfg, | ||
| cudaStream_t | strm | ||
| ) |
Setup cuPHY PUCCH F2 receiver in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchF2RxHndl and/or pDataRx and/or pF2UciPrms and/or pCpuDynDesc and/or pGpuDynDesc is NULL.
| pucchF2RxHndl | - Handle to previously created PucchF2Rx instance |
| pDataRx | - Pointer to received data tensor parameters |
| pDescramLLRaddrs | - pointer to descrambled segment 1 LLR addresses |
| pDTXflags | - pointer to DTX flag buffer |
| pSinr | - pointer to SINR buffer |
| pRssi | - pointer to RSSI buffer |
| pRsrp | - pointer to RSRP buffer |
| pInterf | - pointer to interference level buffer |
| pNoiseVar | - pointer to Noise Var buffer |
| nCells | - Number of cells |
| nF2Ucis | - Number of F2 ucis to process |
| pF2UciPrms | - Pointer to F2 uci parameters |
| pCmnCellPrms | - Common cell parameters: number of gNB receive antennas, current slot number, gNB hopping ID |
| enableCpuToGpuDescrAsyncCpy | - Flag when set enables async copy of CPU descriptor into GPU |
| pCpuDynDesc | - Pointer to dynamic descriptor in CPU memory |
| pGpuDynDesc | - Pointer to dynamic descriptor in GPU memory |
| pLaunchCfg | - Pointer to channel estimation launch configurations |
| strm | - CUDA stream for descriptor copy operation |
1.8.17