|
cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes the PUSCH receive pipeline functions of the cuPHY application programming interface. More...
Data Structures | |
| struct | _cuphyPuschCellDynPrm |
| Per cell dynamic parameter. More... | |
| struct | _cuphyPuschDataOut |
| Output Data for PUSCH. More... | |
| struct | _cuphyPuschDmrsPrm |
| DMRS information. More... | |
| struct | _cuphyPuschDynDbgPrms |
| PUSCH Dynamic Logging API. More... | |
| struct | _cuphyPuschDynPrms |
| PUSCH Dynamic Parameters. More... | |
| struct | _cuphyPuschStatDbgPrms |
| PUSCH Debug API. More... | |
| struct | _cuphyPuschStatPrms |
| PUSCH Static Parameters. More... | |
| struct | _cuphyPuschUeGrpPrm |
| Co-scheduled UE group parameters. More... | |
| struct | _cuphyPuschUePrm |
| Per UE parameters. More... | |
| struct | _cuphyUciOnPusch |
| Uci on pusch parameters. More... | |
| struct | cuphyPuschCellGrpDynPrm_t |
| Cell group dynamic parameters. More... | |
| struct | cuphyPuschDataInOut_t |
| PUSCH In/Out Data. More... | |
Typedefs | |
| typedef struct cuphyPuschRx * | cuphyPuschRxHndl_t |
Enumerations | |
| enum | _cuphyPuschLdpcKernelLaunch { , PUSCH_RX_LDPC_STREAM_POOL = 0x2, PUSCH_RX_LDPC_STREAM_SEQUENTIAL = 0x4, PUSCH_RX_ENABLE_LDPC_DEC_SINGLE_STREAM_OPT = 0x8 } |
| PUSCH Kernel Launch Types. More... | |
| enum | _cuphyPuschProcMode { , PUSCH_PROC_MODE_FULL_SLOT_GRAPHS = 0x1, PUSCH_MAX_PROC_MODES } |
| PUSCH processing modes. More... | |
Functions | |
| cuphyStatus_t | cuphyBatchPuschRx (cuphyPuschRxHndl_t puschRxHndl, cuphyPuschDynPrms_t *pDynPrms, cuphyPuschBatchPrmHndl_t batchPrmHndl) |
| Batch PUSCH workoad. More... | |
| cuphyStatus_t | cuphyCreatePuschBatchPrm (cuphyPuschBatchPrmHndl_t *pBatchPrmHndl) |
| Allocate a container for PUSCH batch parameters. More... | |
| cuphyStatus_t | cuphyCreatePuschRx (cuphyPuschRxHndl_t *pPuschRxHndl, cuphyPuschStatPrms_t const *pStatPrms, cudaStream_t cuStream) |
| Allocates and initializes a cuPHY PUSCH pipeline. More... | |
| cuphyStatus_t | cuphyDestroyPuschBatchPrm (cuphyPuschBatchPrmHndl_t batchPrmHndl) |
| Destroys container for PUSCH batch parameters. More... | |
| cuphyStatus_t | cuphyDestroyPuschRx (cuphyPuschRxHndl_t puschRxHndl) |
| Destroys a cuPHY PUSCH receiver pipeline object. More... | |
| cuphyStatus_t | cuphyRunPuschRx (cuphyPuschRxHndl_t puschRxHndl) |
| Run cuPHY PUSCH pipeline processing in specified mode. More... | |
| cuphyStatus_t | cuphySetupPuschRx (cuphyPuschRxHndl_t puschRxHndl, cuphyPuschDynPrms_t *pDynPrms, cuphyPuschBatchPrmHndl_t const batchPrmHndl) |
| Setup cuPHY PUSCH pipeline for slot processing. More... | |
| cuphyStatus_t | cuphyWriteDbgBufSynch (cuphyPuschRxHndl_t puschRxHndl, cudaStream_t cuStream) |
| Run cuPHY save Pusch debug buffer. More... | |
| typedef struct cuphyPuschRx* cuphyPuschRxHndl_t |
cuPHY PUSCH Receiver handle
| enum _cuphyPuschProcMode |
| cuphyStatus_t cuphyBatchPuschRx | ( | cuphyPuschRxHndl_t | puschRxHndl, |
| cuphyPuschDynPrms_t * | pDynPrms, | ||
| cuphyPuschBatchPrmHndl_t | batchPrmHndl | ||
| ) |
Batch PUSCH workload across one or more cells, UE-groups and UEs. The batched configuration is used during slot execution
Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxHndl and/or pDynPrms (or its components) and/or batchPrmHndl is NULL
Returns CUPHY_STATUS_SUCCESS if setup is successful.
| puschRxHndl | - Handle of PuschRx instance to be setup |
| pDynPrms | - Dynamic parameters carrying information needed for slot processing |
| batchPrmHndl | - Workload batching information |
| cuphyStatus_t cuphyCreatePuschBatchPrm | ( | cuphyPuschBatchPrmHndl_t * | pBatchPrmHndl | ) |
Allocate storage to hold PUSCH batch parameters and return a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pBatchPrmHndl is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a batch parameter container object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation were successful.
| pBatchPrmHndl | - Address to return the container for PUSCH batch parameters |
| cuphyStatus_t cuphyCreatePuschRx | ( | cuphyPuschRxHndl_t * | pPuschRxHndl, |
| cuphyPuschStatPrms_t const * | pStatPrms, | ||
| cudaStream_t | cuStream | ||
| ) |
Allocates a cuPHY PUSCH receiver pipeline and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pPuschRxHndl and/or pStatPrms is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a PuschRx object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.
| pPuschRxHndl | - Address to return the new PuschRx instance |
| pStatPrms | - Pointer to PUSCH static parameters to be used in pipeline creation |
| cuStream | - CUDA stream used for creation time work (e.g static tensor copy, conversion) |
| cuphyStatus_t cuphyDestroyPuschBatchPrm | ( | cuphyPuschBatchPrmHndl_t | batchPrmHndl | ) |
Destroy a cuPHY context object that was previously created by a call to cuphyCreatePuschBatchPrm. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if batchPrmHndl is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
| batchPrmHndl | - previously allocated PUSCH batch parameter instance |
| cuphyStatus_t cuphyDestroyPuschRx | ( | cuphyPuschRxHndl_t | puschRxHndl | ) |
Destroys a cuPHY PUSCH receiver pipeline object that was previously created by cuphyCreatePuschRx. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxHndl is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
| puschRxHndl | - handle to previously allocated PuschRx instance |
| cuphyStatus_t cuphyRunPuschRx | ( | cuphyPuschRxHndl_t | puschRxHndl | ) |
Call triggers cuPHY PUSCH receiver pipeline exeuction in mode specified by procModeBmsk
Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxHndl is NULL and/or procModeBmsk is not supported.
Returns CUPHY_STATUS_SUCCESS if PuschRx execution is successful.
| puschRxHndl | - Handle of PuschRx instance which is to be triggered |
| cuphyStatus_t cuphySetupPuschRx | ( | cuphyPuschRxHndl_t | puschRxHndl, |
| cuphyPuschDynPrms_t * | pDynPrms, | ||
| cuphyPuschBatchPrmHndl_t const | batchPrmHndl | ||
| ) |
Setup cuPHY PUSCH receiver pipeline (and its components) state in preparation towards slot execution
Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxHndl and/or pDynPrms and/or batchPrmHndl is NULL
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.
| puschRxHndl | - Handle of PuschRx instance to be setup |
| pDynPrms | - Dynamic parameters carrying information needed for slot processing |
| batchPrmHndl | - Workload batching information |
| cuphyStatus_t cuphyWriteDbgBufSynch | ( | cuphyPuschRxHndl_t | puschRxHndl, |
| cudaStream_t | cuStream | ||
| ) |
| puschRxHndl | - Handle of PuschRx instance which saves the debug buffer |
| cuStream | - CUDA stream used for PuschRx pipeline execution Note: requires stream synchronization durring call |
1.8.17