cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes application programming interface for the PUCCH format 3 LLR segmentation kernel. More...
Data Structures | |
struct | cuphyPucchF3SegLLRsLaunchCfg_t |
Typedefs | |
typedef struct cuphyPucchF3SegLLRs * | cuphyPucchF3SegLLRsHndl_t |
Functions | |
cuphyStatus_t | cuphyCreatePucchF3SegLLRs (cuphyPucchF3SegLLRsHndl_t *pPucchF3SegLLRsHndl) |
Allocate and initialize a cuPHY pucchF3SegLLRs object. More... | |
cuphyStatus_t | cuphyDestroyPucchF3SegLLRs (cuphyPucchF3SegLLRsHndl_t pucchF3SegLLRsHndl) |
Destroys a cuPHY pucchF3SegLLRs object. More... | |
cuphyStatus_t | cuphyPucchF3SegLLRsGetDescrInfo (size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute pucchF3SegLLRs descriptor buffer sizes and alignments. More... | |
cuphyStatus_t | cuphySetupPucchF3SegLLRs (cuphyPucchF3SegLLRsHndl_t pucchF3SegLLRsHndl, uint16_t nF3Ucis, cuphyPucchUciPrm_t *pF3UciPrms, __half **pDescramLLRaddrs, void *pCpuDynDesc, void *pGpuDynDesc, bool enableCpuToGpuDescrAsyncCpy, cuphyPucchF3SegLLRsLaunchCfg_t *pLaunchCfg, cudaStream_t strm) |
Setup cuPHY pucchF3SegLLRs for slot processing. More... | |
typedef struct cuphyPucchF3SegLLRs* cuphyPucchF3SegLLRsHndl_t |
cuPHY pucchF3SegLLRs handle
cuphyStatus_t cuphyCreatePucchF3SegLLRs | ( | cuphyPucchF3SegLLRsHndl_t * | pPucchF3SegLLRsHndl | ) |
Allocates a pucchF3SegLLRs object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPucchF3SegLLRsHndl
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a pucchF3SegLLRs object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pPucchF3SegLLRsHndl | - Address to return the new pucchF3SegLLRs instance |
cuphyStatus_t cuphyDestroyPucchF3SegLLRs | ( | cuphyPucchF3SegLLRsHndl_t | pucchF3SegLLRsHndl | ) |
Destroys a cuPHY pucchF3SegLLRs object that was previously created by cuphyCreatePucchF3SegLLRs. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchF3SegLLRsHndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
pucchF3SegLLRsHndl | - handle to previously allocated instance |
cuphyStatus_t cuphyPucchF3SegLLRsGetDescrInfo | ( | size_t * | pDynDescrSizeBytes, |
size_t * | pDynDescrAlignBytes | ||
) |
Computes pucchF3SegLLRs 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 pucchF3SegLLRs 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 cuphySetupPucchF3SegLLRs | ( | cuphyPucchF3SegLLRsHndl_t | pucchF3SegLLRsHndl, |
uint16_t | nF3Ucis, | ||
cuphyPucchUciPrm_t * | pF3UciPrms, | ||
__half ** | pDescramLLRaddrs, | ||
void * | pCpuDynDesc, | ||
void * | pGpuDynDesc, | ||
bool | enableCpuToGpuDescrAsyncCpy, | ||
cuphyPucchF3SegLLRsLaunchCfg_t * | pLaunchCfg, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY pucchF3SegLLRs in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
pucchF3SegLLRsHndl | - Handle for Pucch F3 LLR array segmentation component instance |
nF3Ucis | - number of PF3 UCIs |
pF3UciPrms | - address of UCI parameters in CPU memory |
pDescramLLRaddrs | - address of descrambled LLR arrays |
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 |