cuPHY
0.1
CUDA PHY Layer Acceration Library
|
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... | |
typedef struct cuphyPuschRxRssi* cuphyPuschRxRssiHndl_t |
cuPHY PUSCH Receiver RSSI metric handle
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
pPuschRxRssiHndl | - Address to return the new PuschRxRssi instance |
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.
puschRxRssiHndl | - handle to previously allocated PuschRxRssi instance |
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.
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 |
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.
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 |
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.
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 |