Skip to content

Installation on HPC

Mike S Wang edited this page Sep 18, 2024 · 11 revisions

On HPCs (such as NERSC Perlmutter considered below), it is recommended that you install Triumvirate in development mode (see below) in a clean environment without sourcing an external environment, as solutions to installation within external environments are individual to that environment.

🔔 Installation instructions under the cosmodesi environment on NERSC Perlmutter are in this wiki.

Clone the repository

In a clean login-shell session, change to the directory where you want keep the Triumvirate code repository. Clone and enter the repository:

cd <repo-dir>
git clone https://github.com/MikeSWang/Triumvirate.git
cd Triumvirate/

Load software modules

Load the necessary HPC software modules which may include the compiler/package manager and dependencies such as OpenMP, GSL and FFTW.

For NERSC Perlmutter, the following is/are needed:

module load cray-fftw

❕ GSL was treated as a module before on NERSC, but it is now a system-wide library that does not need to be explicitly loaded.

If you use the Python interface of Triumvirate, you also need the Python/Conda module:

module load python

Set up the environment (Python only)

It is recommended that you install the Python package in a separate dedicated Conda environment:

conda create -n <env>
conda activate <env>

Build and install

In general, execute

make clean
make -j install useomp=true

to install an OpenMP-enabled version of Triumvirate.

Replace install above with cppinstall or pyinstall if you only need the C++ or Python interface respectively. See the official documentation for more details.

Checks and validation (Python only)

To check the Python package is installed, see if

pip list | grep 'Triumvirate'

returns a non-empty string.

To check it is installed correctly, use this function in Python:

>>> from triumvirate import validate_installation as vi
>>> vi()
Installation of Triumvirate has been validated.
True

It should return True and print out the message "Installation of Triumvirate has been validated.".