This post explains how to get started with Dedalus on Aire. For general Aire documentation see here.


:wrench: 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.


:hammer_and_wrench: 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 .

:white_check_mark: Testing the Installation

To test that the environment works, activate the environment and run:

python3 -m dedalus test