cuPHY  0.1
CUDA PHY Layer Acceration Library
Data Structures | Typedefs | Functions
Pusch receiver RSSI measurement

This section describes Pusch receiver Received Signal Strength Indicator measurement functions of the cuPHY application programming interface. More...

Data Structures

struct  cuphyPuschRxRsrpLaunchCfg_t
 
struct  cuphyPuschRxRssiLaunchCfg_t
 

Typedefs

typedef struct cuphyPuschRxRssi * cuphyPuschRxRssiHndl_t
 

Functions

cuphyStatus_t cuphyCreatePuschRxRssi (cuphyPuschRxRssiHndl_t *pPuschRxRssiHndl)
 Allocate and initialize a cuPHY PuschRx RSSI, RSRP estimation object. More...
 
cuphyStatus_t cuphyDestroyPuschRxRssi (cuphyPuschRxRssiHndl_t puschRxRssiHndl)
 Destroys a cuPHY PUSCH RSSI estimation object. More...
 
cuphyStatus_t cuphyPuschRxRssiGetDescrInfo (size_t *pRssiDynDescrSizeBytes, size_t *pRssiDynDescrAlignBytes, size_t *pRsrpDynDescrSizeBytes, size_t *pRsrpDynDescrAlignBytes)
 Helper to compute cuPHY RSSI, RSRP measurement descriptor buffer sizes and alignments. More...
 
cuphyStatus_t cuphySetupPuschRxRsrp (cuphyPuschRxRssiHndl_t puschRxRssiHndl, cuphyPuschRxUeGrpPrms_t *pDrvdUeGrpPrmsCpu, cuphyPuschRxUeGrpPrms_t *pDrvdUeGrpPrmsGpu, uint16_t nUeGrps, uint32_t nMaxPrb, uint8_t enableCpuToGpuDescrAsyncCpy, void *pDynDescrsCpu, void *pDynDescrsGpu, cuphyPuschRxRsrpLaunchCfgs_t *pLaunchCfgs, cudaStream_t strm)
 Setup cuPHY PuschRx RSRP for slot processing. More...
 
cuphyStatus_t cuphySetupPuschRxRssi (cuphyPuschRxRssiHndl_t puschRxRssiHndl, cuphyPuschRxUeGrpPrms_t *pDrvdUeGrpPrmsCpu, cuphyPuschRxUeGrpPrms_t *pDrvdUeGrpPrmsGpu, uint16_t nUeGrps, uint32_t nMaxPrb, uint8_t enableCpuToGpuDescrAsyncCpy, void *pDynDescrsCpu, void *pDynDescrsGpu, cuphyPuschRxRssiLaunchCfgs_t *pLaunchCfgs, cudaStream_t strm)
 Setup cuPHY PuschRx RSSI for slot processing. More...
 

Detailed Description

Typedef Documentation

◆ cuphyPuschRxRssiHndl_t

typedef struct cuphyPuschRxRssi* cuphyPuschRxRssiHndl_t

cuPHY PUSCH Receiver RSSI metric handle

Function Documentation

◆ cuphyCreatePuschRxRssi()

cuphyStatus_t cuphyCreatePuschRxRssi ( cuphyPuschRxRssiHndl_t pPuschRxRssiHndl)

Allocates a cuPHY RSSI (Received Signal Strength Indicator) and RSRP (Reference Signal Received Power) object and returns a handle in the address provided by the caller.

Returns CUPHY_STATUS_INVALID_ARGUMENT if pPuschRxRssiHndl is NULL.

Returns CUPHY_STATUS_ALLOC_FAILED if a PuschRxRssi object cannot be allocated

Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful

Parameters
pPuschRxRssiHndl- Address to return the new PuschRxRssi instance
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_ALLOC_FAILED, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPuschRxRssiGetDescrInfo,cuphySetupPuschRxRssi,cuphyDestroyPuschRxRssi

◆ cuphyDestroyPuschRxRssi()

cuphyStatus_t cuphyDestroyPuschRxRssi ( cuphyPuschRxRssiHndl_t  puschRxRssiHndl)

Destroys a cuPHY PUSCH RSSI (Received Signal Strength Indicator) and RSRP object that was previously created by cuphyCreatePuschRxRssi. The handle provided to this function should not be used for any operations after this function returns.

Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxRssiHndl is NULL.

Returns CUPHY_STATUS_SUCCESS if destruction was successful.

Parameters
puschRxRssiHndl- handle to previously allocated PuschRxRssi instance
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPuschRxRssiGetDescrInfo,cuphyCreatePuschRxRssi,cuphySetupPuschRxRssi

◆ cuphyPuschRxRssiGetDescrInfo()

cuphyStatus_t cuphyPuschRxRssiGetDescrInfo ( size_t *  pRssiDynDescrSizeBytes,
size_t *  pRssiDynDescrAlignBytes,
size_t *  pRsrpDynDescrSizeBytes,
size_t *  pRsrpDynDescrAlignBytes 
)

