Getting started with Dedalus on Aire (Leeds HPC)
This post explains how to get started with Dedalus on Aire. For general Aire documentation see here.
Full Stack Installation
In order to set up Dedalus, we will follow a slightly modified version of the full stack instructions. This will create a self-contained conda environment with everything needed to run Dedalus.
First, load the miniforge module and create a dedalus environment:
module load miniforge
source activate base
mamba create -n dedalus
Then, activate the environment and install Dedalus:
source activate dedalus
mamba install dedalus openmpi ucx
At this point, your Dedalus environment is ready to use. We explicitly install openmpi and ucx to enable Omni-Path support. This is important as it allows us to use Omni-Path by specifying the environment variables:
export OMPI_MCA_pml=ucx
export OMPI_MCA_osc=ucx
which should be set in any job script that uses more than one node. As always, also set these variables:
export OMP_NUM_THREADS=1
export NUMEXPR_MAX_THREADS=1
to ensure Dedalus does not use multithreading by default.
Custom Installation
If a custom version of Dedalus is required then first follow the above instructions. Then clone the required repository, for example:
git clone git@github.com:DedalusProject/dedalus.git
Next install missing dependencies and install Dedalus from source using pip:
mamba install openmpi-mpicc cython setuptools
cd <path/to/dedalus/repo>
CC=mpicc pip3 install --upgrade --force-reinstall --no-deps --no-cache --no-build-isolation .
Testing the Installation
To test that the environment works, activate the environment and run:
python3 -m dedalus test