Installation
The quatrex package is an ab initio quantum transport simulator
written in Python. We leverages Python's core CPU and GPU array
frameworks (numpy and
cupy) as well as associated frameworks and
libraries (scipy,
mpi4py,
numba). The quatrex codebase is
designed to be extensible, portable, and highly performant. It shows
excellent scaling and sustained exascale performance on different
supercomputers.1
Here we provide instructions for setting up a basic environment for
running quantum transport simulations with quatrex.
Note
We currently only provide instructions for installing quatrex from
source and with conda.
First, clone the repository
We provide several example configurations, input files, and reference
outputs that we use for testing and development. You can find them in
the examples/ directory.
We track this data using Git LFS, so make sure to install Git LFS and pull the files after cloning the repository:
You can then create a conda environment from the provided
environment-dev.yml file
This basic environment includes numpy and scipy as dependencies. It
does not include mpi4py and cupy by default. The reason for this is
that you may want to leverage your system's MPI and GPU backend. This is
especially the case in HPC environments.
To leverage your system's backends, you will have to install mpi4py
and cupy from source (e.g. via PyPI):
If you do not care about using your system's backend, you can install
mpi4py and cupy from the conda-forge channel:
conda install -c conda-forge mpi4py mpich
conda install -c conda-forge cupy cuda-version=XX.X # (for GPU support)
Finally, you can install quatrex from source:
-
N. Vetsch, et al., Ab-initio Quantum Transport with the GW Approximation, 42,240 Atoms, and Sustained Exascale Performance, arXiv:2508.19138 (2025). ↩