cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes application programming interface for the PUCCH format 2, 3, 4 UCI segmentation kernel. More...
Data Structures | |
struct | cuphyPucchF234UciSegLaunchCfg_t |
Typedefs | |
typedef struct cuphyPucchF234UciSeg * | cuphyPucchF234UciSegHndl_t |
Functions | |
cuphyStatus_t | cuphyCreatePucchF234UciSeg (cuphyPucchF234UciSegHndl_t *pPucchF234UciSegHndl) |
Allocate and initialize a cuPHY pucchF234UciSeg object. More... | |
cuphyStatus_t | cuphyDestroyPucchF234UciSeg (cuphyPucchF234UciSegHndl_t pPucchF234UciSegHndl) |
Destroys a cuPHY pucchF234UciSeg object. More... | |
cuphyStatus_t | cuphyPucchF234UciSegGetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute pucchF234UciSeg descriptor buffer sizes and alignments. More... | |
cuphyStatus_t | cuphySetupPucchF234UciSeg (cuphyPucchF234UciSegHndl_t pucchF234UciSegHndl, uint16_t nF2Ucis, uint16_t nF3Ucis, cuphyPucchUciPrm_t *pF2UciPrms, cuphyPucchUciPrm_t *pF3UciPrms, cuphyPucchF234OutOffsets_t *&pF2OutOffsetsCpu, cuphyPucchF234OutOffsets_t *&pF3OutOffsetsCpu, uint8_t *uciPayloadsGpu, void *pCpuDynDesc, void *pGpuDynDesc, bool enableCpuToGpuDescrAsyncCpy, cuphyPucchF234UciSegLaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
Setup cuPHY pucchF234UciSeg for slot processing. More... | |
typedef struct cuphyPucchF234UciSeg* cuphyPucchF234UciSegHndl_t |
cuPHY pucchF234UciSeg handle
cuphyStatus_t cuphyCreatePucchF234UciSeg | ( | cuphyPucchF234UciSegHndl_t * | pPucchF234UciSegHndl | ) |
Allocates a pucchF234UciSeg object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPucchF234UciSegHndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a pucchF234UciSeg object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pPucchF234UciSegHndl | - Address to return the new pucchF234UciSeg instance |
cuphyStatus_t cuphyDestroyPucchF234UciSeg | ( | cuphyPucchF234UciSegHndl_t | pPucchF234UciSegHndl | ) |
Destroys a cuPHY pucchF234UciSeg object that was previously created by cuphyCreatePucchF234UciSeg. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPucchF234UciSegHndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
pPucchF234UciSegHndl | - handle to previously allocated instance |
cuphyStatus_t cuphyPucchF234UciSegGetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
size_t * | pDynDescrAlignBytes | ||
) |
Computes pucchF234UciSeg 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 pucchF234UciSeg 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 cuphySetupPucchF234UciSeg | ( | cuphyPucchF234UciSegHndl_t | pucchF234UciSegHndl, |
uint16_t | nF2Ucis, | ||
uint16_t | nF3Ucis, | ||
cuphyPucchUciPrm_t * | pF2UciPrms, | ||
cuphyPucchUciPrm_t * | pF3UciPrms, | ||
cuphyPucchF234OutOffsets_t *& | pF2OutOffsetsCpu, | ||
cuphyPucchF234OutOffsets_t *& | pF3OutOffsetsCpu, | ||
uint8_t * | uciPayloadsGpu, | ||
void * | pCpuDynDesc, | ||
void * | pGpuDynDesc, | ||
bool | enableCpuToGpuDescrAsyncCpy, | ||
cuphyPucchF234UciSegLaunchCfg_t * | pLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY pucchF234UciSeg in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
pucchF234UciSegHndl | - Handle for Pucch F2/F3/F4 UCI segmentation component instance |
nF2Ucis | - number of PF2 UCIs |
nF3Ucis | - number of PF3 UCIs |
pF2UciPrms | - address of PF2 UCI parameters in CPU memory |
pF3UciPrms | - address of PF3 UCI parameters in CPU memory |
pF2OutOffsetsCpu | - address of PF2 output offset parameters in CPU memory |
pF3OutOffsetsCpu | - address of PF3 output offset parameters in CPU memory |
uciPayloadsGpu | - address of decoded UCI payloads array |
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 launch configurations |
strm | - CUDA stream for descriptor copy operation |