Examples¶
Environment modules¶
On MUSICA, Lmod is the tool used to manage environment modules. For more detailed info, please refer to the Lmod documentation
. The basic commands
should be quite familiar to users of other module tools:
- Use
module availto find installations of a package. - Use
module loadto load the module. - Use
module listto list all the loaded modules. - Use
module purgeto remove all the loaded modules. - Use
module showto inspect the module.
Starting EESSI¶
EESSI is automatically initialised on login, at the moment this is set to load a specific release. If you ssh into a node that is configured to load EESSI automatically, you will likely be greeted with a line of text that contains info about what version is currently loaded. To load a specific version of easy, on e can do:
ml load EESSI/2023.06
If this succeeds, you should be able to see what EESSI releases can be loaded
with module avail. For a more detailed introduction to how the environment is set up to run EESSI,
please refer to the online documentation.
Warning
EESSI is loaded as a sticky module, module purge will not remove it from the
environment. To remove it one needs to do module --force purge.
Getting an overview¶
The EESSI project itself consists of three layers. Each of
the sections below highlights a few aspects of each layer, and how the
ASC software stack is set up to follow a similar pattern. First, let's
get an overview of the available modules, this can be achieved by typing
ml ov. The output should look something like the following:
------------------------------------------------------------------------------------ System ------------------------------------------------------------------------------------
CUDA (4) GnuTLS (2) hwloc (2) libdeflate (2) libgcrypt (1) libgpg-error (1) libpciaccess (3) OpenPGM (2) OpenSSL (2)
--------------------------------------------------------------------------------- Mathematics ----------------------------------------------------------------------------------
ArviZ (1) CoinUtils (2) GMP (2) KaHIP (1) MathWorksServiceHost (1) MPFR (2) ParMETIS (1) SCOTCH (2) sympy (2)
Cbc (2) Eigen (2) gmpy2 (2) libcerf (1) MATLAB (1) MUMPS (2) pystencils (1) Shapely (1) Voro++ (2)
Cgl (2) ELPA (1) gmsh (1) libxsmm (1) METIS (2) Octave (1) Qhull (2) statsmodels (2)
Clp (2) GEOS (2) ISL (1) magma (1) MPC (2) Osi (2) ScaFaCoS (2) SUNDIALS (1)
------------------------------------------------------------------------------------- CAE --------------------------------------------------------------------------------------
occt (1) OpenFOAM (5) STAR-CCM+ (1) Zoltan (1)
------------------------------------------------------------------------------------ Tools -------------------------------------------------------------------------------------
ANSYS (1) Deprecated (1) git (2) IPython (2) maturin (3) parallel (1) setuptools-rust (2) wrapt (2)
archspec (3) EasyBuild (10) GLPK (2) ITSTool (1) meson-python (3) patchelf (2) SlurmViewer (1) xxd (2)
arrow-R (1) ecBuild (1) googletest (2) jedi (2) Meson (4) PDAL (1) snakemake (2) xxHash (1)
bokeh (1) ecCodes (2) groff (1) jupyter-server (1) ml_dtypes (1) pigz (1) Szip (2) yaml-cpp (1)
ccache (1) elfx86exts (1) gtk-doc (1) JupyterLab (1) MLflow (2) poetry (2) tmux (1) yelp-tools (1)
cffi (2) Emacs (1) gzip (2) JupyterNotebook (1) ncdu (1) pre-commit (1) toil-cwl (1) Z3 (3)
coverage (1) enchant-2 (1) hatch-jupyter-builder (1) libarchive (3) Neovim (1) PuLP (2) TOML-Fortran (2) Zip (1)
cpio (1) expat (3) hatchling (2) libavif (1) networkx (2) py-cpuinfo (1) umap-learn (1)
cppy (2) expecttest (1) hiredis (1) libde265 (2) Nextflow (2) pytest-flakefinder (1) unifdef (1)
cryptography (2) flit (2) HPL (1) libheif (2) Ninja (3) pytest-rerunfailures (1) UnZip (3)
cURL (3) gawk (1) hunspell (1) lit (2) numactl (2) pytest-shard (1) Vim (1)
cwltool (1) gengetopt (1) hypothesis (2) LRBinner (1) p7zip (1) re2c (2) virtualenv (2)
DB (1) Ghostscript (2) ipympl (1) mallard-ducktype (1) Pandoc (1) rpy2 (1) websockify (1)
----------------------------------------------------------------------------------- Numerics -----------------------------------------------------------------------------------
AOCL-BLAS (1) arpack-ng (2) BLIS (2) cuDNN (1) FFTW (3) GSL (2) imkl (1) OpenBLAS (2) Pint (2) ScaLAPACK (2) SuiteSparse (2)
Armadillo (2) beagle-lib (1) CGAL (1) FFTW.MPI (2) Ginkgo (1) Hypre (2) NLopt (2) PETSc (2) qrupdate (1) SLEPc (1) SuperLU_DIST (2)
----------------------------------------------------------------------------------- Compiler -----------------------------------------------------------------------------------
Go (1) LLVM (4) nvidia-compilers (2)
---------------------------------------------------------------------------------- Toolchain -----------------------------------------------------------------------------------
foss (3) gfbf (3) gomkl (1) gompi (3) NVHPC (2)
...
Note
Software (N) is the number of software installations present
EESSI project install¶
In order to test out a toolchain before making it globally available, the software team at ASC will often do a test installation and try to weed out bugs.
First we define the location for the testing stack
export EESSI_PROJECT_INSTALL=/opt/adm/asc-software-stack/alice
Then we load clear the module environment and load a recent version of EasyBuild
ml --force-purge && ml load ASC/2025.06
ml load EESSI-extend
Search for the toolchain we want
eb --search intel-2025
Build toolchain, skipping the sanity checks (we know these fail, we want to take a closer look at why).
eb -r --accept-eula-for=Intel --skip-sanity-check intel-2025a.eb
After successful compilation, we can then view the newly installed module with:
> ml avail intel
----------------------------------------------------------- /opt/adm/asc-software-stack/alice/versions/2025.06/software/linux/x86_64/amd/zen4/modules/all ------------------------------------------------------------
impi/2021.15.0-intel-compilers-2025.1.1 intel-compilers/2025.1.1 intel/2025a