TRIQS and its applications are provided a la carte: after you have installed the TRIQS library, you will be able to easily install various TRIQS-based applications: impurity solvers, tools for DFT+DMFT calculations, etc.
This page describes the installation of the TRIQS library itself. The installation procedure of the applications is described on their respective sites, under ‘Install’.
We provide pre-compiled versions of triqs and applications of each stable release. If however you would like to try the latest development version you can use the unstable branch instead and compile triqs manually. This will make the latest library improvements and new features available to you. Note however that the development versions may include changes of the API. We use continuous integration to ensure that both the unstable and release branches compile and pass all tests. This is checked for both the TRIQS library and several public (and private) applications.
To guarantee reproducibility in scientific calculations we strongly recommend the use of a stable release of both TRIQS and its applications.
Packaged Versions of TRIQS
We provide various packages for the TRIQS library and some of the major applications. Note that the packages are compiled for generic x86 CPU’s and do not provide optimal performance on modern CPU’s. For optimal performance please consider using easybuild or compilation from source and be sure to enable architecture-specific optimizations.
Ubuntu Debian packages
We provide Debian packages for the Ubuntu LTS Version 22.04 (jammy). They are hosted in a TRIQS 3 specific repository that can be added with:
sudo apt-get update && sudo apt-get install -y software-properties-common apt-transport-https curl
curl -L https://users.flatironinstitute.org/~ccq/triqs3/$DISTRIB_CODENAME/public.gpg | sudo apt-key add -
sudo add-apt-repository "deb https://users.flatironinstitute.org/~ccq/triqs3/$DISTRIB_CODENAME/ /"
To install the required runtime packages and triqs into the system tree at /usr run:
sudo apt-get update && sudo apt-get install -y triqs
For full functionality of the C++2Py Tool, please install clang and the libclang library:
sudo apt-get install clang libclang-dev
We provide Linux and OSX packages for the Anaconda distribution. The packages are provided through the conda-forge repositories. After installing conda we recommend to first create a specific `Anaconda environment<https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html>`_ to avoid conflicts with other packages:
conda create -n triqs
conda activate triqs
You can then install TRIQS with:
conda install -c conda-forge triqs
In case you encounter troubles resolving the dependencies, you can try using mamba instead of conda:
conda install -c conda-forge mamba
mamba install -c conda-forge triqs
We do not recommend using Anaconda for the development of TRIQS applications. Please use the compilation from source instead.
The virtualization software docker can be used to run a TRIQS environment for both Jupyter Notebook and shell access on a variety of operating systems. Once docker is installed, just pull the latest image with:
docker pull flatironinstitute/triqs
and follow the commands on the image-website.
The virtualization software apptainer allows for easy set-up on cluster machines. Ask your cluster administator to install the apptainer software. The TRIQS setup is then as simple as:
apptainer pull docker://flatironinstitute/triqs
which will generate an image file triqs_latest.sif. You can then execute commands inside this image file, e.g.:
apptainer exec triqs_latest.sif python3 -c "from triqs.gf import *"
In order to run your code in parallel you will need to use Open MPI version 4.0.3 to match the version of the apptainer image. You can then run any command in parallel, e.g.:
mpirun -np 2 apptainer exec triqs_latest.sif python3 -c "from triqs.utility import mpi; print(mpi.rank)"
For more information on the use of apptainer in conjunction with docker images please refer to the documentation.
Once your binder session is closed, your work will be lost.
Compiling TRIQS from source using EasyBuild
EasyBuild is a build and installation framework for managing scientific software on HPC systems. We here assume that a working copy of EasyBuild is already available (see installation guide otherwise). TRIQS 3.0.0 is available starting from EasyBuild version 4.3.1. To bring EasyBuild to the latest release (including the latest definitions of all software installable via EasyBuild), type:
To search for the available TRIQS packages, type:
eb -S TRIQS
To install TRIQS or a TRIQS applications, type (for example):
eb --robot TRIQS-3.0.0-foss-2020a-Python-3.8.2.eb
eb --robot TRIQS-cthyb-3.0.0-foss-2020a-Python-3.8.2.eb
This will fetch, compile and install the requested package, as well as all required dependencies (including toolchains, Python, various libraries). Corresponding environment modules will also be generated, thus a package can be loaded using (for example):
module load TRIQS-cthyb/3.0.0-foss-2020a-Python-3.8.2
module load TRIQS-cthyb
for the most recent version.
Compiling TRIQS from source (Advanced)
The TRIQS library relies on a certain number of standard libraries and tools described in the list of requirements. Please pay particular attention to the C++ compilers and to Python virtual environments. We provide explicit version requirements and instructions on how to install these necessary libraries on two standard systems:
Please ensure that you have all the dependencies installed before proceeding further!
We provide hereafter the build instructions in the form of a documented bash script. You can adapt INSTALL_PREFIX, NCORES for your local settings. Note that, contrary to previous versions of TRIQS, the installation directory CMAKE_INSTALL_PREFIX is now mandatory in the cmake configuration.
# Set this variable to your desired install directory
# Set the number of cores for the compilation
# Clone the git repository of triqs
git clone https://github.com/TRIQS/triqs triqs.src
# Use cmake to configure the triqs build process
mkdir -p triqs.build && cd triqs.build
cmake ../triqs.src -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX
# Build, test and install triqs
make -j$NCORES && make test && make install
# Load the triqs installation into your environment
echo "If you want to automatically load triqs into your environment,"
echo "please add the following line to your ~/.bash_profile (or ~/.zprofile):"
echo "source $INSTALL_PREFIX/share/triqs/triqsvars.sh"
To install TRIQS together with several of its applications we also provide a bash script that
automatizes the build and test process
build_triqs.sh. The script
can be edited to customize the compilation of TRIQS and its applications using both environment variables
and cmake configuration options. The script assumes that all dependencies / required libraries are already
installed. Executing the script via bash build_triqs.sh will generate a build_x.log containing the
command-line build output and a build_x_test.log containing the test output.
Caution: The compilation of TRIQS, even if run in serial mode, can temporarily use up to 4 Gigabytes of RAM. The restrictions on the Login-Nodes of certain HPC Machines might not provide sufficient memory for the compilation. Please consider compiling within an interactive session on a Compute-Node or contact the admins of your HPC Machine.
TRIQS provides a small script (triqsvars.sh) to load its installation into your environment variables. Please source it with the proper replacement of INSTALL_PREFIX: