Sionna PHY and SYS were migrated to PyTorch. TensorFlow is not a dependency anymore.
The API has remained unaffected by this migration, i.e., code that uses only Sionna components should run without any changes. Type annotations are now used consistently throughout the entire codebase. All docstrings have been rewritten and now include short code examples.
Sionna PHY
Config has a new device property that controls which the default device is used for computationObject now inherits from torch.nn.modules.module.ModuleBlock has a newdevice property that controls which device it uses for computationLDPCBPDecoder has a new tensor structure (batch-dim first); no ragged tensors anymore- All tutorial notebooks have been updated to work with Sionna 2.0 and produce identical results
- Many new unit tests
- All neural network weights used in the tutorial notebooks have been recomputed
Sionna SYS
- All tutorial notebooks have been updated to work with Sionna 2.0 and produce identical results
- New unit tests
Migration Guide
- The website has a new layout and references to the API docs or tutorials must be updated
- Migrating existing TensorFlow-based Sionna 1.x code to PyTorch can be easily done with modern agentic coding tools. It is generally sufficient to provide the source code of the new Block together with simple migration instructions as prompt, e.g., “Migrate this code from TensorFlow to PyTorch so that it fits the new Sionna Block structure."
- Existing model weights from TensorFlow will need to be recomputed in PyTorch
- The GPU and memory configuration for TensorFlow is not needed anymore
- Since PyTorch is pickier about device placement of tensors, you need to make sure to copy tensors to CPU before they can be used in plots, etc
Sionna RT
- Version increased to 2.0 to account for the PyTorch migration of PHY and SYS