Skip to content

Interaction with the `cosmodesi` environment (NERSC Perlmutter only)

Mike S Wang edited this page Jun 28, 2024 · 12 revisions

The following guide is specific to NERSC Perlmutter and concerns the installation of Triumvirate under the cosmodesi environment. It has been tested on a single user's account and does not guarantee success for other users depending on their set-up; nonetheless it should help.

Set up the environment

In a clean login shell session, source the cosmodesi environment:

source /global/common/software/desi/users/adematti/cosmodesi_environment.sh main

Then, create and activate a new Conda environment (named cosmodesi-trv below):

conda create -n cosmodesi-trv -y
source activate cosmodesi-trv

(source activate instead of conda activate here seems to work).

Load the necessary dependency modules (namely FFTW3):

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. Since the cosmodesi contains Python/Conda, Python also does not need to be loaded as a module.

Install Triumvirate

If you haven't done so already, clone the latest release/current repository with Git, e.g.

git clone https://github.com/MikeSWang/Triumvirate.git

(also remove any previous downloads first in case of contamination).

Enter the cloned repository, and proceed with installation in development mode as usual through make:

make clean
make -j install useomp=true

Validate installation

Run

$ python -c "from triumvirate import validate_installation as vi; vi()"
Installation of Triumvirate has been validated.

which should print out the message above.