Home

Awesome

<!-- SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 -->

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.13-2.15 and Python 3.8-3.11. We recommend Ubuntu 22.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.19.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 22.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.19.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}
}