Skip to content

Repository files navigation

cu3GPP38.901: A GPU-Accelerated 3GPP TR 38.901 Channel Generator

3GPP Spatial Channel Model

The 3GPP channel model is the gold standard for channel modeling used in the design and simulation of wireless systems. A high-level language implementation of this channel model typically results in high memory consumption and long execution times. This is an open-source package for a CUDA-accelerated implementation of the 3GPP Spatial Channel Model defined in TR 38.901, which relaxes both these constraints. The reference document for the implementation of the 3GPP channel model is Version 4 of the Release 19 channel model defined in https://www.3gpp.org/ftp/Specs/archive/38_series/38.901/38901-j40.zip.

Vision

To develop a high-performance, GPU-accelerated 3GPP channel model implementation using highly optimized CUDA C/C++ kernels, with the following design objectives:

  • CUDA C++ for heavy computation
  • GPU acceleration for large-scale simulations
  • Nanobind for Python bindings
  • Python-first user experience
  • Modular architecture
  • Future extensibility toward Digital Twins, NTN, and Near field MIMO systems.

The primary users will be Python developers who interact with high-level APIs, while the computational backend remains in CUDA/C++. For more please check the release notes of each release.

Technical Details

  • Programming Language:
    • C++20 + CUDA
  • Build:
    • CMake
  • GPU:
    • cuBLAS
    • cuSOLVER
    • cuRAND
    • Thrust
    • CUB
    • cuFFT
  • Python:
    • pybind11 (or nanobind)
  • Visualization:
    • Matplotlib
    • Plotly
  • Testing:
    • GoogleTest
    • PyTest
  • Validation:
    • Compare against results submitted by other companies for channel calibration.

Request for Colaboration

I am an independent researcher from India and am not supported by any external funding agency. If you find this work useful, please consider citing it in your publications.

Vikram Singh, "cu3GPP38.901: A GPU-Accelerated 3GPP TR 38.901 Channel Generator using highly memory optimized CUDA C/C++ kernels" arXiv:26xx.yyyyy [cs.IT]

Feature requests, suggestions, and contributions are always welcome. If there is a capability that you would like to see in this project, please open a feature request or get in touch with me directly. I would also be delighted to collaborate with researchers and developers working on related problems. Every contribution, no matter how small, can benefit a much larger community. A feature developed for a specific use case today may become valuable to hundreds of researchers and engineers tomorrow.

Thank you for supporting open research and open-source development.

About

This is an open source package for CUDA accelerated implementation of 3GPP Spatial Channel Model defined in TR 38.901

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors