Modules
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.
To access the compilers, libraries, software or conda environments installed on Jean Zay, you need to load the corresponding modules with the module command. The management of computing environments on Jean Zay is handled by the Environment Modules tool.
The version of Environment Modules currently available on Jean Zay is version 4.3.1.
If you have difficulties building your computing environment on Jean Zay with the module command or if a product is missing, do not hesitate to contact support at assist@idris.fr.
The modules accessible by default are those of the CPU and V100 partitions.
To access the modules compatible with the A100 (gpu_p5) or H100 (gpu_p6) partitions,
it is necessary to first load the arch/a100 or arch/h100 module respectively.
See the dedicated section below for more information.
Features of the module command
Displaying installed products
To display the products installed on Jean Zay, use the
subcommand avail.
$ module avail
------------------------------------- /lustre/fshomisc/sup/hpe/pub/module-rh/modulefiles -------------------------------------
arch/a100 intel-all/2019.2(19.0.2) intel-mkl/2018.1(18.0.1) intel-vtune/2019.6(19.0.5)
arch/h100 intel-all/2019.4(19.0.4) intel-mkl/2018.4(18.0.5) intel-vtune/2020.0
arm-forge/19.1.1 intel-all/2019.5(19.0.5) intel-mkl/2019.2(19.0.2) intel-vtune/2020.1
[...]
------------------- /lustre/fshomisc/sup/hpe/pub/modules-idris-env4/modulefiles/linux-rhel9-skylake_avx512 -------------------
abinit/7.0.5 metis/5.1.0-int64-real64 vasp/6.4.3-mpi-scpc
abinit/8.8.2-mpi miniforge/24.9.0 vasp/6.5.0-mpi-cuda
abinit/8.10.3-mpi miniforge/24.11.3 vesta/3.4.6
[...]
# Affichage non exhaustif, basé sur une sortie de la commande éditée en janvier 2026
Searching for a specific product
It is possible to search for a specific product by typing:
module avail <premières lettres du nom du produit>.
For example, to display products starting with cud
:
$ module avail cud
------------------------------ /lustre/fshomisc/sup/hpe/pub/module-rh/modulefiles ------------------------------
cuda/9.2 cuda/10.1.1 cuda/10.2 cuda/11.7.1 cuda/12.0.0 cuda/12.2.0 cuda/12.6.3 cudnn/9.2-v7.5.1.10
cuda/10.0 cuda/10.1.2 cuda/11.2 cuda/11.8.0 cuda/12.1.0 cuda/12.4.1 cuda/12.8.0 cudnn/10.1-v7.5.1.10
[...]
# Affichage non exhaustif, basé sur une sortie de la commande éditée en janvier 2026
Checking which modules are already loaded
The subcommand list allows you to check which modules
are loaded at any given time in your current environment:
$ module list
Currently Loaded Modulefiles:
1) intel-compilers/19.0.4 4) intel-vtune/19.0.4 7) intel-itac/19.0.4
2) intel-mkl/19.0.4 5) intel-advisor/19.0.4 8) intel-all/19.0.4
3) intel-mpi/19.0.4 6) intel-tbb/19.0.4
If no module is loaded, the following message appears:
$ module list
No Modulefiles Currently Loaded.
Loading a product
Loading products is done with the subcommand load followed
by:
- either the full name of the module to select a specific version
of the product:
module load intel-compilers/19.0.4
- or the beginning of the module name which then selects the default
version of the product:
module load intel-compilers
The command module load does not return any information when it
executes without any issues. It may therefore be necessary to use the
command module list to know which version has been loaded.
However, an error may occur and prevent a module from being loaded. Error messages are then returned, for example:
- if the module to be loaded does not exist
:
$ module load intel-compilers-19/19.0.4ERROR: Unable to locate a modulefile for 'intel-compilers-19/19.0.4'
- if there is a conflict between the module to be loaded and one of the modules
already loaded (see section on automatic dependency management below) :
$ module listCurrently Loaded Modulefiles:1) intel-compilers/19.0.5$ module load intel-compilers/19.0.4Loading intel-compilers/19.0.4ERROR: Conflicting intel-compilers is loaded
Loading multiple products
It is possible to load multiple products at once:
-
By listing them on a single command line:
module load intel-compilers/19.0.4 intel-mpi/19.0.4 intel-mkl/19.0.4warningThe order in which the modules are indicated can be important!
Therefore, the following command does not give the expected result since the modules
intel-compilers/18.0.5andintel-mpi/18.0.5are not finally loaded due to conflicts (see section on automatic dependency management below):$ module load netcdf intel-compilers/18.0.5 intel-mpi/18.0.5Loading netcdf/4.7.2-mpiLoading requirement: intel-compilers/19.0.4 intel-mpi/19.0.4Loading intel-compilers/18.0.5ERROR: Conflicting intel-compilers is loadedLoading intel-mpi/18.0.5ERROR: Conflicting intel-mpi is loaded$ module listCurrently Loaded Modulefiles:1) intel-compilers/19.0.4 2) intel-mpi/19.0.4 3) netcdf/4.7.2-mpiIn this case, you need to load
intel-compilers/18.0.5andintel-mpi/18.0.5beforenetcdfto get the expected result:$ module load intel-compilers/18.0.5 intel-mpi/18.0.5 netcdf$ module listCurrently Loaded Modulefiles:1) intel-compilers/18.0.5 2) intel-mpi/18.0.5 3) netcdf/4.7.2-mpiBEST PRACTICEIt is recommended to load your modules in the following order: 1. Compilers 2. MPI Library 3. Other libraries
module load <compilateurs> <librairie MPI> <autres librairies> -
Some modules are shortcuts that allow you to load multiple modules in a single operation. For example:
- The
intel-all/XX.Y.Zmodules will load several modules defining a complete Intel environment for a chosen version XX.Y.Z. For example with Intel 19.0.4:
$ module load intel-all/19.0.4Loading intel-all/19.0.4Loading requirement: intel-compilers/19.0.4 intel-mkl/19.0.4 intel-mpi/19.0.4intel-vtune/19.0.4 intel-advisor/19.0.4 intel-tbb/19.0.4 intel-itac/19.0.4$ module listCurrently Loaded Modulefiles:1) intel-compilers/19.0.4 4) intel-vtune/19.0.4 7) intel-itac/19.0.42) intel-mkl/19.0.4 5) intel-advisor/19.0.4 8) intel-all/19.0.43) intel-mpi/19.0.4 6) intel-tbb/19.0.4- The conda environments will load all the libraries necessary for the proper functioning of the different Python packages it contains. For example with the environment built around PyTorch 2.8.0:
$ module load pytorch-gpu/py3/2.8.0Loading pytorch-gpu/py3/2.8.0Loading requirement: gcc/11.4.1 cuda/12.8.0 nccl/2.27.3-1-cuda cudnn/9.10.2.21-12-cuda openmpi/4.1.8-cudaintel-oneapi-mkl/2023.1 magma/2.9.0-cuda sox/14.4.2 ffmpeg/6.1.1-cuda hdf5/1.12.0-mpi-cudalibjpeg-turbo/2.1.3 libpng/1.6.37 libwebp/1.2.2 graphviz/2.49.0$ module listCurrently Loaded Modulefiles:1) gcc/11.4.1(11.3.1) 5) openmpi/4.1.8-cuda 9) ffmpeg/6.1.1-cuda 13) libwebp/1.2.22) cuda/12.8.0 6) intel-oneapi-mkl/2023.1 10) hdf5/1.12.0-mpi-cuda 14) graphviz/2.49.03) nccl/2.27.3-1-cuda 7) magma/2.9.0-cuda 11) libjpeg-turbo/2.1.3 15) pytorch-gpu/py3/2.8.04) cudnn/9.10.2.21-12-cuda 8) sox/14.4.2 12) libpng/1.6.37 - The
Unloading a product
You can remove a product from your environment using the
subcommand unload; you can also remove all modules
with the subcommand purge :
$ module list
Currently Loaded Modulefiles:
1) intel-compilers/19.0.4 2) intel-mpi/19.0.4 3) intel-mkl/19.0.4
$ module unload intel-mkl/19.0.4
$ module list
Currently Loaded Modulefiles:
1) intel-compilers/19.0.4 2) intel-mpi/19.0.4
$ module purge
$ module list
No Modulefiles Currently Loaded.
If it is performed without any issues, unloading a product does not return any information.
Changing the version of a product
When you want to change the version of an already loaded product,
you can use the subcommand switch :
$ module list
Currently Loaded Modulefiles:
1) intel-compilers/19.0.4 2) intel-mpi/18.0.5
$ module switch intel-mpi/19.0.4
$ module list
Currently Loaded Modulefiles:
1) intel-compilers/19.0.4 2) intel-mpi/19.0.4
Again, if everything goes well the command does not return any message.
General remarks
Automatic dependency management
The automatic dependency management feature between modules, introduced in Environment Modules v4, is used at IDRIS to ensure the consistency of the loaded environment.
This means that the command module ensures that the prerequisites in terms of compilers and MPI library are met each time a module is loaded:
-
When a module is loaded in a virgin environment (without any compiler or MPI library already selected), a default environment is loaded if necessary (selection of the compiler and/or the MPI library).
For example, the NetCDF library is available for 2 Intel environments (18.0.5 and 19.0.4); by default, the Intel 19.0.4 environment is loaded:$ module purge$ module load netcdfLoading netcdf/4.7.2-mpiLoading requirement: intel-compilers/19.0.4 intel-mpi/19.0.4$ module listCurrently Loaded Modulefiles:1) intel-compilers/19.0.4 2) intel-mpi/19.0.4 3) netcdf/4.7.2-mpi$ which ncdump/.../netcdf/4.7.2/intel-19.0.4-cqo7jj3yxaprhm23gr2tfq2f4epw7k3r/bin/ncdump -
When you load a module in an environment already constrained by the prior loading of a compiler (and possibly an MPI library), the installation of the product performed with this same compiler (and respectively the same MPI library) is automatically selected.
Take, for example, the NetCDF library available for the Intel 18.0.5 and 19.0.4 environments, you can verify this behaviour of the commandmoduleby first loading the Intel 18.0.5 environment:$ module listCurrently Loaded Modulefiles:1) intel-compilers/18.0.5 2) intel-mpi/18.0.5$ module load netcdf$ module listCurrently Loaded Modulefiles:1) intel-compilers/18.0.5 2) intel-mpi/18.0.5 3) netcdf/4.7.2-mpi$ which ncdump/.../netcdf/4.7.2/intel-18.0.5-4q5xoewvla54i45rdh743eu7bm7wnsi7/bin/ncdumpwarningIf no installation has been performed for the already loaded environment, an error message will be displayed (indicating a conflict, for example); in this case the module is not loaded.
For example, if you try to load the NetCDF library in the Intel 19.0.5 environment when it is not available:$ module listCurrently Loaded Modulefiles:1) intel-compilers/19.0.5$ module load netcdfLoading intel-compilers/19.0.4ERROR: Conflicting intel-compilers is loadedLoading intel-compilers/18.0.5ERROR: Conflicting intel-compilers is loadedLoading netcdf/4.7.2-mpiERROR: Load of requirement intel-compilers/19.0.4 or intel-compilers/18.0.5 failed$ module listCurrently Loaded Modulefiles:1) intel-compilers/19.0.5BEST PRACTICEIt is recommended to load your modules in the following order: 1. Compilers 2. MPI Library 3. Other libraries
module load <compilateurs> <librairie MPI> <autres librairies>
Warning for link editing
When compiling your codes, even after loading the appropriate module to use a library, it will probably be necessary to specify the libraries to use during link editing.
For example, to compile with the HYPRE mathematical library:
module load hypre
ifort -o test -lHYPRE test.f90
Note that, on the other hand, the paths to the header files, the Fortran modules, the static (.a) and dynamic (.so) libraries are positioned automatically, without the need to specify them.