ULHPC Graviton3E Compilers
This tutorial provides a brief introduction to the dependencity management on the ULHPC/AWS cluster.
Dependency management
Spack
We use spack to manage software packages. Spack is a flexible package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. With spack, you can build a package with multiple versions, configurations, platforms, and compilers, and all of these builds can coexist on the same machine.
Setting up spack
git clone https://github.com/spack/spack.git
. spack/share/spack/setup-env.sh
Initializing the environment
Then create and activate a new environment:
cd <PROJECT_FOLDER>
spack env create -d .
spack env activate .
Basic usage
Once you’ve installed and activated your environment with Spack, you can use the following commands to get you started:
spack find # listing installed packages
spack list <PACKAGE_NAME> # searching for packages
spack graph <PACKAGE_NAME> # visualizing dependencies
spack install <PACKAGE_NAME> # installing packages
spack load <PACKAGE_NAME> # loading packages
spack uninstall <PACKAGE_NAME> # uninstalling packages
spack info <PACKAGE_NAME> # getting information about packages
spack install <PACKAGE_NAME>%gcc@12.2.0 # installing packages with dependencies
spack install -j 4 <PACKAGE_NAME> # installing packages in parallel
Micromamba
Micromamba is a minimal installer for the conda ecosystem. It is a standalone binary that installs and manages conda packages. It is drop-in replacement for the conda/mamba executable in environments where only conda package installation is desired.
Setting up micromamba
To install micromamba on the cluster, run the following commands:
# TODO
Initializing the environment
To create and activate a new environment:
micromamba env create -f environment.yml
micromamba activate MultiModalRest
Spack custom repository
Add it to the ~/.spack/repos.yaml
file, for example:
repos:
- $HOME/custom-spack-repo