cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes the PUCCH F0 receiver functions of the cuPHY application programming interface. More...
Data Structures | |
struct | cuphyPucchF0RxLaunchCfg_t |
Typedefs | |
typedef struct cuphyPucchF0Rx * | cuphyPucchF0RxHndl_t |
Functions | |
cuphyStatus_t | cuphyCreatePucchF0Rx (cuphyPucchF0RxHndl_t *pPucchF0RxHndl, cudaStream_t strm) |
Allocate and initialize a cuPHY PucchF0Rx object. More... | |
cuphyStatus_t | cuphyDestroyPucchF0Rx (cuphyPucchF0RxHndl_t pucchF0RxHndl) |
Destroys a cuPHY PUCCH F0 receiver object. More... | |
cuphyStatus_t | cuphyPucchF0RxGetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute cuPHY PUCCH F0 receiver descriptor buffer sizes and alignments. More... | |
cuphyStatus_t | cuphySetupPucchF0Rx (cuphyPucchF0RxHndl_t pucchF0RxHndl, cuphyTensorPrm_t *pDataRx, cuphyPucchF0F1UciOut_t *pF0UcisOut, uint16_t nCells, uint16_t nF0Ucis, cuphyPucchUciPrm_t *pF0UciPrms, cuphyPucchCellPrm_t *pCmnCellPrms, uint8_t enableCpuToGpuDescrAsyncCpy, void *pCpuDynDesc, void *pGpuDynDesc, cuphyPucchF0RxLaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
Setup cuPHY PucchF0Rx for slot processing. More... | |
typedef struct cuphyPucchF0Rx* cuphyPucchF0RxHndl_t |
cuPHY PUCCH F0 receiver handle
cuphyStatus_t cuphyCreatePucchF0Rx | ( | cuphyPucchF0RxHndl_t * | pPucchF0RxHndl, |
cudaStream_t | strm | ||
) |
Allocates a cuPHY pucch F0 receiver object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPucchF0RxHndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a pucchF0Rx object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pPucchF0RxHndl | - Address to return the new pucchF0Rx instance |
strm | - CUDA stream for async copies |
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPucchF0RxGetDescrInfo,cuphySetupPucchF0Rx
cuphyStatus_t cuphyDestroyPucchF0Rx | ( | cuphyPucchF0RxHndl_t | pucchF0RxHndl | ) |
Destroys a cuPHY PUCCH F0 receiver object that was previously created by cuphyCreatePucchF0Rx. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchF0RxHndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
pucchF0RxHndl | - handle to previously allocated PuschRxChEst instance |
cuphyStatus_t cuphyPucchF0RxGetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
size_t * | pDynDescrAlignBytes | ||
) |
Computes cuPHY PUSCH PUCCH F0 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 PucchF0Rx 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 cuphySetupPucchF0Rx | ( | cuphyPucchF0RxHndl_t | pucchF0RxHndl, |
cuphyTensorPrm_t * | pDataRx, | ||
cuphyPucchF0F1UciOut_t * | pF0UcisOut, | ||
uint16_t | nCells, | ||
uint16_t | nF0Ucis, | ||
cuphyPucchUciPrm_t * | pF0UciPrms, | ||
cuphyPucchCellPrm_t * | pCmnCellPrms, | ||
uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
void * | pCpuDynDesc, | ||
void * | pGpuDynDesc, | ||
cuphyPucchF0RxLaunchCfg_t * | pLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY PUCCH F0 receiver in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchF0RxHndl
and/or pDataRx
and/or pF0UcisOut
and/or pF0UciPrms
and/or pCpuDynDesc
and/or pGpuDynDesc
is NULL.
pucchF0RxHndl | - Handle to previously created PucchF0Rx instance |
pDataRx | - Pointer to received data tensor parameters |
pF0UcisOut | - Pointer to F0 uci output buffer |
nCells | - Number of cells |
nF0Ucis | - Number of F0 ucis to process |
pF0UciPrms | - Pointer to F0 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 |