Module hierarchy

We use hierarchal modules on ALICE. This means that only a subset of modules are visible at any one time, depending on which compiler (and mpi variant) you have loaded.

When you change compiler/mpi versions the list of available modules will change.

For example to load the amd optimised compiler, replacing the default gnu compilers:

 module load aocc/4.0.0

Lmod is automatically replacing "gcc/12.3.0-yxgv2bl" with "aocc/4.0.0-zvknyyf".


The following have been reloaded with a version change:
  1) openmpi/4.1.5-fzc7xdf => openmpi/4.1.5-dqjbjdb

If you run module list you will see that the gcc module was unloaded and the aocc/4.0.0 module loaded in it`s place. Also, the opempi module has changed from openmpi/4.1.5-fzc7xdf to openmpi/4.1.5-dqjbjdb. Both of these provide openmpi version 4.1.5, the new version was built with (and for) the aocc compiler so has been loaded in place of the old version (which was built for gcc). This is a feature of the hierarchal modules - when you change compiler (or mpi version), the system will load equivalent modules if they are available for the new compiler/mpi. If there is no equivalent available when you change compiler/mpi, the unsuported module will be unloaded.

If you run the module avail command with the new compiler loaded, you will see the list of modules available for the new compiler:

module av

---------------------------------------------------------- /cm/shared/spack/share/spack/lmod/linux-rocky9-x86_64/openmpi/4.1.5-dqjbjdb/aocc/4.0.0 ----------------------------------------------------------
   amdscalapack/4.0-ijdkyxb    fftw/3.3.10-qxnnlqf (D)

--------------------------------------------------------------------- /cm/shared/spack/share/spack/lmod/linux-rocky9-x86_64/aocc/4.0.0 ---------------------------------------------------------------------
   amdblis/4.0-ub3msoj    amdlibflame/4.0-o4p6nfx    amdlibm/4.0-pohk6qg    aocl-sparse/4.0-xzqwhri    fftw/3.3.10-ahz5dgp    openmpi/4.1.5-dqjbjdb (L)    perl/5.36.0-vlrbces    python/3.10.12-tqmvdsg

------------------------------------------------------------------------ /cm/shared/spack/share/spack/lmod/linux-rocky9-x86_64/Core ------------------------------------------------------------------------
   aocc/4.0.0-zvknyyf (L)    gcc/12.3.0-yxgv2bl (D)    intel-oneapi-compilers/2023.1.0-2lityth

.
.
.