Skip to main content

Sionna -- A TensorFlow-based open-source library for simulating the physical layer of wireless communication systems

Project description

Sionna: An Open-Source Library for Next-Generation Physical Layer Research

Sionna™ is an open-source Python library for link-level simulations of digital communication systems built on top of the open-source software library TensorFlow for machine learning.

The official documentation can be found here.

Installation

Sionna requires Python and Tensorflow. In order to run the tutorial notebooks on your machine, you also need JupyterLab. You can alternatively test them on Google Colab. Although not necessary, we recommend running Sionna in a Docker container.

Sionna requires TensorFlow 2.10 or newer and Python 3.6-3.9. We recommend Ubuntu 20.04. Earlier versions of TensorFlow may still work but are not recommended because of known, unpatched CVEs.

To run the ray tracer on CPU, LLVM is required by DrJit. Please check the installation instructions for the LLVM backend.

We refer to the TensorFlow GPU support tutorial for GPU support and the required driver setup.

Installation using pip

We recommend to do this within a virtual environment, e.g., using conda. On macOS, you need to install tensorflow-macos first.

1.) Install the package

    pip install sionna

2.) Test the installation in Python

    python
    >>> import sionna
    >>> print(sionna.__version__)
    0.15.1

3.) Once Sionna is installed, you can run the Sionna "Hello, World!" example, have a look at the quick start guide, or at the tutorials.

The example notebooks can be opened and executed with Jupyter.

For a local installation, the JupyterLab Desktop application can be used which also includes the Python installation.

Docker-based installation

1.) Make sure that you have Docker installed on your system. On Ubuntu 20.04, you can run for example

    sudo apt install docker.io

Ensure that your user belongs to the docker group (see Docker post-installation)

    sudo usermod -aG docker $USER

Log out and re-login to load updated group memberships.

For GPU support on Linux, you need to install the NVIDIA Container Toolkit.

2.) Build the Sionna Docker image. From within the Sionna directory, run

    make docker

3.) Run the Docker image with GPU support

    make run-docker gpus=all

or without GPU:

    make run-docker

This will immediately launch a Docker image with Sionna installed, running JupyterLab on port 8888.

4.) Browse through the example notebooks by connecting to http://127.0.0.1:8888 in your browser.

Installation from source

We recommend to do this within a virtual environment, e.g., using conda.

1.) Clone this repository and execute from within its root folder

    make install

2.) Test the installation in Python

    >>> import sionna
    >>> print(sionna.__version__)
    0.15.1

License and Citation

Sionna is Apache-2.0 licensed, as found in the LICENSE file.

If you use this software, please cite it as:

@article{sionna,
    title = {Sionna: An Open-Source Library for Next-Generation Physical Layer Research},
    author = {Hoydis, Jakob and Cammerer, Sebastian and {Ait Aoudia}, Fayçal and Vem, Avinash and Binder, Nikolaus and Marcus, Guillermo and Keller, Alexander},
    year = {2022},
    month = {Mar.},
    journal = {arXiv preprint},
    online = {https://arxiv.org/abs/2203.11854}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sionna-0.15.1-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file sionna-0.15.1-py3-none-any.whl.

File metadata

  • Download URL: sionna-0.15.1-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.1 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.12.0 keyring/23.9.1 rfc3986/2.0.0 colorama/0.4.5 CPython/3.10.12

File hashes

Hashes for sionna-0.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed4e648872e35316aa0703385268a7e934b98f5695e4931c95abd060394cf05f
MD5 fdfc921d4be9b0729df4db73df77f2f2
BLAKE2b-256 a846e3fb85e68fa72c8515a3885f57d8407dab1f9b70a34a2158126966a9d117

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page