ipie stands for Intelligent Python-based Imaginary-time Evolution with a focus on simplicity and speed.
ipie inherits a lot of QMC features from pauxy.
Copyright by Joonho Lee (joonholee@g.harvard.edu)
ipie is a Python-based auxiliary-field quantum Monte Carlo (AFQMC) package, designed for simplicity and computational efficiency. The package has seen substantial improvements in modularity, functionality, and compatibility since its first release.
- Ground State Energy Estimation: Calculate ground state energies of ab-initio systems with phaseless AFQMC.
- Distributed Hamiltonian Simulations: Run large-scale simulations distributed across multiple CPUs or GPUs, enabling calculations on systems too large for a single node or GPU card.
- GPU Acceleration: Support both CPU and GPU calculations, with GPU acceleration provided by CuPy/CUDA and CUDA-aware MPI.
- Extended AFQMC Algorithms: Includes free projection AFQMC, finite temperature AFQMC, automatic differentiation for property calculation, and (in the legacy code) AFQMC for electron-phonon systems.
- Simple Data Analysis
- Other legacy features from pauxy
For technical details, see our latest release papers:
A pure-Python wheel is available on PyPI and installs on Linux and Mac OS:
$ pip install ipie
For development, clone the repository:
$ git clone https://github.com/linusjoonho/ipie.git
Navigate to the top-level ipie directory and run:
$ pip install -r requirements.txt $ pip install -e .
To build ipie with MPI support (via mpi4py), install with:
$ pip install -e .[mpi]
This requires a working MPI installation on your machine, which can be installed via conda:
conda install openmpi
Refer to the mpi4py documentation for alternative installation options.
For GPU support, cupy is required and can be installed as outlined on the Cupy website. For CUDA-aware MPI, consider conda-forge.
For GPU cuTensorNet/cuQuantum support (used by the k-point and ISDF code paths), install the GPU extra, which pulls in cuquantum-python-cu12 (CUDA 12, Python >= 3.11) together with cupy:
$ pip install -e .[gpu]
For CUDA 13, install cuquantum-python-cu13 manually instead of the extra.
Unit tests and driver tests are included. To run all tests:
$ pytest -v
More extensive parallel tests are executed in the CI; see .github/workflows/ci.yml for details.
ipie also provides optimized implementations for certain functions involving multiple Slater determinant trials using C/C++ code, which can be built for enhanced performance. To compile these functions into a shared library, navigate to the ipie/lib/wicks folder and use CMake and Make:
$ cmake . $ make
Documentation and tutorials are available at Read the Docs.
