cuPHY
0.1
CUDA PHY Layer Acceration Library
|
This section describes SRS channel estimation computation functions of the cuPHY application programming interface. More...
Data Structures | |
struct | cuphySrsChEstDynPrms |
Typedefs | |
typedef struct cuphySrsChEst * | cuphySrsChEstHndl_t |
Functions | |
cuphyStatus_t | cuphyCreateSrsChEst (cuphySrsChEstHndl_t *pSrsChEstHndl, cuphyTensorPrm_t const *pInterpCoef, uint8_t enableCpuToGpuDescrAsyncCpy, void *pStatDescrCpu, void *pStatDescrGpu, cudaStream_t strm) |
Allocate and initialize a cuPHY SRS channel estimation object. More... | |
cuphyStatus_t | cuphyDestroySrsChEst (cuphySrsChEstHndl_t srsChEstHndl) |
Destroys a cuPHY SRS channel estimation object. More... | |
cuphyStatus_t | cuphyRunSrsChEst (cuphySrsChEstHndl_t srsChEstHndl, cudaStream_t strm) |
Run cuPHY SRS channel estimation. More... | |
cuphyStatus_t | cuphySetupSrsChEst (cuphySrsChEstHndl_t srsChEstHndl, cuphySrsChEstDynPrms_t const *pDynPrms, cuphyTensorPrm_t *pDataRx, cuphyTensorPrm_t *pHEst, cuphyTensorPrm_t *pDbg, uint8_t enableCpuToGpuDescrAsyncCpy, void *pDynDescrsCpu, void *pDynDescrsGpu, cudaStream_t strm) |
Setup cuPHY SRS channel estimation for slot processing. More... | |
cuphyStatus_t | cuphySrsChEstGetDescrInfo (size_t *pStatDescrSizeBytes, size_t *pStatDescrAlignBytes, size_t *pDynDescrSizeBytes, size_t *pDynDescrAlignBytes) |
Helper to compute cuPHY SRS channel estimation descriptor buffer sizes and alignments. More... | |
typedef struct cuphySrsChEst* cuphySrsChEstHndl_t |
cuPHY SRS channel estimation handle
cuphyStatus_t cuphyCreateSrsChEst | ( | cuphySrsChEstHndl_t * | pSrsChEstHndl, |
cuphyTensorPrm_t const * | pInterpCoef, | ||
uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
void * | pStatDescrCpu, | ||
void * | pStatDescrGpu, | ||
cudaStream_t | strm | ||
) |
Allocates a cuPHY channel estimation object and returns a handle in the address provided by the caller.
Returns CUPHY_STATUS_INVALID_ARGUMENT if pSrsChEstHndl
and/or pInterpCoef
and/or pStatDescrCpu
and/or pStatDescrGpu
is NULL.
Returns CUPHY_STATUS_ALLOC_FAILED if a SrsChEst object cannot be allocated
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful
pSrsChEstHndl | - Address to return the new SrsChEst instance |
pInterpCoef | - Pointer to interpolator coefficients tensor parameters |
enableCpuToGpuDescrAsyncCpy | - flag if non-zero enables async copy of CPU descriptor into GPU |
pStatDescrCpu | - Pointer to static descriptor in CPU memory |
pStatDescrGpu | - Pointer to static descriptor in GPU memory |
strm | - CUDA stream for descriptor copy operation |
cuphyStatus_t cuphyDestroySrsChEst | ( | cuphySrsChEstHndl_t | srsChEstHndl | ) |
Destroys a cuPHY SRS channel estimation object that was previously created by cuphyCreateSrsChEst. The handle provided to this function should not be used for any operations after this function returns.
Returns CUPHY_STATUS_INVALID_ARGUMENT if srsChEstHndl
is NULL.
Returns CUPHY_STATUS_SUCCESS if destruction was successful.
srsChEstHndl | - handle to previously allocated SrsChEst instance |
cuphyStatus_t cuphyRunSrsChEst | ( | cuphySrsChEstHndl_t | srsChEstHndl, |
cudaStream_t | strm | ||
) |
Call triggers cuPHY SRS channel estimation compute
Returns CUPHY_STATUS_INVALID_ARGUMENT if srsChEstHndl
is NULL
Returns CUPHY_STATUS_SUCCESS if SrsChEst execution is successful
srsChEstHndl | - Handle of SrsChEst instance which is to be triggered |
strm | - CUDA stream for kernel launch |
cuphyStatus_t cuphySetupSrsChEst | ( | cuphySrsChEstHndl_t | srsChEstHndl, |
cuphySrsChEstDynPrms_t const * | pDynPrms, | ||
cuphyTensorPrm_t * | pDataRx, | ||
cuphyTensorPrm_t * | pHEst, | ||
cuphyTensorPrm_t * | pDbg, | ||
uint8_t | enableCpuToGpuDescrAsyncCpy, | ||
void * | pDynDescrsCpu, | ||
void * | pDynDescrsGpu, | ||
cudaStream_t | strm | ||
) |
Setup cuPHY SRS channel estimation in preparation towards slot execution
Returns CUPHY_STATUS_SUCCESS if setup is successful.
Returns CUPHY_STATUS_INVALID_ARGUMENT if srsChEstHndl
and/or pDataRx
and/or pHEst
and/or pDbg
and/or pDynDescrsCpu
and/or pDynDescrsGpu
and/or pDynPrms
is NULL.
srsChEstHndl | - handle to previously allocated SrsChEst instance |
pDynPrms | - Pointer to dynamic parameters containing the following: |
pDataRx | - Pointer to received data tensor parameters |
pHEst | - Pointer to estimated channel tensor parameters |
pDbg | - Pointer to debug tensor parameters |
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 |
strm | - CUDA stream for descriptor copy operation |
cuphyStatus_t cuphySrsChEstGetDescrInfo | ( | size_t * | pStatDescrSizeBytes, |
size_t * | pStatDescrAlignBytes, | ||
size_t * | pDynDescrSizeBytes, | ||
size_t * | pDynDescrAlignBytes | ||
) |
Computes cuPHY SRS channel estimation 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 SrsChEst APIs
Returns CUPHY_STATUS_INVALID_ARGUMENT if pStatDescrSizeBytes
and/or pStatDescrAlignBytes
and/or pDynDescrSizeBytes
and/or pDynDescrAlignBytes
is NULL
Returns CUPHY_STATUS_SUCCESS if allocation and initialization were successful.
pStatDescrSizeBytes | - Size in bytes of static descriptor |
pStatDescrAlignBytes | - Alignment in bytes of static descriptor |
pDynDescrSizeBytes | - Size in bytes of dynamic descriptor |
pDynDescrAlignBytes | - Alignment in bytes of dynamic descriptor |