Computes cuPHY PUSCH RSSI (Received Signal Strength Indicator) and RSRP (Reference Signal Received Power) 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 PuschRxRssi APIs

Returns CUPHY_STATUS_INVALID_ARGUMENT if pRssiDynDescrSizeBytes and/or pRssiDynDescrAlignBytes and/or pRsrpDynDescrSizeBytes and/or pRsrpDynDescrAlignBytes is NULL

Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.

Parameters
pRssiDynDescrSizeBytes- Size in bytes of RSSI dynamic descriptor
pRssiDynDescrAlignBytes- Alignment in bytes of RSSI dynamic descriptor
pRsrpDynDescrSizeBytes- Size in bytes of RSRP dynamic descriptor
pRsrpDynDescrAlignBytes- Alignment in bytes of RSRP dynamic descriptor
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyCreatePuschRxRssi,cuphyDestroyPuschRxRssi

◆ cuphySetupPuschRxRsrp()

cuphyStatus_t cuphySetupPuschRxRsrp ( cuphyPuschRxRssiHndl_t  puschRxRssiHndl,
cuphyPuschRxUeGrpPrms_t *  pDrvdUeGrpPrmsCpu,
cuphyPuschRxUeGrpPrms_t *  pDrvdUeGrpPrmsGpu,
uint16_t  nUeGrps,
uint32_t  nMaxPrb,
uint8_t  enableCpuToGpuDescrAsyncCpy,
void *  pDynDescrsCpu,
void *  pDynDescrsGpu,
cuphyPuschRxRsrpLaunchCfgs_t *  pLaunchCfgs,
cudaStream_t  strm 
)

Setup cuPHY PUSCH Reference Signal Received Power in preparation towards slot execution

Returns CUPHY_STATUS_SUCCESS if setup is successful.

Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxRssiHndl and/or pDynDescrsCpu and/or pDynDescrsGpu and/or pLaunchCfgs is NULL.

Parameters
puschRxRssiHndl- Handle to previously created PuschRxRssi instance
pDrvdUeGrpPrmsCpu- Pointer to derived UE groups parameters in CPU memory
pDrvdUeGrpPrmsGpu- Pointer to derived UE groups parameters in GPU memory
nUeGrps- number of UE groups to be processed
nMaxPrb- maximum number of PRBs across UE groups
enableCpuToGpuDescrAsyncCpy- Flag when set enables async copy of CPU descriptor into GPU
pDynDescrsCpu- Pointer to dynamic descriptor in CPU memory
pDynDescrsGpu- Pointer to dynamic descriptor in GPU memory
pLaunchCfgs- Pointer to channel estimation launch configurations
strm- CUDA stream for descriptor copy operation
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPuschRxRssiGetDescrInfo,cuphyCreatePuschRxRssi,cuphySetupPuschRxRssi,cuphyDestroyPuschRxRssi

◆ cuphySetupPuschRxRssi()

cuphyStatus_t cuphySetupPuschRxRssi ( cuphyPuschRxRssiHndl_t  puschRxRssiHndl,
cuphyPuschRxUeGrpPrms_t *  pDrvdUeGrpPrmsCpu,
cuphyPuschRxUeGrpPrms_t *  pDrvdUeGrpPrmsGpu,
uint16_t  nUeGrps,
uint32_t  nMaxPrb,
uint8_t  enableCpuToGpuDescrAsyncCpy,
void *  pDynDescrsCpu,
void *  pDynDescrsGpu,
cuphyPuschRxRssiLaunchCfgs_t *  pLaunchCfgs,
cudaStream_t  strm 
)

Setup cuPHY PUSCH Received Signal Strength Indicator in preparation towards slot execution

Returns CUPHY_STATUS_SUCCESS if setup is successful.

Returns CUPHY_STATUS_INVALID_ARGUMENT if puschRxRssiHndl and/or pDynDescrsCpu and/or pDynDescrsGpu and/or pLaunchCfgs is NULL.

Parameters
puschRxRssiHndl- Handle to previously created PuschRxRssi instance
pDrvdUeGrpPrmsCpu- Pointer to derived UE groups parameters in CPU memory
pDrvdUeGrpPrmsGpu- Pointer to derived UE groups parameters in GPU memory
nUeGrps- number of UE groups to be processed
nMaxPrb- maximum number of PRBs across UE groups
enableCpuToGpuDescrAsyncCpy- Flag when set enables async copy of CPU descriptor into GPU
pDynDescrsCpu- Pointer to dynamic descriptor in CPU memory
pDynDescrsGpu- Pointer to dynamic descriptor in GPU memory
pLaunchCfgs- Pointer to channel estimation launch configurations
strm- CUDA stream for descriptor copy operation
Returns
CUPHY_STATUS_SUCCESS, CUPHY_STATUS_INVALID_ARGUMENT
See also
cuphyStatus_t,cuphyGetErrorName,cuphyGetErrorString,cuphyPuschRxRssiGetDescrInfo,cuphyCreatePuschRxRssi,,cuphySetupPuschRxRsrp,cuphyDestroyPuschRxRssi