Environment Modules¶
There are several conflicting software packages installed in the OBLIVION supercomputer. In order for the user to use the adequate software there is a need to set the paths for the binaries, libraries, manuals, and includes. Either the user sets these paths for each package or the system provides an easy way to set those paths. The latter is the preferable and makes use of environment modules.
1. Toolchains¶
1.1 Definitions¶
Toolchain is a pack of compiler(s) and libraries bundled together to provide a specific functionality, say, running applications using a MPI distribution compiled against GCC (toolchain gompi) or Intel compilers (toolchain iimpi) or use linear algebra libraries with a MPI API compiled with GCC (toolchain foss).
Toolchain foss includes the following software:
C, C++ and Fortran compilers: GCC
MPI implementation: OpenMPI
OpenBLAS and LAPACK implementation: FlexiBLAS
Parallel, distributed LAPACK implementation: ScaLAPACK
Fourier transforms: FFTW
Toolchain intel includes the following software:
C, C++ and Fortran compilers (icc/icpc/ifort)
GCC as a base for the Intel compilers
MPI implementation (Intel MPI)
BLAS, LAPACK and FFTW: Intel MKL
Sub-toolchains:
gompi (GCC + OpenMPI)
iompi (Intel compilers + OpenMPI)
iimpi (Intel compilers + Intel MPI (MPICH))
imkl (Intel Math Kernel Library)
1.2 Toolchains and Sub-toolchains installed in OBLIVION¶
Toolchains:
foss: 2023a, 2024a, 2025a;
intel: 2023a, 2024a, 2025a.
Sub-toolchains:
gompi: 2023a, 2024a, 2025a, 2025b
iimpi: 2023a, 2024a, 2025a, 2025b
iompi: 2023a, 2024a, 2025a, 2025b
intel-compilers: 2023.1.0, 2024.2.0, 2025.1.1, 2025.15.0
imkl: 2023.1.0, 2023.2.0, 2024.2.0, 2025.1.0
2. Core Modules¶
The user sets the software environment by loading the modules associated to the needed packages. This is easily done by using module load or module add. Software dependences are set in the same way. OBLIVION uses a hierarchical module naming scheme (HMNS) in which modules availability follows the software hierarchy Core/Compiler/MPI.
Core refers to the basic core modules that have to be loaded in order to have access to next levels of software compiled against a specific compiler (e.g., GCC 12.3.0, 13.3.0, or 14.2.0; intel-compilers 2023.1.0, 2024.2.0 or 2025.1.1) and a MPI API (e.g., OpenMPI 4.1.5, 5.0.3, 5.0.7; MPICH 4.2.1, 4.2.2; Intel MPI 2021.9.0, 2021.13.0, or 2021.15.0 - the latter were compiled with intel-compilers 2023.1.0, 2024.2.0, 2025.1.1, respectively). It also includes modules of software that i) are initially compiled with the system/machine compiler (e.g., binutils, gettext, M4, ncurses, pkgconf, zlib), and ii) are not being built but instead are directly installed into the stack (e.g., Anaconda, ANSYS_CFD).
After logging into the machine the user should execute the command module --nx av (av for available software, –nx to prevent the display of the extensions list) obtaining the list of core modules (including the toolchains and sub-toolchains):
The list displays the toolchains (foss and intel) and the sub-toolchains (GCC, gompi, iompi, intel-compilers, iimpi, and imkl) availables to the users. It also displays software that do not belong to these categories and is available in the system, e.g., ANACONDA, JAVA, Julia, etc..
3. Loading Modules¶
3.1 GCC Based Modules¶
Let us assume that the user wants to use software compiled with GCC-13.3.0 he must load the corresponding modules
module load GCC/13.3.0
To learn the loaded modules use
module list
obtaining
Currently Loaded Modules:
1) GCCcore/13.3.0 2) zlib/1.3.1 3) binutils/2.42 4) GCC/13.3.0
Loading the module GCC/13.3.0 gives access to other modules that only now became available. To see those modules use “module –nx av” obtaining
--------------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCC/13.3.0 ---------------------------------
ASE/3.23.0 GEOS/3.12.2 Simple-DFTD3/1.2.1 mrcfile/1.5.4
ASE/3.24.0 GSL/2.8 TOML-Fortran/0.4.2 mstore/0.3.0
ASE/3.25.0 (D) HTSlib/1.21 bokeh/3.6.0 multiprocess/0.70.17
Arrow/17.0.0 MAFFT/7.526-with-extensions btllib/1.7.5 networkx/3.4.2
BBMap/39.19 MPICH/4.2.2 dask/2024.9.1 pybind11/2.12.0
BCFtools/1.21 OpenBLAS/0.3.27 flook/0.8.4 scikit-learn/1.5.2
BEDTools/2.31.1 OpenMPI/5.0.3 imageio/2.36.1 spglib-python/2.5.0
BLIS/1.0 Osi/0.108.11 json-fortran/9.0.3 statsmodels/0.14.4
BamTools/2.5.2 PyTensor/2.30.3 kim-api/2.4.1 sympy/1.13.3
Boost.Python-NumPy/1.85.0 Pysam/0.22.1 libPSML/2.1.0 tensorboard/2.18.0
Boost.Python/1.85.0 R/4.4.2 libcint/6.1.2 test-drive/0.5.0
Boost/1.85.0 SAMtools/1.21 libfdf/0.5.1 wrapt/1.16.0
CoinUtils/2.11.12 SOCI/4.0.3 libxc/6.2.2 xarray/2024.11.0
DIAMOND/2.1.11 SPAdes/4.1.0 lpsolve/5.5.2.11 xmlf90/1.6.3
Exonerate/2.4.0 SciPy-bundle/2024.05 matplotlib/3.9.2
FFTW/3.3.10 Seaborn/0.13.2 mctc-lib/0.3.1
FlexiBLAS/3.4.4 Shapely/2.0.6 ml_dtypes/0.5.0
------------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCCcore/13.3.0 -------------------------------
ANTLR/2.7.7 Python-bundle-PyPI/2024.06 libepoxy/1.5.10
ATK/2.38.0 Python/3.12.3 libevent/2.1.12
Abseil/20240722.0 Qhull/2020.2 libfabric/1.21.0
Autoconf/2.72 (D) Qt5/5.15.16 libffi/3.4.5
Automake/1.16.5 Qt6/6.7.2 libgd/2.3.3
Autotools/20231222 RE2/2024-07-02 libgeotiff/1.7.3
BWA/0.7.18 RapidJSON/1.1.0-20240815 libgit2/1.8.1
Bazel/6.5.0-Java-11 Redis/7.4.1 libglvnd/1.7.0
BeautifulSoup/4.12.3 Rust/1.78.0 libheif/1.19.5
Bison/3.8.2 (D) SDL2/2.30.6 libiconv/1.17
Blosc/1.21.6 SIONlib/1.7.7-tools libidn2/2.3.8
Blosc2/2.17.0 SIP/6.10.0 libjpeg-turbo/3.0.1
Brotli/1.1.0 SQLAlchemy/2.0.36 libogg/1.3.5
Brunsli/0.1 SQLite/3.45.3 libopus/1.5.2
CFITSIO/4.4.1 SWIG/4.2.1 libpciaccess/0.18.1
CGAL/5.6.1 Szip/2.1.1 libpng/1.6.43
CMake/3.29.3 Tcl/8.6.14 libreadline/8.2
...
---------------------------------------- /mnt/beegfs/apps/modules/all/Core -----------------------------------------
Anaconda3/2025.06-1 OpenSSL/3 (D) iimkl/2025a (D)
Autoconf/2.71 Perl/5.38.0 iimpi/2023a
Bison/3.8.2 ant/1.10.12-Java-17 iimpi/2024a
FastQC/0.11.9-Java-11 ant/1.10.14-Java-11 (D) iimpi/2025a (D)
GCC/12.3.0 binutils/2.40 imkl/2023.1.0
GCC/13.3.0 (L) binutils/2.42 imkl/2023.2.0
GCC/14.2.0 (D) ecBuild/3.8.0 imkl/2024.2.0
GCCcore/12.3.0 ffnvcodec/12.0.16.0 imkl/2025.1.0 (D)
GCCcore/13.3.0 (L) ffnvcodec/12.1.14.0 intel-compilers/2023.1.0
GCCcore/14.2.0 (D) ffnvcodec/12.2.72.0 (D) intel-compilers/2024.2.0
GPAW-setups/24.1.0 flex/2.6.4 intel-compilers/2025.1.1 (D)
GPAW-setups/24.11.0 (D) foss/2023a intel/2023a
IJulia/1.29.0-Julia-1.11.6 foss/2024a intel/2024a
Java/11.0.27 (11) foss/2025a (D) intel/2025a (D)
Java/17.0.15 (D:17) gettext/0.21.1 iompi/2023a
...
Where:
L: Module is loaded
D: Default Module
Here one can see (from bottom to top) the list of sytem Core modules indicating those loaded with (L), followed by the general software compiled with GCC-13.3.0 becoming the core software (GCCcore) against which all the packages are compiled, and, the software compiled using the GCCcore software, e.g., MPICH and OpenMPI-5.0.3. Note that GCC-13.3.0 is the base compilers collection for 2024a toolchains.
To have access to software compiled with OpenMPI-5.0.3, the user needs to use module load OpenMPI/5.0.3. The list of packages loaded is now given by module list:
Currently Loaded Modules:
1) GCCcore/13.3.0 6) XZ/5.4.5 11) libevent/2.1.12 16) UCC/1.3.0
2) zlib/1.3.1 7) libxml2/2.12.7 12) UCX/1.16.0 17) OpenMPI/5.0.3
3) binutils/2.42 8) libpciaccess/0.18.1 13) libfabric/1.21.0
4) GCC/13.3.0 9) hwloc/2.10.0 14) PMIx/5.0.2
5) numactl/2.0.18 10) OpenSSL/3 15) PRRTE/3.0.5
Now, not only OpenMPI is loaded, but also UCX, PMIx, etc., are loaded. UCX stands for Unified Communication X and is “an optimized production communication framework for modern, high-bandwidth and low-latency networks” (see https://github.com/openucx/ucx) meaning for infiniband. PMIx stands for Process Management Interface - Exascale and enables the interaction of MPI applications with Resource Managers like SLURM (see https://pmix.github.io)
Let us now change the enviromment to one using GCC-14.2.0. Hence, load the module GCC/14.2.0 (use module load GCC/14.2.0) and immediately it is seen
Inactive Modules:
1) OpenMPI/5.0.3 3) PRRTE/3.0.5 5) hwloc/2.10.0 7) libxml2/2.12.7
2) PMIx/5.0.2 4) XZ/5.4.5 6) libfabric/1.21.0
Due to MODULEPATH changes, the following have been reloaded:
1) UCC/1.3.0 2) binutils/2.42 3) libevent/2.1.12 4) libpciaccess/0.18.1 5) zlib/1.3.1
The following have been reloaded with a version change:
1) GCC/13.3.0 => GCC/14.2.0 3) UCX/1.16.0 => UCX/1.18.0
2) GCCcore/13.3.0 => GCCcore/14.2.0 4) numactl/2.0.18 => numactl/2.0.19
So, what happen? Basically the system is smart enough to understand that the dependences and core files in the previous environment are incompatible with GCC/14.2.0 and replaces or deactivates modules. Check the loaded modules with module list
Currently Loaded Modules:
1) GCCcore/14.2.0 3) GCC/14.2.0 5) libpciaccess/0.18.1 7) libevent/2.1.12 9) UCX/1.18.0
2) binutils/2.42 4) zlib/1.3.1 6) OpenSSL/3 8) numactl/2.0.19 10) UCC/1.3.0
Inactive Modules:
1) XZ/5.4.5 3) hwloc/2.10.0 5) PMIx/5.0.2 7) OpenMPI/5.0.3
2) libxml2/2.12.7 4) libfabric/1.21.0 6) PRRTE/3.0.5
No longer have access to OpenMPI-5.0.3 and associated frameworks. Let’s check what is available (use module --nx av)
------------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCC/14.2.0 --------------------------------
AOCL-BLAS/5.0 FlexiBLAS/3.4.5 Seaborn/0.13.2 networkx/3.5
ASE/3.25.0 GEOS/3.13.1 Shapely/2.1.1 pybind11/2.13.6
ASE/3.26.0 (D) GSL/2.8 bokeh/3.7.3 scikit-learn/1.7.0
BLIS/1.1 OpenBLAS/0.3.29 dask/2025.5.1 spglib-python/2.6.0
Boost.Python-NumPy/1.88.0 OpenMPI/5.0.7 libxc/7.0.0
Boost/1.88.0 SAMtools/1.22.1 matplotlib/3.10.3
FFTW/3.3.10 SciPy-bundle/2025.06 mrcfile/1.5.4
----------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCCcore/14.2.0 ------------------------------
Abseil/20250512.1 PyZMQ/27.0.0 libdeflate/1.24
Autoconf/2.72 (D) Python-bundle-PyPI/2025.04 libevent/2.1.12 (L)
Automake/1.17 Python/3.13.1 libfabric/2.0.0
Autotools/20240712 Qhull/2020.2 libffi/3.4.5
BeautifulSoup/4.13.4 Redis/8.0.2 libgeotiff/1.7.4
Bison/3.8.2 (D) Rust/1.85.1 libheif/1.19.8
Blosc/1.21.6 SIONlib/1.7.7-tools libiconv/1.18
Blosc2/2.19.0 SQLite/3.47.2 libidn2/2.3.7
Brotli/1.1.0 SWIG/4.3.1 libjpeg-turbo/3.1.0
Brunsli/0.1 Szip/2.1.1 libpciaccess/0.18.1 (L)
CFITSIO/4.6.2 Tcl/8.6.16 libpng/1.6.48
CMake/3.31.3 Tk/8.6.16 libpsl/0.21.5
Catch2/2.13.10 Tkinter/3.13.1 libreadline/8.2
Catch2/3.8.1 (D) UCC/1.3.0 (L) libsodium/1.0.20
Check/0.15.2 UCX/1.18.0 (L) libtirpc/1.3.6
...
Perl-bundle-CPAN/5.40.0 json-c/0.18 xorg-macros/1.20.2
Perl/5.40.0 (D) jupyter-server/2.16.0 xxd/9.1.1457
Pillow/11.3.0 libaec/1.1.4 zlib/1.3.1 (L,D)
Pint/0.24.4 libarchive/3.7.7 zstd/1.5.6
PyYAML/6.0.2 libde265/1.0.16
--------------------------------------- /mnt/beegfs/apps/modules/all/Core ---------------------------------------
Anaconda3/2025.06-1 OpenSSL/3 (L,D) iimkl/2025a (D)
Autoconf/2.71 Perl/5.38.0 iimpi/2023a
Bison/3.8.2 ant/1.10.12-Java-17 iimpi/2024a
FastQC/0.11.9-Java-11 ant/1.10.14-Java-11 (D) iimpi/2025a (D)
GCC/12.3.0 binutils/2.40 imkl/2023.1.0
GCC/13.3.0 binutils/2.42 imkl/2023.2.0
GCC/14.2.0 (L,D) ecBuild/3.8.0 imkl/2024.2.0
GCCcore/12.3.0 ffnvcodec/12.0.16.0 imkl/2025.1.0 (D)
...
Where:
L: Module is loaded
D: Default Module
Again, besides the core modules, there is a huge list of packages compiled with GCC-14.2.0 including OpenMPI-5.0.7, OpenBLAS, LAPACK, etc.. Load OpenMPI/5.0.7 (module load OpenMPI/5.0.7) obtaining
Activating Modules:
1) OpenMPI/5.0.7 3) PRRTE/3.0.8 5) hwloc/2.11.2 7) libxml2/2.13.4
2) PMIx/5.0.6 4) XZ/5.6.3 6) libfabric/2.0.0
and list the loaded modules (module list)
Currently Loaded Modules:
1) GCCcore/14.2.0 6) OpenSSL/3 11) XZ/5.6.3 16) PRRTE/3.0.8
2) binutils/2.42 7) libevent/2.1.12 12) libxml2/2.13.4 17) OpenMPI/5.0.7
3) GCC/14.2.0 8) numactl/2.0.19 13) hwloc/2.11.2
4) zlib/1.3.1 9) UCX/1.18.0 14) libfabric/2.0.0
5) libpciaccess/0.18.1 10) UCC/1.3.0 15) PMIx/5.0.6
and see what is available (module --nx av)
------------------ /mnt/beegfs/apps/modules/all/MPI/GCC/14.2.0/OpenMPI/5.0.7 -------------------
Armadillo/14.6.0 OSU-Micro-Benchmarks/7.5 Wannier90/3.1.0
Biopython/1.85 OpenMM/8.3.0 arpack-ng/3.9.1
CDO/2.5.2 PETSc/3.23.5 buildenv/default
Cartopy/0.24.1 PLUMED/2.9.4 dtcmp/1.1.5
DIRAC/25.0 ParMETIS/4.0.3 ecCodes/2.43.0
ELPA/2025.01.002 PnetCDF/1.14.0 h5py/3.14.0
FFTW.MPI/3.3.10 PyStan/3.10.0 ipyparallel/9.0.1
Fiona/1.10.1 PyTables/3.10.2 libcircle/0.3
GDAL/3.11.1 RDKit/2025.03.4 libvdwxc/0.5.0
GPAW/25.7.0-ASE-3.26.0 Ray-project/2.47.1 lwgrp/1.0.6
GPAW/25.7.0 (D) SCOTCH/7.0.8 mpi4py/4.1.0
GROMACS/2025.2 ScaLAPACK/2.2.2-fb mpifileutils/0.12
HDF5/1.14.6 Scalasca/2.6.2 netCDF-Fortran/4.6.2
HPCG/3.1 Score-P/9.0 netCDF/4.9.3
HPL/2.3 Score-P/9.2 (D) netcdf4-python/1.7.2
Hypre/2.33.0 SuiteSparse/7.10.3-METIS-5.1.0 nglview/3.1.4
MDAnalysis/2.9.0 SuiteSparse/7.10.3 (D) zarr/3.0.10
MDTraj/1.11.0 SuperLU_DIST/9.1.0
MUMPS/5.8.1-metis Valgrind/3.25.0
----------------------- /mnt/beegfs/apps/modules/all/Compiler/GCC/14.2.0 -----------------------
AOCL-BLAS/5.0 GSL/2.8 libxc/7.0.0
ASE/3.25.0 OpenBLAS/0.3.29 matplotlib/3.10.3
ASE/3.26.0 (D) OpenMPI/5.0.7 (L) mrcfile/1.5.4
BLIS/1.1 SAMtools/1.22.1 networkx/3.5
Boost.Python-NumPy/1.88.0 SciPy-bundle/2025.06 pybind11/2.13.6
Boost/1.88.0 Seaborn/0.13.2 scikit-learn/1.7.0
FFTW/3.3.10 Shapely/2.1.1 spglib-python/2.6.0
FlexiBLAS/3.4.5 bokeh/3.7.3
GEOS/3.13.1 dask/2025.5.1
The user got access to a new level the software hierarchy. Hence, having access to all the software that was compiled against OpenMPI-5.0.7 (top row), which in turn was compiled with GCC-14.2.0 (as displayed in the second row of modules - from top to bottom).
3.2 Foss/2025a Toolchain¶
Accessing the software modules made available by loading GCC/14.2.0 and OpenMPI/5.0.3 can be done by just loading foss/2025a with the penalty of loading extra modules like BLIS, FFTW, FlexiBLAS, OpenBLAS, ScaLAPACK. let’s check it. Start with module purge followed by module load foss/2025a and module list obtaining
Currently Loaded Modules:
1) GCCcore/14.2.0 7) libxml2/2.13.4 13) libfabric/2.0.0 19) FlexiBLAS/3.4.5
2) zlib/1.3.1 8) libpciaccess/0.18.1 14) PMIx/5.0.6 20) FFTW/3.3.10
3) binutils/2.42 9) hwloc/2.11.2 15) PRRTE/3.0.8 21) FFTW.MPI/3.3.10
4) GCC/14.2.0 10) OpenSSL/3 16) UCC/1.3.0 22) ScaLAPACK/2.2.2-fb
5) numactl/2.0.19 11) libevent/2.1.12 17) OpenMPI/5.0.7 23) foss/2025a
6) XZ/5.6.3 12) UCX/1.18.0 18) OpenBLAS/0.3.29
The available modules are (use module --nx av)
-------------------------- /mnt/beegfs/apps/modules/all/MPI/GCC/14.2.0/OpenMPI/5.0.7 ---------------------------
Armadillo/14.6.0 OSU-Micro-Benchmarks/7.5 Wannier90/3.1.0
Biopython/1.85 OpenMM/8.3.0 arpack-ng/3.9.1
CDO/2.5.2 PETSc/3.23.5 buildenv/default
Cartopy/0.24.1 PLUMED/2.9.4 dtcmp/1.1.5
DIRAC/25.0 ParMETIS/4.0.3 ecCodes/2.43.0
ELPA/2025.01.002 PnetCDF/1.14.0 h5py/3.14.0
FFTW.MPI/3.3.10 (L) PyStan/3.10.0 ipyparallel/9.0.1
Fiona/1.10.1 PyTables/3.10.2 libcircle/0.3
...
------------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCC/14.2.0 -------------------------------
AOCL-BLAS/5.0 FlexiBLAS/3.4.5 (L) Seaborn/0.13.2 networkx/3.5
ASE/3.25.0 GEOS/3.13.1 Shapely/2.1.1 pybind11/2.13.6
ASE/3.26.0 (D) GSL/2.8 bokeh/3.7.3 scikit-learn/1.7.0
BLIS/1.1 OpenBLAS/0.3.29 (L) dask/2025.5.1 spglib-python/2.6.0
Boost.Python-NumPy/1.88.0 OpenMPI/5.0.7 (L) libxc/7.0.0
Boost/1.88.0 SAMtools/1.22.1 matplotlib/3.10.3
FFTW/3.3.10 (L) SciPy-bundle/2025.06 mrcfile/1.5.4
...
It is the same obtained previously by loading GCC/14.2.0 and OpenMPI/5.0.7.
3.2 Foss/2024a and 2023a Toolchains¶
The foss/2024a and 2023a toolchains have the same software but with different versions being the latest versions (as off September 2025) in foss/2024a and foss/2025a. The latter toolchain includes only a subgroup of the software in foss/2024a and foss/2023a toolchains.
Let us explore the foss/2024a toolchain.
Start with module purge followed with module load foss/2024a and module --nx av obtaining
------------------------------- /mnt/beegfs/apps/modules/all/MPI/GCC/13.3.0/OpenMPI/5.0.3 -------------------------------
ABySS/2.3.10 MDTraj/1.10.3 YAXT/0.11.3
AUGUSTUS/3.5.0 MMseqs2/17-b804f YaHS/1.2.2
Armadillo/14.0.3 MUMPS/5.7.2-metis arpack-ng/3.9.1
ArviZ/0.21.0 MultiQC/1.28 arrow-R/17.0.0.1-R-4.4.2
BLAST+/2.16.0 NAMD/3.0-mpi bayesian-optimization/2.0.3
Biopython/1.84 NCO/5.2.9 bcbio-gff/0.7.1
Boost.MPI/1.85.0 ORCA/6.0.1-avx2 biom-format/2.1.16
CDO/2.4.4 ORCA/6.0.1 (D) buildenv/default
CMSeq/1.0.4 OSU-Micro-Benchmarks/7.4 clisops/0.15.0
Cartopy/0.24.1 OpenFOAM/v2406 cnvpytor/1.3.1
Cbc/2.10.12 OpenMM/8.3.0 cp2k-input-tools/0.9.1
Cgl/0.60.8 Optuna/4.1.0 dtcmp/1.1.5
Clp/1.17.10 PETSc/3.23.5 ecCodes/2.38.3
CodingQuarry/2.0 PLUMED/2.9.3 geopandas/1.0.1
Critic2/1.2 ParMETIS/4.0.3 h5glance/0.9.0
CrystFEL/0.11.1 ParaView/5.13.2 h5netcdf/1.6.1
DIRAC/24.0 PnetCDF/1.14.0 h5py/3.12.1
ELPA/2024.05.001 PuLP/2.8.0 kallisto/0.51.1
EMD/0.8.1 PyMC/5.22.0 koopmans-kcp/0.2.0
ESMF/8.7.0 PyStan/3.10.0 koopmans-qe-utils/0.1.0
ESPResSo/4.2.2 PyTables/3.10.2 koopmans/1.1.0
ETE/3.1.3 PyVista/0.44.2 libGridXC/2.0.2
Extrae/4.2.5 PyWavelets/1.8.0 libcircle/0.3
FFTW.MPI/3.3.10 (L) QuantumESPRESSO/7.4-minimal libvdwxc/0.4.0
Fiona/1.10.1 QuantumESPRESSO/7.4 (D) lwgrp/1.0.6
GDAL/3.10.0 R-bundle-Bioconductor/3.20-R-4.4.2 maeparser/1.3.1
GOATOOLS/1.4.12 R-bundle-CRAN/2024.11 modin/0.32.0
GPAW/24.6.0 RDKit/2025.03.3 mpi4py/4.0.1
GPAW/25.1.0-ASE-3.24.0 RStudio-Server/2024.12.0+467-R-4.4.2 mpifileutils/0.11.1
GPAW/25.1.0-ASE-3.25.0 (D) Ray-project/2.37.0 ncbi-vdb/3.2.0
HDF5/1.14.5 Rmath/4.4.2 ncview/2.1.11
HISAT2/2.2.1 SCOTCH/7.0.6 netCDF-C++4/4.3.1
HMMER/3.4 SRA-Toolkit/3.2.0 netCDF-Fortran/4.6.1
HPCG/3.1 SUNDIALS/7.0.0 netCDF/4.9.2
HPL/2.3 ScaFaCoS/1.0.4 netcdf4-python/1.7.1.post2
HPX/1.10.0 ScaLAPACK/2.2.0-fb (L) nf-core/2.14.1
HeFFTe/2.4.1 Score-P/8.4 nglview/3.1.4
Hybpiper/2.3.2 Siesta/5.4.0 numba/0.60.0
Hypre/2.32.0 SuiteSparse/7.8.2-METIS-5.1.0 pathos/0.3.3
IMB/2021.6 SuiteSparse/7.10.1 (D) s3fs/2024.9.0
Infernal/1.1.5 SuperLU_DIST/9.1.0 scikit-image/0.25.0
JAGS/4.3.2 TINKER/25.3 sisl/0.15.2
KaHIP/3.16 VASP/6.5.0 snakemake/8.27.0
Kraken2/2.1.4 VASP/6.5.1 (D) tRNAscan-SE/2.0.12
KrakenTools/1.2 VTK/9.3.1 xclim/0.55.1
LAMMPS/29Aug2024_update2-kokkos Valgrind/3.24.0 zarr/2.18.4
MDAnalysis/2.9.0 Wannier90/3.1.0
MDI/1.4.26 XCrySDen/1.6.2
----------------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCC/13.3.0 ------------------------------------
ASE/3.23.0 GEOS/3.12.2 Simple-DFTD3/1.2.1 mrcfile/1.5.4
ASE/3.24.0 GSL/2.8 TOML-Fortran/0.4.2 mstore/0.3.0
ASE/3.25.0 (D) HTSlib/1.21 bokeh/3.6.0 multiprocess/0.70.17
Arrow/17.0.0 MAFFT/7.526-with-extensions btllib/1.7.5 networkx/3.4.2
BBMap/39.19 MPICH/4.2.2 dask/2024.9.1 pybind11/2.12.0
BCFtools/1.21 OpenBLAS/0.3.27 (L) flook/0.8.4 scikit-learn/1.5.2
BEDTools/2.31.1 OpenMPI/5.0.3 (L) imageio/2.36.1 spglib-python/2.5.0
BLIS/1.0 Osi/0.108.11 json-fortran/9.0.3 statsmodels/0.14.4
BamTools/2.5.2 PyTensor/2.30.3 kim-api/2.4.1 sympy/1.13.3
Boost.Python-NumPy/1.85.0 Pysam/0.22.1 libPSML/2.1.0 tensorboard/2.18.0
Boost.Python/1.85.0 R/4.4.2 libcint/6.1.2 test-drive/0.5.0
Boost/1.85.0 SAMtools/1.21 libfdf/0.5.1 wrapt/1.16.0
CoinUtils/2.11.12 SOCI/4.0.3 libxc/6.2.2 xarray/2024.11.0
DIAMOND/2.1.11 SPAdes/4.1.0 lpsolve/5.5.2.11 xmlf90/1.6.3
Exonerate/2.4.0 SciPy-bundle/2024.05 matplotlib/3.9.2
FFTW/3.3.10 (L) Seaborn/0.13.2 mctc-lib/0.3.1
FlexiBLAS/3.4.4 (L) Shapely/2.0.6 ml_dtypes/0.5.0
--------------------------------- /mnt/beegfs/apps/modules/all/Compiler/GCCcore/13.3.0 ----------------------------------
ANTLR/2.7.7 Python-bundle-PyPI/2024.06 libepoxy/1.5.10
ATK/2.38.0 Python/3.12.3 libevent/2.1.12 (L)
Abseil/20240722.0 Qhull/2020.2 libfabric/1.21.0 (L)
Autoconf/2.72 (D) Qt5/5.15.16 libffi/3.4.5
Automake/1.16.5 Qt6/6.7.2 libgd/2.3.3
Autotools/20231222 RE2/2024-07-02 libgeotiff/1.7.3
BWA/0.7.18 RapidJSON/1.1.0-20240815 libgit2/1.8.1
...
Most of the software, as can be seen in the top and middle rows, are similar to that available in foss/2023a and foss/2025a, but was compiled with a different version of GCC (13.3.0) and OpenMPI (5.0.3). Thel ist of packages includes well known and established software used by the quantum chemistry and material sciences communities, e.g., DIRAC, ELPA, Orca, Scafacos, VASP, QuantumEspresso, etc., and computational fluid dynamics (CFD), e.g., OpenFoam).
As an exercise lets load DIRAC using the command module load DIRAC/24.0 or just module load DIRAC followed with module list obtaining
Currently Loaded Modules:
1) GCCcore/13.3.0 11) libevent/2.1.12 21) FFTW.MPI/3.3.10 31) Szip/2.1.1
2) zlib/1.3.1 12) UCX/1.16.0 22) ScaLAPACK/2.2.0-fb 32) HDF5/1.14.5
3) binutils/2.42 13) libfabric/1.21.0 23) foss/2024a 33) cffi/1.16.0
4) GCC/13.3.0 14) PMIx/5.0.2 24) bzip2/1.0.8 34) cryptography/42.0.8
5) numactl/2.0.18 15) PRRTE/3.0.5 25) ncurses/6.5 35) virtualenv/20.26.2
6) XZ/5.4.5 16) UCC/1.3.0 26) libreadline/8.2 36) Python-bundle-PyPI/2024.06
7) libxml2/2.12.7 17) OpenMPI/5.0.3 27) Tcl/8.6.14 37) SciPy-bundle/2024.05
8) libpciaccess/0.18.1 18) OpenBLAS/0.3.27 28) SQLite/3.45.3 38) mpi4py/4.0.1
9) hwloc/2.10.0 19) FlexiBLAS/3.4.4 29) libffi/3.4.5 39) h5py/3.12.1
10) OpenSSL/3 20) FFTW/3.3.10 30) Python/3.12.3 40) DIRAC/24.0
So, we see dependences listed plus DIRAC/24.0. Lets check which DIRAC versions are installed in the software stack: module spider DIRAC
---------------------------------------------------------------------------------------------------------------------
DIRAC:
---------------------------------------------------------------------------------------------------------------------
Description:
DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations
Versions:
DIRAC/23.0
DIRAC/24.0
DIRAC/25.0
DIRAC/26.0
---------------------------------------------------------------------------------------------------------------------
For detailed information about a specific "DIRAC" package (including how to load the modules) use the module's full
name. For example:
$ module spider DIRAC/25.0
Let’s follow the suggestion using module spider DIRAC/25.0 obtaining
---------------------------------------------------------------------------------------------------------------------
DIRAC: DIRAC/25.0
---------------------------------------------------------------------------------------------------------------------
Description:
DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations
You will need to load all module(s) on any one of the lines below before the "DIRAC/25.0" module is available to load
GCC/14.2.0 OpenMPI/5.0.7
Help:
Description
===========
DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations
More information
================
- Homepage: http://www.diracprogram.org
So, now one only has to follow the suggestion module load GCC/14.2.0 OpenMPI/5.0.7 DIRAC/25.0.
3.3 Intel-Compilers Based Modules¶
Similar procedure to what has been outlined above applies for software using the Intel compilers, MKL, and MPI. At the entering level if the user executes module --nx av obtains
--------------------------------- /mnt/beegfs/apps/modules/all/Core ----------------------------------
Anaconda3/2025.06-1 Miniforge3/25.3.0-1 (D) gompi/2024a
Autoconf/2.71 OSPRay/2.12.0 gompi/2025a
Bison/3.8.2 OpenSSL/1.1 gompi/2025b (D)
FastQC/0.11.9-Java-11 OpenSSL/3 (D) iimkl/2023a
GCC/12.3.0 Pandoc/3.6.2 iimkl/2024a
GCC/13.3.0 Perl/5.38.0 iimkl/2025a (D)
GCC/14.2.0 ant/1.10.12-Java-17 iimpi/2023a
GCC/14.3.0 (D) ant/1.10.14-Java-11 (D) iimpi/2024a
GCCcore/12.3.0 binutils/2.40 iimpi/2025a (D)
GCCcore/13.3.0 binutils/2.42 imkl/2023.1.0
GCCcore/14.2.0 binutils/2.44 (D) imkl/2023.2.0
GCCcore/14.3.0 (D) ecBuild/3.8.0 imkl/2024.2.0
GPAW-setups/24.1.0 ffnvcodec/12.0.16.0 imkl/2025.1.0 (D)
GPAW-setups/24.11.0 (D) ffnvcodec/12.1.14.0 intel-compilers/2023.1.0
IJulia/1.29.0-Julia-1.11.6 ffnvcodec/12.2.72.0 intel-compilers/2024.2.0
Java/11.0.27 (11) ffnvcodec/13.0.19.0 (D) intel-compilers/2025.1.1 (D)
Java/17.0.15 (17) flex/2.6.4 intel/2023a
Java/21.0.8 (D:21) foss/2023a intel/2024a
Julia/1.11.3-linux-x86_64 foss/2024a intel/2025a (D)
Julia/1.11.6-linux-x86_64 foss/2025a iompi/2023a
Julia/1.11.7 foss/2025b (D) iompi/2024a
Julia/1.12.2 gettext/0.21.1 iompi/2025a (D)
After loading intel/2025a or iimpi/2025a (module load intel/2025a or module load iimpi/2025a) module list shows
Currently Loaded Modules:
1) GCCcore/14.2.0 4) intel-compilers/2025.1.1 7) impi/2021.15.0 10) intel/2025a
2) zlib/1.3.1 5) numactl/2.0.19 8) imkl/2025.1.0
3) binutils/2.42 6) UCX/1.18.0 9) imkl-FFTW/2025.1.0
and module --nx av displays
------------------- /mnt/beegfs/apps/modules/all/MPI/intel/2025.1.1/impi/2021.15.0 -------------------
HDF5/1.14.6 OSU-Micro-Benchmarks/7.5 Wannier90/3.1.0 imkl-FFTW/2025.1.0 (L)
HPL/2.3 Score-P/9.2 buildenv/default
------------------------ /mnt/beegfs/apps/modules/all/Compiler/intel/2025.1.1 ------------------------
OpenMPI/5.0.7 impi/2021.15.0 (L)
------------------------ /mnt/beegfs/apps/modules/all/Compiler/GCCcore/14.2.0 ------------------------
Abseil/20250512.1 ecBuild/3.11.0 (D)
Autoconf/2.72 (D) elfutils/0.193
Automake/1.17 expat/2.6.4
Autotools/20240712 flex/2.6.4 (D)
BeautifulSoup/4.13.4 flit/3.10.1
Bison/3.8.2 (D) fontconfig/2.16.2
Blosc/1.21.6 fonttools/4.58.4
Blosc2/2.19.0 freetype/2.13.3
Brotli/1.1.0 gettext/0.24
...
On the top row the software compiled against Intel MPI (which is MPICH compiled with Intel compilers) is displayed followed by the software compiled with Intel C, C++ and Fortran compilers. On the bottom row the software compiled with GCC/14.2.0 as a backend is displayed.
The user can change to GCC based modules, e.g., to the foss/2025a toochain, by issuing module load foss/2025a obtaining with module list
Currently Loaded Modules:
1) GCCcore/14.2.0 8) imkl/2025.1.0 15) hwloc/2.11.2 22) OpenMPI/5.0.7
2) zlib/1.3.1 9) imkl-FFTW/2025.1.0 16) OpenSSL/3 23) OpenBLAS/0.3.29
3) binutils/2.42 10) intel/2025a 17) libevent/2.1.12 24) FlexiBLAS/3.4.5
4) intel-compilers/2025.1.1 11) GCC/14.2.0 18) libfabric/2.0.0 25) FFTW/3.3.10
5) numactl/2.0.19 12) XZ/5.6.3 19) PMIx/5.0.6 26) FFTW.MPI/3.3.10
6) UCX/1.18.0 13) libxml2/2.13.4 20) PRRTE/3.0.8 27) ScaLAPACK/2.2.2-fb
7) impi/2021.15.0 14) libpciaccess/0.18.1 21) UCC/1.3.0 28) foss/2025a
4. Loading a Particular Software¶
4.1 scipy, mpi4py, numpy, numexpr, pandas¶
These packages, as well as others, are included in the module scipy-bundle. Therefore, the user needs to follow the following procedure to use these packages: (i) decide which toolchain to use (foss or intel).
First check which scipy versions are available using module spider scipy obtaining
--------------------------------------------------------------------------------------------------
scipy:
--------------------------------------------------------------------------------------------------
Versions:
scipy/1.11.1 (E)
scipy/1.13.1 (E)
scipy/1.16.0 (E)
scipy/1.16.1 (E)
Other possible modules matches:
SciPy-bundle
...
For example:
$ module spider scipy/1.16.1
--------------------------------------------------------------------------------------------------
So, lets try module spider scipy/1.16.1
. code-block:: julia
scipy: scipy/1.16.1 (E)
This extension is provided by the following modules. To access the extension you must load one of the following modules. Note that any module names in parentheses show the module location in the softw are hierarchy.
SciPy-bundle/2025.07 (GCC/14.3.0)
Now we know that for scipy/1.16.1 we need to load SciPy-bundle/2025.07 that depdens on GCC/14.3.0. Hence, either load GCC/14.3.0 or the toochain that includes it, e.g., gompi/2025b or foss/2025b.
First clear the modules from your environment using module purge, then
module load foss/2025b SciPy-bundle/2025.07
Now check the modules that were loaded using module list
Currently Loaded Modules:
1) GCCcore/14.3.0 13) libfabric/2.1.0 25) ncurses/6.5
2) zlib/1.3.1 14) PMIx/5.0.8 26) libreadline/8.2
3) binutils/2.44 15) PRRTE/3.0.11 27) libtommath/1.3.0
4) GCC/14.3.0 16) UCC/1.4.4 28) Tcl/9.0.1
5) numactl/2.0.19 17) OpenMPI/5.0.8 29) SQLite/3.50.1
6) XZ/5.8.1 18) OpenBLAS/0.3.30 30) libffi/3.5.1
7) libxml2/2.14.3 19) FlexiBLAS/3.4.5 31) Python/3.13.5
8) libpciaccess/0.18.1 20) FFTW/3.3.10 32) cffi/1.17.1
9) hwloc/2.12.1 21) FFTW.MPI/3.3.10 33) cryptography/45.0.5
10) OpenSSL/3 22) ScaLAPACK/2.2.2-fb 34) virtualenv/20.32.0
11) libevent/2.1.12 23) foss/2025b 35) Python-bundle-PyPI/2025.07
12) UCX/1.19.0 24) bzip2/1.0.8 36) SciPy-bundle/2025.07
Now the user can use, for example, mpi4py or numpy in their submission scripts.
4.3 GROMACS¶
In OBLIVION there are several versions of GROMACS compiled with/without PLUMED. First determine the GROMACS versions that are available using module spider gromacs
...
Versions:
GROMACS/2023.3-PLUMED-2.9.0
GROMACS/2023.4
GROMACS/2024.4
GROMACS/2025.2
GROMACS/2025.4
GROMACS/2026.2
Check GROMACS/2026.2 using module spider GROMACS/2026.2
Description:
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
equations of motion for systems with hundreds to millions of particles. This is a CPU only
build, containing both MPI and threadMPI binaries for both single and double precision. It
also contains the gmxapi extension for the single precision MPI build.
You will need to load all module(s) on any one of the lines below before the "GROMACS/2026.2" module is available to load.
GCC/14.3.0 OpenMPI/5.0.8
So, follow the instruction: module load GCC/14.3.0 OpenMPI/5.0.8 GROMACS/2026.2 and check what was loaded with module list
Currently Loaded Modules:
1) GCCcore/14.3.0 14) PMIx/5.0.8 27) Tcl/9.0.1
2) zlib/1.3.1 15) PRRTE/3.0.11 28) SQLite/3.50.1
3) binutils/2.44 16) UCC/1.4.4 29) libffi/3.5.1
4) GCC/14.3.0 17) OpenMPI/5.0.8 30) Python/3.13.5
5) numactl/2.0.19 18) OpenBLAS/0.3.30 31) cffi/1.17.1
6) XZ/5.8.1 19) FlexiBLAS/3.4.5 32) cryptography/45.0.5
7) libxml2/2.14.3 20) FFTW/3.3.10 33) virtualenv/20.32.0
8) libpciaccess/0.18.1 21) FFTW.MPI/3.3.10 34) Python-bundle-PyPI/2025.07
9) hwloc/2.12.1 22) ScaLAPACK/2.2.2-fb 35) SciPy-bundle/2025.07
10) OpenSSL/3 23) bzip2/1.0.8 36) networkx/3.5
11) libevent/2.1.12 24) ncurses/6.5 37) mpi4py/4.1.0
12) UCX/1.19.0 25) libreadline/8.2 38) GROMACS/2026.2
13) libfabric/2.1.0 26) libtommath/1.3.0
5. Operations With Modules¶
5.1 Purging Modules¶
The user can purge the loaded modules by executing
module purge
5.2 Save and Restore Modules¶
Often a user uses different environments for his/her processes. Hence, he/she needs to load and purge the loaded modules several times. An easy way to proceed is to save those module environments into a file, say <module_environment>, by using
module save <module_environment>.
Later, the environment can be reloaded using the command
module restore <module_environment>
5.3 Module Details¶
To learn further details of a module, how to load it, and dependencies use
module spider <module_name>
and to find detailed information of a module use
module spider <module_name/version>
Let’s check the information on GROMACS by using module spider GROMACS obtaining
------------------------------------------------------------------------------------------------------
GROMACS:
------------------------------------------------------------------------------------------------------
Description:
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
equations of motion for systems with hundreds to millions of particles. This is a CPU only
build, containing both MPI and threadMPI builds for both single and double precision. It also
contains the gmxapi extension for the single precision MPI build next to PLUMED.
Versions:
GROMACS/2021.5-PLUMED-2.8.0
GROMACS/2021.5-PLUMED-2.8.1
GROMACS/2021.5
------------------------------------------------------------------------------------------------------
For detailed information about a specific "GROMACS" package (including how to load the modules) use the
module's full name.
Note that names that have a trailing (E) are extensions provided by other modules.
For example:
$ module spider GROMACS/2021.5
and obtain details on the module by using module spider GROMACS/2021.5
------------------------------------------------------------------------------------------------------
GROMACS: GROMACS/2021.5
------------------------------------------------------------------------------------------------------
Description:
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
equations of motion for systems with hundreds to millions of particles. This is a CPU only
build, containing both MPI and threadMPI builds for both single and double precision. It also
contains the gmxapi extension for the single precision MPI build.
You will need to load all module(s) on any one of the lines below before the "GROMACS/2021.5" module
is available to load.
GCC/11.2.0 OpenMPI/4.1.1
GCC/11.3.0 OpenMPI/4.1.4
...
More information
================
- Homepage: https://www.gromacs.org
Included extensions
===================
gmxapi-0.2.2.1
6. List of Commonly Used Commands¶
Command |
Function |
module avail |
Displays the list of available modules in the machine |
module list |
Displays the modules that are currently loaded |
module add [module_name] |
Loads the module [module_name] |
module unload [module_name] |
Unloads the module [module_name] |
module purge |
Clears all modules in your environment |
module save [name_of_file] |
Saves a module environment in the file [name_file] for later use |
module restore [name_of_file] |
Loads a module environment saved in file [name_file] |
module savelist |
Displays the list of saved modules environment |
7. Available Modules¶
To list all the available modules the user can use the command module spider obtaining
---------------------------------------------------------------------------------------------------
The following is a list of the modules and extensions currently available:
---------------------------------------------------------------------------------------------------
ABINIT: ABINIT/9.6.2
ABINIT is a package whose main program allows one to find the total energy, charge density and
electronic structure of systems made of electrons and nuclei (molecules and periodic solids)
within Density Functional Theory (DFT), using pseudopotentials and a planewave or wavelet
basis.
ANSYS_CFD: ANSYS_CFD/2021R1, ANSYS_CFD/2022R2
ANSYS computational fluid dynamics (CFD) simulation software allows you to predict, with
confidence, the impact of fluid flows on your product throughout design and manufacturing as
well as during end use. ANSYS renowned CFD analysis tools include the widely used and
well-validated ANSYS Fluent and ANSYS CFX.
...
For the full list of installed modules see the installed software section.