Stochastic Auxiliary-Fields for InteRacting Electrons (SAFIRE) is a flexible, high-performance implementation of the auxiliary-field quantum Monte Carlo (AFQMC) method.
Next, follow one of the sections below depending on whether you want a CPU-only build, or a GPU-accelerated build.
Also, see the afqmctools Python package Readme to install the afqmctools Python package.
For a CPU-only build:
- CMake 3.18+
- a modern C++ compiler with C++20 support. LLVM or GCC are recommended.
- MPI (OpenMPI or other MPI implementation)
- HDF5 (parallel HDF5 recommended)
- Boost 1.61.0+
- BLAS library
- LAPACK library
- Intel oneAPI MKL (for optimized sparse matrix operations on CPU)
The build system will fetch the following dependencies automatically if they are not installed
- nda (tensor branch)
- cxxopts
- spdlog
- cpptrace
- nlohmann_json
- Catch2 (for tests)
For a GPU build, the following are also required:
- CUDA 12+
- CuTENSOR
- CCCL (fetched automatically)
- A GPU with compute compatability >=8
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ make -j10$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=ON
$ make -j10This project is licensed under the Apache License, Version 2.0.
Portions of this software are derived from the QMCPACK project, which was originally distributed under the University of Illinois/NCSA Open Source License. The full text of that license can be found in LICENSES/NCSA.txt.
The core developers of SAFIRE are listed below. For the full list of contributors, see CONTRIBUTORS.md.
![]() (Brandon) Kyle Eskridge |
![]() Ryan Levy |
![]() Miguel Morales |
![]() Peter Rosenberg |
![]() Lukas Weber |
![]() Paul Yang |





