Skip to content

Repository files navigation

SAFIRE

Build Status Docs dev

Stochastic Auxiliary-Fields for InteRacting Electrons (SAFIRE) is a flexible, high-performance implementation of the auxiliary-field quantum Monte Carlo (AFQMC) method.

Installation

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.

Dependencies

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

CPU Build

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ make -j10

GPU Build

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=ON
$ make -j10

License

This 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.

Contributors

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

About

General purpose AFQMC code for molecules, solids, lattice models and more.

Resources

Contributing

Stars

19 stars

Watchers

3 watching

Forks

Releases

Contributors

Languages