cuPHY  0.1
CUDA PHY Layer Acceration Library
Data Structures | Typedefs | Functions
: segment descrambled LLR array into two LLR sub-arrays for HARQ/SR/CSIp1 and CSIp2 for PUCCH format 3.

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...
 

Detailed Description

Typedef Documentation

◆ cuphyPucchF3SegLLRsHndl_t

typedef struct cuphyPucchF3SegLLRs* cuphyPucchF3SegLLRsHndl_t

cuPHY pucchF3SegLLRs handle

Function Documentation

◆ cuphyCreatePucchF3SegLLRs()

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

Parameters
pPucchF3SegLLRsHndl- Address to return the new pucchF3SegLLRs instance
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_ALLOC_FAILED, CUPHY_STATUS_INVALID_ARGUMENT

cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString

◆ cuphyDestroyPucchF3SegLLRs()

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.

Parameters
pucchF3SegLLRsHndl- handle to previously allocated instance
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString

◆ cuphyPucchF3SegLLRsGetDescrInfo()

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.

Parameters
pDynDescrSizeBytes- Size in bytes of dynamic descriptor
pDynDescrAlignBytes- Alignment in bytes of dynamic descriptor
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString

◆ cuphySetupPucchF3SegLLRs()

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.

Parameters
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
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString