cuPHY  0.1
CUDA PHY Layer Acceration Library
Data Structures | Typedefs | Enumerations | Functions
PUCCH Receiver

This section describes the PUCCH receive pipeline functions of the cuPHY application programming interface. More...

Data Structures

struct  _cuphyPucchCellDynPrm
 Per cell PUCCH dynamic parameters. More...
 
struct  _cuphyPucchCellGrpDynPrm
 PUCCH Cell group dynamic parameters. More...
 
struct  _cuphyPucchDataIn
 PUCCH Input Data. More...
 
struct  _cuphyPucchDataOut
 PUCCH output data. The UE ordering in buffers is identical to input UCI parameter (pFxUciPrms within cuphyPucchCellGrpDynPrm_t) input ordering. More...
 
struct  _cuphyPucchDbgPrms
 PUCCH Debug Parameters. More...
 
struct  _cuphyPucchDynPrms
 PUCCH Dynamic Parameters. More...
 
struct  _cuphyPucchStatPrms
 Cell-group API. More...
 

Typedefs

typedef struct cuphyPucchRx * cuphyPucchRxHndl_t
 

Enumerations

enum  _cuphyPucchProcMode { ,
  PUCCH_PROC_MODE_FULL_SLOT_GRAPHS = 0x1,
  PUCCH_MAX_PROC_MODES
}
 PUSCH processing modes. More...
 

Functions

cuphyStatus_t cuphyCreatePucchRx (cuphyPucchRxHndl_t *pPucchRxHndl, cuphyPucchStatPrms_t const *pStatPrms, cudaStream_t cuStream)
 Allocates and initializes a cuPHY PUCCH pipeline. More...
 
cuphyStatus_t cuphyDestroyPucchRx (cuphyPucchRxHndl_t pucchRxHndl)
 Destroys a cuPHY PUCCH receiver pipeline object. More...
 
cuphyStatus_t cuphyRunPucchRx (cuphyPucchRxHndl_t pucchRxHndl, uint64_t procModeBmsk)
 Run cuPHY PUCCH pipeline processing in specified mode. More...
 
cuphyStatus_t cuphySetupPucchRx (cuphyPucchRxHndl_t pucchRxHndl, cuphyPucchDynPrms_t *pDynPrms, cuphyPucchBatchPrmHndl_t const batchPrmHndl)
 Setup cuPHY PUCCH pipeline for slot processing. More...
 
cuphyStatus_t cuphyWriteDbgBufSynchPucch (cuphyPucchRxHndl_t pucchRxHndl, cudaStream_t cuStream)
 Run cuPHY save Pucch debug buffer. More...
 

Detailed Description

Typedef Documentation

◆ cuphyPucchRxHndl_t

typedef struct cuphyPucchRx* cuphyPucchRxHndl_t

cuPHY PUCCH Receiver handle

Enumeration Type Documentation

◆ _cuphyPucchProcMode

Enumerator
PUCCH_PROC_MODE_FULL_SLOT_GRAPHS 

Full slot processing.

PUCCH_MAX_PROC_MODES 

Full slot processing with graphs.

Function Documentation

◆ cuphyCreatePucchRx()

cuphyStatus_t cuphyCreatePucchRx ( cuphyPucchRxHndl_t pPucchRxHndl,
cuphyPucchStatPrms_t const *  pStatPrms,
cudaStream_t  cuStream 
)

Allocates a cuPHY PUCCH receiver pipeline and returns a handle in the address provided by the caller.

Returns CUPHY_STATUS_INVALID_ARGUMENT if pPucchRxHndl and/or pStatPrms is NULL.

Returns CUPHY_STATUS_ALLOC_FAILED if a PucchRx object cannot be allocated

Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.

Parameters
pPucchRxHndl- Address to return the new PucchRx instance
pStatPrms- Pointer to PUCCH static parameters to be used in pipeline creation
cuStream- CUDA stream used for creation time work (e.g static tensor copy, conversion)
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_ALLOC_FAILED, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphySetupPuschRx,cuphyRunPuschRx,cuphyDestroyPuschRx

◆ cuphyDestroyPucchRx()

cuphyStatus_t cuphyDestroyPucchRx ( cuphyPucchRxHndl_t  pucchRxHndl)

Destroys a cuPHY PUCCH receiver pipeline object that was previously created by cuphyCreatePucchRx. The handle provided to this function should not be used for any operations after this function returns.

Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchRxHndl is NULL.

Returns CUPHY_STATUS_SUCCESS if destruction was successful.

Parameters
pucchRxHndl- handle to previously allocated PucchRx instance
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyCreatePucchRx

◆ cuphyRunPucchRx()

cuphyStatus_t cuphyRunPucchRx ( cuphyPucchRxHndl_t  pucchRxHndl,
uint64_t  procModeBmsk 
)

Call triggers cuPHY PUCCH receiver pipeline exeuction in mode specified by procModeBmsk

Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchRxHndl is NULL and/or procModeBmsk is not supported.

Returns CUPHY_STATUS_SUCCESS if PucchRx execution is successful.

Parameters
pucchRxHndl- Handle of PucchRx instance which is to be triggered
procModeBmsk- Processing mode bitmask containing one or more processing modes applicable during this execution
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyCreatePucchRx,cuphySetupPucchRx,cuphyDestroyPucchRx

◆ cuphySetupPucchRx()

cuphyStatus_t cuphySetupPucchRx ( cuphyPucchRxHndl_t  pucchRxHndl,
cuphyPucchDynPrms_t *  pDynPrms,
cuphyPucchBatchPrmHndl_t const  batchPrmHndl 
)

Setup cuPHY PUCCH receiver pipeline (and its components) state in preparation towards slot execution

Returns CUPHY_STATUS_INVALID_ARGUMENT if pucchRxHndl and/or pDynPrms and/or batchPrmHndl is NULL

Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.

Parameters
pucchRxHndl- Handle of PucchRx instance to be setup
pDynPrms- Dynamic parameters carrying information needed for slot processing
batchPrmHndl- Workload batching information
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyCreatePucchRx,cuphyRunPucchRx,cuphyDestroyPucchRx

◆ cuphyWriteDbgBufSynchPucch()

cuphyStatus_t cuphyWriteDbgBufSynchPucch ( cuphyPucchRxHndl_t  pucchRxHndl,
cudaStream_t  cuStream 
)
Parameters
pucchRxHndl- Handle of PucchRx instance which saves the debug buffer
cuStream- CUDA stream used for PucchRx pipeline execution Note: requires stream synchronization durring call
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT Note: requires stream synchronization durring call