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

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

Data Structures

struct  _cuphySrsCellDynPrm
 Per cell dynamic parameter. More...
 
struct  _cuphySrsCellGrpDynPrm
 Cell group dynamic parameters. More...
 
struct  _cuphySrsDataIn
 SRS Input Data. More...
 
struct  _cuphySrsDataOut
 SRS Output Data. More...
 
struct  _cuphySrsDbgPrms
 SRS Debug Parameters. More...
 
struct  _cuphySrsDynPrms
 SRS Dynamic Parameters. More...
 
struct  _cuphySrsStatPrms
 SRS Cell-group API. More...
 

Typedefs

typedef struct cuphySrsRx * cuphySrsRxHndl_t
 

Enumerations

enum  _cuphySrsProcMode { ,
  SRS_PROC_MODE_FULL_SLOT_GRAPHS = 0x1,
  SRS_MAX_PROC_MODES
}
 SRS processing modes. More...
 

Functions

cuphyStatus_t cuphyCreateSrsRx (cuphySrsRxHndl_t *pSrsRxHndl, cuphySrsStatPrms_t const *pStatPrms, cudaStream_t cuStream)
 Allocates and initializes a cuPHY SRS pipeline. More...
 
cuphyStatus_t cuphyDestroySrsRx (cuphySrsRxHndl_t srsRxHndl)
 Destroys a cuPHY SRS receiver pipeline object. More...
 
cuphyStatus_t cuphyRunSrsRx (cuphySrsRxHndl_t srsRxHndl, uint64_t procModeBmsk)
 Run cuPHY SRS receive pipeline processing in specified mode. More...
 
cuphyStatus_t cuphySetupSrsRx (cuphySrsRxHndl_t srsRxHndl, cuphySrsDynPrms_t *pDynPrms, cuphySrsBatchPrmHndl_t const batchPrmHndl)
 Setup cuPHY SRS receive pipeline for slot processing. More...
 
cuphyStatus_t cuphyWriteDbgBufSynchSrs (cuphySrsRxHndl_t srsRxHndl, cudaStream_t cuStream)
 Run cuPHY save SRS receiver debug buffer. More...
 

Detailed Description

Typedef Documentation

◆ cuphySrsRxHndl_t

typedef struct cuphySrsRx* cuphySrsRxHndl_t

cuPHY SRS Receiver handle

Enumeration Type Documentation

◆ _cuphySrsProcMode

Enumerator
SRS_PROC_MODE_FULL_SLOT_GRAPHS 

Full slot processing.

SRS_MAX_PROC_MODES 

Full slot processing with graphs.

Function Documentation

◆ cuphyCreateSrsRx()

cuphyStatus_t cuphyCreateSrsRx ( cuphySrsRxHndl_t pSrsRxHndl,
cuphySrsStatPrms_t const *  pStatPrms,
cudaStream_t  cuStream 
)

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

Returns CUPHY_STATUS_INVALID_ARGUMENT if pSrsRxHndl and/or pStatPrms is NULL.

Returns CUPHY_STATUS_ALLOC_FAILED if a SrsRx object cannot be allocated

Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.

Parameters
pSrsRxHndl- Address to return the new PucchRx instance
pStatPrms- Pointer to SRS 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,cuphySetupSrsRx,cuphyRunSrsRx,cuphyDestroySrsRx

◆ cuphyDestroySrsRx()

cuphyStatus_t cuphyDestroySrsRx ( cuphySrsRxHndl_t  srsRxHndl)

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

Returns CUPHY_STATUS_INVALID_ARGUMENT if srsRxHndl is NULL.

Returns CUPHY_STATUS_SUCCESS if destruction was successful.

Parameters
srsRxHndl- handle to previously allocated SrsRx instance
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyCreatePucchRx

◆ cuphyRunSrsRx()

cuphyStatus_t cuphyRunSrsRx ( cuphySrsRxHndl_t  srsRxHndl,
uint64_t  procModeBmsk 
)

Call triggers cuPHY SRS receive pipeline exeuction in mode specified by procModeBmsk

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

Returns CUPHY_STATUS_SUCCESS if SrsRx execution is successful.

Parameters
srsRxHndl- Handle of SrsRx 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,cuphyCreateSrsRx,cuphySetupSrsRx,cuphyDestroySrsRx

◆ cuphySetupSrsRx()

cuphyStatus_t cuphySetupSrsRx ( cuphySrsRxHndl_t  srsRxHndl,
cuphySrsDynPrms_t *  pDynPrms,
cuphySrsBatchPrmHndl_t const  batchPrmHndl 
)

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

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

Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.

Parameters
srsRxHndl- Handle of SrsRx 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,cuphyCreateSrsRx,cuphyRunSrsRx,cuphyDestroySrsRx

◆ cuphyWriteDbgBufSynchSrs()

cuphyStatus_t cuphyWriteDbgBufSynchSrs ( cuphySrsRxHndl_t  srsRxHndl,
cudaStream_t  cuStream 
)
Parameters
srsRxHndl- Handle of SrsRx 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