Software¶
Software on the compute nodes is managed with Spack, a
package manager focused on HPC environments. Packages are exposed as
environment modules — list them with module avail and load them with
module load.
Listing and loading modules¶
# list all available modules
$ module avail
----------------------- /storage/apps/opt/rocm-modules ------------------------
rocm/5.1.2 rocm/5.2.4 rocm/5.3.0 rocm/5.3.3 rocm/5.4.1 ...
------- /storage/apps/opt/spack/share/spack/lmod/linux-rocky9-x86_64/Core ------
apptainer/1.3.4 cmake/3.25.3 cuda/11.1.1 cuda/12.1.1 ...
# list all cmake versions
$ module avail cmake
cmake/3.16.9 cmake/3.18.6 cmake/3.19.8 cmake/3.20.6 ... cmake/3.30.5 (D)
# load the default version of cmake
$ module load cmake
# load a specific version of cmake
$ module load cmake/3.16.9
To request additional system-wide software, open a Software request ticket.
Python environments¶
Use venv with pip, or
conda
to manage Python environments without administrator privileges.
Warning
Do not use the Miniconda installer from Anaconda. Use Miniforge instead, which relies on community-maintained channels only. Anaconda has started collecting license fees from academic institutions.
For complex software environments where modules and Python envs aren't enough, containers are usually the cleanest option.