Skip to main content

Modules

⚠ INFORMATION
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.

Attention

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.4
    ERROR: 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 list
    Currently Loaded Modulefiles:
    1) intel-compilers/19.0.5

    $ module load intel-compilers/19.0.4
    Loading intel-compilers/19.0.4
    ERROR: 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.4
    warning

    The 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.5 and intel-mpi/18.0.5 are 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.5
    Loading netcdf/4.7.2-mpi
    Loading requirement: intel-compilers/19.0.4 intel-mpi/19.0.4

    Loading intel-compilers/18.0.5
    ERROR: Conflicting intel-compilers is loaded

    Loading intel-mpi/18.0.5
    ERROR: Conflicting intel-mpi is loaded

    $ module list
    Currently Loaded Modulefiles:
    1) intel-compilers/19.0.4 2) intel-mpi/19.0.4 3) netcdf/4.7.2-mpi

    In this case, you need to load intel-compilers/18.0.5 and intel-mpi/18.0.5 before netcdf to get the expected result:

    $ module load intel-compilers/18.0.5 intel-mpi/18.0.5 netcdf

    $ module list
    Currently Loaded Modulefiles:
    1) intel-compilers/18.0.5 2) intel-mpi/18.0.5 3) netcdf/4.7.2-mpi
    BEST PRACTICE

    It 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.Z modules 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.4
    Loading intel-all/19.0.4
    Loading requirement: intel-compilers/19.0.4 intel-mkl/19.0.4 intel-mpi/19.0.4
    intel-vtune/19.0.4 intel-advisor/19.0.4 intel-tbb/19.0.4 intel-itac/19.0.4

    $ 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
    • 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.0
    Loading pytorch-gpu/py3/2.8.0
    Loading 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-cuda
    intel-oneapi-mkl/2023.1 magma/2.9.0-cuda sox/14.4.2 ffmpeg/6.1.1-cuda hdf5/1.12.0-mpi-cuda
    libjpeg-turbo/2.1.3 libpng/1.6.37 libwebp/1.2.2 graphviz/2.49.0

    $ module list
    Currently 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.2
    2) cuda/12.8.0 6) intel-oneapi-mkl/2023.1 10) hdf5/1.12.0-mpi-cuda 14) graphviz/2.49.0
    3) nccl/2.27.3-1-cuda 7) magma/2.9.0-cuda 11) libjpeg-turbo/2.1.3 15) pytorch-gpu/py3/2.8.0
    4) cudnn/9.10.2.21-12-cuda 8) sox/14.4.2 12) libpng/1.6.37

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 netcdf
    Loading netcdf/4.7.2-mpi
    Loading requirement: intel-compilers/19.0.4 intel-mpi/19.0.4
    $ module list
    Currently 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 command module by first loading the Intel 18.0.5 environment:

    $ module list
    Currently Loaded Modulefiles:
    1) intel-compilers/18.0.5 2) intel-mpi/18.0.5
    $ module load netcdf
    $ module list
    Currently 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/ncdump
    warning

    If 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 list
    Currently Loaded Modulefiles:
    1) intel-compilers/19.0.5
    $ module load netcdf
    Loading intel-compilers/19.0.4
    ERROR: Conflicting intel-compilers is loaded

    Loading intel-compilers/18.0.5
    ERROR: Conflicting intel-compilers is loaded

    Loading netcdf/4.7.2-mpi
    ERROR: Load of requirement intel-compilers/19.0.4 or intel-compilers/18.0.5 failed

    $ module list
    Currently Loaded Modulefiles:
    1) intel-compilers/19.0.5
    BEST PRACTICE

    It 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>

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.

Modules compatible with the A100 and H100 partitions

The modules accessible by default are those of the CPU and V100 partitions.

The modules specific to the A100 (gpu_p5) or respectively to the H100 (gpu_p6) partitions require the prior loading of the arch/a100 or respectively arch/h100 module to be accessible.

A100 Partition

Jobs targeting the A100 (gpu_p5) partition (extension installed in June 2022 and equipped with NVIDIA A100 80 GB GPUs) must use specific/dedicated modules because the nodes that make it up are equipped with AMD CPUs while all other Jean Zay nodes are equipped with Intel CPUs.

The modules accessible by default are not compatible with this partition. It is therefore necessary to first load the arch/a100 module to access the dedicated modules:

$ module load arch/a100
$ module avail
------------------------------------ /lustre/fshomisc/sup/hpe/pub/module-rh/modulefiles ------------------------------------
arch/a100 intel-compilers/19.1.0 intel-python/2020.2 pgi/20.4
arch/h100 intel-compilers/19.1.1 intel-python/2020.4
arm-forge/19.1.1 intel-compilers/19.1.2 intel-tbb/4.4.6(16.0.4)
[...]

---------------------- /lustre/fshomisc/sup/hpe/pub/modules-idris-env4/modulefiles/linux-rhel9-x86_64 ----------------------
adios2/2.8.0-mpi-cuda libpng/1.6.37 vasp/6.4.2-mpi-cuda-openacc
adios2/2.10.0-mpi-cuda libsndfile/1.0.28 vllm/0.5.4
alphafold/2.2.4 libvips/8.10.6
[...]

$ module load <produit souhaité>

# Affichage non exhaustif, basé sur une sortie de la commande éditée en janvier 2026
caution

You must recompile your codes with the compatible modules before using them on this partition. If you plan to run a code on several different partitions, it is necessary to compile distinct binaries.

H100 Partition

Jobs targeting the H100 (gpu_p6) partition (extension installed in July 2024 and equipped with NVIDIA H100 80 GB GPUs) must use specific/dedicated modules because the nodes that make it up are interconnected with InfiniBand technology while all other Jean Zay nodes use OmniPath.

The modules accessible by default are not compatible with this partition. It is therefore necessary to first load the arch/h100 module to access the dedicated modules:

$ module load arch/h100
$ module avail
------------------------------------- /lustre/fshomisc/sup/pub/modules-rh/modulefiles --------------------------------------
arch/a100 cuda/12.2.0 cuda/12.8.0 nvidia-compilers/24.7 nvidia-nsight-compute/2024.3.2.0
arch/h100 cuda/12.4.1 intel-oneapi-mkl/2024.1 nvidia-compilers/25.1 nvidia-nsight-systems/2024.4.1.61
cuda/12.1.0 cuda/12.6.3 nvidia-compilers/24.5 nvidia-nsight-compute/2024.2.1.0 nvidia-nsight-systems/2024.7.1.84

-------------------- /lustre/fshomisc/sup/pub/modules-idris-env4/modulefiles/linux-rhel9-sapphirerapids --------------------
alphafold/3.0.1 hdf5/1.12.0-mpi-cuda openblas/0.3.20
alphapulldown/2.0.1 hmmer/3.4-mpi-cuda openjdk/11.0.2
alphapulldown/2.1.5 htop/3.2.0 openjdk/11.0.15_10
[...]

$ module load <produit souhaité>

# Affichage non exhaustif, basé sur une sortie de la commande éditée en janvier 2026
caution

You must recompile your codes with the compatible modules before using them on this partition. If you plan to run a code on several different partitions, it is necessary to compile distinct binaries.

Your opinion matters!

To give your feedback, report an error, or suggest an improvement, click here:

quick anonymous questionnaire

This questionnaire is temporary and will take less than a minute, so take the opportunity!