cuPHY
0.1
CUDA PHY Layer Acceration Library
|
PHY Layer library header file. More...
#include <cuda_runtime.h>
#include <stdint.h>
#include "cuComplex.h"
#include "cuda_fp16.h"
#include "cuphy.h"
Data Structures | |
struct | _cuphyBfwDataIn |
BFW Input Data. More... | |
struct | _cuphyBfwDataOut |
BFW Output Data. More... | |
struct | _cuphyBfwDbgPrms |
BFW Debug Parameters. More... | |
struct | _cuphyBfwDynPrm |
BFW Dynamic Parameters. More... | |
struct | _cuphyBfwStatPrms |
BFW Static Parameters. More... | |
struct | _cuphyCellStatPrm |
Struct tracks static, per-cell information, needed both for downlink (DL) and uplink (UL). More... | |
struct | _cuphyCsirsCellDynPrm |
struct | _cuphyCsirsDataOut |
struct | _cuphyCsirsDynPrms |
struct | _cuphyCsirsRrcDynPrm |
struct | _cuphyCsirsStatPrms |
struct | _cuphyPdcchCoresetDynPrm |
struct | _cuphyPdcchDataIn |
struct | _cuphyPdcchDataOut |
struct | cuphyPdcchDciPrm_t |
struct | _cuphyPdcchDynPrms |
struct | _cuphyPdcchStatPrms |
struct | _cuphyPdschCellDynPrm |
struct | _cuphyPdschCellGrpDynPrm |
struct | _cuphyPdschCwPrm |
struct | _cuphyPdschDataIn |
struct | _cuphyPdschDataOut |
struct | _cuphyPdschDbgPrms |
struct | _cuphyPdschDmrsPrm |
struct | _cuphyPdschDynPrms |
struct | _cuphyPdschStatPrms |
struct | _cuphyPdschUeGrpPrm |
struct | _cuphyPdschUePrm |
struct | _cuphyPerSsBlockDynPrms |
struct | _cuphyPmW_t |
struct | _cuphyPrachCellStatPrms |
Cell specific static parameters for PRACH receiver processing. More... | |
struct | _cuphyPrachDataIn |
struct | _cuphyPrachDataOut |
struct | _cuphyPrachDynPrms |
struct | _cuphyPrachOccaDynPrms |
PRACH Occasions Dynamic Parameters. More... | |
struct | _cuphyPrachOccaStatPrms |
PRACH Occasions Static Parameter. More... | |
struct | _cuphyPrachStatPrms |
Static parameters to process all cell-group PRACH receiver. More... | |
struct | _cuphyPucchCellDynPrm |
Per cell PUCCH dynamic parameters. More... | |
struct | _cuphyPucchCellGrpDynPrm |
PUCCH Cell group dynamic parameters. More... | |
struct | _cuphyPucchDataIn |
PUCCH Input Data. More... | |
struct | _cuphyPucchDataOut |
PUCCH output data. The UE ordering in buffers is identical to input UCI parameter (pFxUciPrms within cuphyPucchCellGrpDynPrm_t) input ordering. More... | |
struct | _cuphyPucchDbgPrms |
PUCCH Debug Parameters. More... | |
struct | _cuphyPucchDynPrms |
PUCCH Dynamic Parameters. More... | |
struct | _cuphyPucchStatPrms |
Cell-group API. More... | |
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 | _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... | |
struct | _cuphySsbDataIn |
struct | _cuphySsbDataOut |
struct | _cuphySsbDynPrms |
struct | _cuphySsbStatPrms |
struct | _cuphyUciOnPusch |
Uci on pusch parameters. More... | |
struct | cuphyPuschCellGrpDynPrm_t |
Cell group dynamic parameters. More... | |
struct | cuphyPuschDataInOut_t |
PUSCH In/Out Data. More... | |
Macros | |
#define | CUPHY_PRACH_RX_NUM_PREAMBLE (64) |
Typedefs | |
typedef struct cuphyBfwTx * | cuphyBfwTxHndl_t |
typedef struct cuphyCsirsTx * | cuphyCsirsTxHndl_t |
typedef struct cuphyPdcchTx * | cuphyPdcchTxHndl_t |
typedef struct cuphyPdschBatchPrm * | cuphyPdschBatchPrmHndl_t |
typedef struct cuphyPdschTx * | cuphyPdschTxHndl_t |
typedef struct cuphyPrachRx * | cuphyPrachRxHndl_t |
typedef struct cuphyPucchRx * | cuphyPucchRxHndl_t |
typedef struct cuphyPuschRx * | cuphyPuschRxHndl_t |
typedef struct cuphySrsRx * | cuphySrsRxHndl_t |
typedef struct cuphySsbTx * | cuphySsbTxHndl_t |
Enumerations | |
enum | _cuphyBfwTxProcMode { , BFW_PROC_MODE_WITH_GRAPH = 0x1, BFW_MAX_PROC_MODES } |
BFW processing modes. More... | |
enum | _cuphyPdschProcMode { PDSCH_PROC_MODE_NO_GRAPHS = 0, PDSCH_PROC_MODE_GRAPHS = 1, PDSCH_PROC_MODE_SETUP_ONCE_FALLBACK = 2, PDSCH_INTER_CELL_BATCHING = 4, PDSCH_MAX_PROC_MODES } |
enum | _cuphyPrachRxProcMode { , PRACH_PROC_MODE_WITH_GRAPH = 0x1, PRACH_MAX_PROC_MODES } |
PRACH processing modes. More... | |
enum | _cuphyPucchProcMode { , PUCCH_PROC_MODE_FULL_SLOT_GRAPHS = 0x1, PUCCH_MAX_PROC_MODES } |
PUSCH processing modes. More... | |
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... | |
enum | _cuphySrsProcMode { , SRS_PROC_MODE_FULL_SLOT_GRAPHS = 0x1, SRS_MAX_PROC_MODES } |
SRS processing modes. More... | |
Functions | |
cuphyStatus_t | cuphyBatchPdschTx (cuphyPdschTxHndl_t pdschTxHndl, cuphyPdschDynPrms_t *pDynPrms, cuphyPdschBatchPrmHndl_t batchPrmHndl) |
Batch PDSCH workoad. More... | |
cuphyStatus_t | cuphyBatchPuschRx (cuphyPuschRxHndl_t puschRxHndl, cuphyPuschDynPrms_t *pDynPrms, cuphyPuschBatchPrmHndl_t batchPrmHndl) |
Batch PUSCH workoad. More... | |
cuphyStatus_t | cuphyCreateBfwTx (cuphyBfwTxHndl_t *pBfwTxHndl, cuphyBfwStatPrms_t const *pStatPrms, cudaStream_t cuStream) |
Allocates and initializes a cuPHY BFW pipeline. More... | |
cuphyStatus_t | cuphyCreateCsirsTx (cuphyCsirsTxHndl_t *pCsirsTxHndl, cuphyCsirsStatPrms_t const *pStatPrms) |
Allocate and initialize a cuPHY CSI-RS pipeline. More... | |
cuphyStatus_t | cuphyCreatePdcchTx (cuphyPdcchTxHndl_t *pPdcchTxHndl, cuphyPdcchStatPrms_t const *pStatPrms) |
Allocate and initialize a cuPHY PDCCH pipeline. More... | |
cuphyStatus_t | cuphyCreatePdschBatchPrm (cuphyPdschBatchPrmHndl_t *pBatchPrmHndl) |
Allocate a container for PDSCH batch parameters. More... | |
cuphyStatus_t | cuphyCreatePdschTx (cuphyPdschTxHndl_t *pPdschTxHndl, cuphyPdschStatPrms_t const *pStatPrms) |
Allocate and initialize a cuPHY PDSCH pipeline. More... | |
cuphyStatus_t | cuphyCreatePrachRx (cuphyPrachRxHndl_t *pPrachRxHndl, cuphyPrachStatPrms_t const *pStatPrms) |
Allocate and initialize a cuPHY PRACH pipeline. More... | |
cuphyStatus_t | cuphyCreatePucchRx (cuphyPucchRxHndl_t *pPucchRxHndl, cuphyPucchStatPrms_t const *pStatPrms, cudaStream_t cuStream) |
Allocates and initializes a cuPHY PUCCH pipeline. 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 | cuphyCreateSrsRx (cuphySrsRxHndl_t *pSrsRxHndl, cuphySrsStatPrms_t const *pStatPrms, cudaStream_t cuStream) |
Allocates and initializes a cuPHY SRS pipeline. More... | |
cuphyStatus_t | cuphyCreateSsbTx (cuphySsbTxHndl_t *pSsbTxHndl, cuphySsbStatPrms_t const *pStatPrms) |
Allocate and initialize a cuPHY SSB pipeline. More... | |
cuphyStatus_t | cuphyDestroyBfwTx (cuphyBfwTxHndl_t bfwTxHndl) |
Destroys a cuPHY BFW receiver pipeline object. More... | |
cuphyStatus_t | cuphyDestroyCsirsTx (cuphyCsirsTxHndl_t csirsTxHndl) |
Destroy a cuPHY CSI-RS transmit pipeline object. More... | |
cuphyStatus_t | cuphyDestroyPdcchTx (cuphyPdcchTxHndl_t pdcchTxHndl) |
Destroy a cuPHY PDCCH transmit pipeline object. More... | |
cuphyStatus_t | cuphyDestroyPdschBatchPrm (cuphyPdschBatchPrmHndl_t batchPrmHndl) |
Destroy container for PDSCH batch parameters. More... | |
cuphyStatus_t | cuphyDestroyPdschTx (cuphyPdschTxHndl_t pdschTxHndl) |
Destroy a cuPHY PDSCH transmit pipeline object. More... | |
cuphyStatus_t | cuphyDestroyPrachRx (cuphyPrachRxHndl_t pPrachRxHndl) |
Destroy a cuPHY PRACH receiver pipeline object. More... | |
cuphyStatus_t | cuphyDestroyPucchRx (cuphyPucchRxHndl_t pucchRxHndl) |
Destroys a cuPHY PUCCH receiver pipeline object. 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 | cuphyDestroySrsRx (cuphySrsRxHndl_t srsRxHndl) |
Destroys a cuPHY SRS receiver pipeline object. More... | |
cuphyStatus_t | cuphyDestroySsbTx (cuphySsbTxHndl_t ssbTxHndl) |
Destroy a cuPHY SSB transmit pipeline object. More... | |
cuphyStatus_t | cuphyFallbackBufferSetupPdschTx (cuphyPdschTxHndl_t pdschTxHndl, void *pAddr, cudaStream_t strm) |
Fallback single-cell output buffer setup for cuPHY PDSCH pipeline for slot processing. More... | |
cuphyStatus_t | cuphyFallbackBuffersSetupPdschTx (cuphyPdschTxHndl_t pdschTxHndl, void **pAddr, int fallback_cells, cudaStream_t strm) |
Fallback output buffers setup for multiple cells in cell group for cuPHY PDSCH pipeline for slot processing. More... | |
cuphyStatus_t | cuphyRunBfwTx (cuphyBfwTxHndl_t bfwTxHndl, uint64_t procModeBmsk) |
Run cuPHY BFW computation pipeline in specified mode. More... | |
cuphyStatus_t | cuphyRunCsirsTx (cuphyCsirsTxHndl_t csirsTxHndl) |
Run cuPHY CSI-RS pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunPdcchTx (cuphyPdcchTxHndl_t pdcchTxHndl, uint64_t procModeBmsk) |
Run cuPHY PDCCH pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunPdschTx (cuphyPdschTxHndl_t pdschTxHndl, uint64_t procModeBmsk) |
Run cuPHY PDSCH pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunPrachRx (cuphyPrachRxHndl_t pPrachRxHndl) |
Run cuPHY PRACH pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunPucchRx (cuphyPucchRxHndl_t pucchRxHndl, uint64_t procModeBmsk) |
Run cuPHY PUCCH pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunPuschRx (cuphyPuschRxHndl_t puschRxHndl) |
Run cuPHY PUSCH pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunSrsRx (cuphySrsRxHndl_t srsRxHndl, uint64_t procModeBmsk) |
Run cuPHY SRS receive pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphyRunSsbTx (cuphySsbTxHndl_t ssbTxHndl, uint64_t procModeBmsk) |
Run cuPHY SSB pipeline processing in specified mode. More... | |
cuphyStatus_t | cuphySetupBfwTx (cuphyBfwTxHndl_t bfwTxHndl, cuphyBfwDynPrms_t *pDynPrms) |
Setup cuPHY BFW computation pipeline. More... | |
cuphyStatus_t | cuphySetupCsirsTx (cuphyCsirsTxHndl_t csirsTxHndl, cuphyCsirsDynPrms_t *pDynPrms) |
Setup cuPHY CSI-RS pipeline for slot processing. More... | |
cuphyStatus_t | cuphySetupPdcchTx (cuphyPdcchTxHndl_t pdcchTxHndl, cuphyPdcchDynPrms_t *pDynPrms) |
Setup cuPHY PDCCH pipeline for slot processing. More... | |
cuphyStatus_t | cuphySetupPdschTx (cuphyPdschTxHndl_t pdschTxHndl, cuphyPdschDynPrms_t *pDynPrms, cuphyPdschBatchPrmHndl_t const batchPrmHndl) |
Setup cuPHY PDSCH pipeline for slot processing. More... | |
cuphyStatus_t | cuphySetupPrachRx (cuphyPrachRxHndl_t pPrachRxHndl, cuphyPrachDynPrms_t *pDynPrms) |
Setup cuPHY PRACH pipeline for slot processing. More... | |
cuphyStatus_t | cuphySetupPucchRx (cuphyPucchRxHndl_t pucchRxHndl, cuphyPucchDynPrms_t *pDynPrms, cuphyPucchBatchPrmHndl_t const batchPrmHndl) |
Setup cuPHY PUCCH pipeline for slot processing. More... | |
cuphyStatus_t | cuphySetupPuschRx (cuphyPuschRxHndl_t puschRxHndl, cuphyPuschDynPrms_t *pDynPrms, cuphyPuschBatchPrmHndl_t const batchPrmHndl) |
Setup cuPHY PUSCH pipeline for slot processing. 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 | cuphySetupSsbTx (cuphySsbTxHndl_t ssbTxHndl, cuphySsbDynPrms_t *pDynPrms) |
Setup cuPHY SSB pipeline for slot processing. More... | |
cuphyStatus_t | cuphyUpdatePdschDmrsParams (PdschDmrsParams *h_dmrs_params, cuphyPdschDynPrms_t *dyn_params, const cuphyPdschStatPrms_t *static_params, PdschUeGrpParams *pdsch_ue_group_params) |
: Populate PdschDmrsParams struct on the host. More... | |
cuphyStatus_t | cuphyWriteDbgBufSynch (cuphyPuschRxHndl_t puschRxHndl, cudaStream_t cuStream) |
Run cuPHY save Pusch debug buffer. More... | |
cuphyStatus_t | cuphyWriteDbgBufSynchBfw (cuphyBfwTxHndl_t bfwTxHndl, cudaStream_t cuStream) |
Run cuPHY save BFW computation debug buffer. More... | |
cuphyStatus_t | cuphyWriteDbgBufSynchPucch (cuphyPucchRxHndl_t pucchRxHndl, cudaStream_t cuStream) |
Run cuPHY save Pucch debug buffer. More... | |
cuphyStatus_t | cuphyWriteDbgBufSynchSrs (cuphySrsRxHndl_t srsRxHndl, cudaStream_t cuStream) |
Run cuPHY save SRS receiver debug buffer. More... | |
Header file for the cuPHY API
cuphyStatus_t cuphyUpdatePdschDmrsParams | ( | PdschDmrsParams * | h_dmrs_params, |
cuphyPdschDynPrms_t * | dyn_params, | ||
const cuphyPdschStatPrms_t * | static_params, | ||
PdschUeGrpParams * | pdsch_ue_group_params | ||
) |
[in,out] | h_dmrs_params | pointer to DMRS config params struct on the host. This struct is also used in modulation. |
[in] | dyn_params | pointer to dymanic parameters struct, provided during PDSCH setup, on the host. |
[in] | static_params | pointer to static cell parameters, provided during PDSCH creation, on the host. |
[in,out] | pdsch_ue_group_params | pointer to UE group specific parameters needed when CSI-RS parameters are present |