Projet

Général

Profil

Modules

  • Les modules d'environnement (http://modules.sourceforge.net/) sont un outil qui permet de gérer la liste et la version des logiciels et librairies accessibles depuis la session utilisateur.
  • module version 5.4.0 (2024-02-20) est disponible
  • La commande module help fournit une description des sous commandes disponibles.

exemples

  • liste des modules actuellement chargés dans votre environnement :

    module list
    # ou
    module li
    
  • liste des modules disponibles sur la machine dans les espaces communs :

    module avail
    # ou
    module av 
    
  • chercher un module via un pattern. Exemple avec 'mpi'

    module avail mpi
    # ou 
    module avail |& grep -i mpi
    
  • charger le module starccm+:

    # dernière version disponible
    module load cfd/starccm+/
    # version spécifique x.y.z
    module load cfd/starccm+/18.02.010
    
  • décharger le module compilers/gcc/14.2.0:

    module unload compilers/gcc/14.2.0
    
  • décharger tous les modules de votre environnement courant :

    module purge
    
  • obtenir des informations sur le module

module help lib/petsc/3.23/opt/ompi_gcc14
-------------------------------------------------------------------
Module Specific Help for /softs/modulefiles/lib/petsc/3.23/opt/ompi_gcc14:

lib/petsc/3.23/opt/ompi_gcc14 - loads the petsc environment
loads the  petsc parallel environment
 optimized version, compiled with
 Open Mpi gnu14 (gfortran,gcc,g++) and intel mkl blacs/scalapack, 32 bits Integer
  additionnal lib : HDF5, NETCDF, METIS, PARMETIS, SCOTCH, FFTW, HYPRE, MUMPS, MOAB, MMG, TETGEN, SUNDIALS, ...

         you need to load compilers/gcc/14.2.0 mpi/openmpi/5.0.5 before!

         usage : module load compilers/gcc/14.2.0 mpi/openmpi/5.0.5 lib/petsc/3.23/opt/ompi_gcc14

-------------------------------------------------------------------

gestion de collection de modules

module permet de gérer une collection pouvant être (re)chargé par la suite ;
les sous-commandes à utiliser pour les collections : module save COLLECTION_NAME ; module restore COLLECTION_NAME ; module saveshow COLLECTION_NAME ; module saverm COLLECTION_NAME.

Créer sa collection :

  • Charger plusieurs librairies dans son l'environnement
module add compilers/gcc/14.2.0 mpi/intelmpi/2025.0.0
  • Sauvegarder l'environnement
module save gcc-impi

Réutilisation de la collection

module purge # 
module li
module restore gcc-impi
Loading ...

commandes

  • module savelist [-l] : liste les collection enregistrées
  • module saveshow COLLECTION_NAME : affiche les commandes exécutées par module
  • module saverm COLLECTION_NAME : détruit la collection

Modules "de base"

Le cluster vient avec un certain nombre de modules prédéfinis (ou installés par les puissants administrateurs). Parmi lesquels on trouve la suite Intel, les librairies MPI, etc...

Modules "contrib"

Certains modules sont installés par des membres de la communauté qui en possèdent le droit. Ces membres appartiennent au groupe UNIX "swadmins", ce qui leur permet de déposer les logiciels et les modulefiles (fichier de définition du module associé au logiciel) dans l'emplacement adéquat sous /softs/contrib
Remarque:

  • l'installation du logiciel se fait dans le repertoire: /softs/contrib/
  • le fichier définissant le module est à mettre dans /softs/contrib/modulefiles/

Modules "Privates"

Chaque utilisateur peut créer ses propres modules. Cela lui permet de modifier son environnement pour gérer des applications de différentes versions.

Il suffit dans un premier temps de charger module use.own et de placer les fichiers correspondants au module dans le répertoire .privatemodules qui va être créé dans votre répertoire personnel.

Dans le nom du répertoire .privatemodules le point en début de nom sert à spécifier que c'est un fichier caché. Il faut utiliser l'option -a de ls pour pouvoir le voir.

Dans ce répertoire vous pouvez placer des modulefiles qui servent à modifier votre environnement pour que le système puisse utiliser votre logiciel (modification du PATH ou PYTHONPATH, modification de la variable LD_LIBRARY_PATH pour pointer vers les librairies dont a besoin votre code, ...etc).

https://modules.readthedocs.io/en/latest/modulefile.html est un bon endroit pour approfondir l'écriture des modulefiles.
Vous pouvez également vous inspirer des modules qui se trouvent dans le répertoire /softs/contrib/modulefile