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.18.0
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.18.0
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}
}