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 |