Project

General

Profile

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.

La commande module help fournit une description des sous commandes disponibles.

exemples

  • liste des modules actuellement chargés dans votre environnement :
    module list
    
  • liste des modules disponibles sur la machine dans les espaces communs :
    module avail
    
  • chercher un module via un pattern. Exemple avec 'gcc'
    module avail gcc
    
    # ou même, pour les barbus:
    module avail |& grep -i gcc
    
  • charger le module gcc:
    # dernière version disponible
    module load gcc
    
    # version spécifique x.y.z
    module load gcc/x.y.z
    
  • décharger le module gcc:
    module unload gcc
    
  • décharger tous les modules de votre environnement courant :
    module purge
    
  • obtenir des informations sur le module gcc
    module help gcc
    

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 /gpfs/softs/contrib
Remarque:
  • l'installation du logiciel se fait dans le repertoire: /gpfs/softs/contrib/apps/nomLogiciel/x.y.z
  • le fichier definissant le module est a mettre dans /gpfs/softs/contrib/modulefiles/nomLogiciel/x.y.z (ou x.y.z est le numéro de version du logiciel)

Pour une liste exhaustive, taper dans votre shell:

module avail

Modules "IFB"

L’Institut Français de Bioinformatique (IFB) nous fait aimablement profiter de son environnement logiciel très fourni. Vous les retrouverez dans le dépôt de modules (commande "module av") dans l'arborescence /gpfs/softs/contrib/ifb/modulefiles

Il est possible de demander l'installation d'un nouvel outil pour la communauté bioinformatique via le forum de l'IFB: https://community.france-bioinformatique.fr/

Remarque: Le nombre des modules IFB étant très important, cela peut gêner si on ne souhaite pas les voir. Afin de ne plus voir ces modules, on peut supprimer ce dépôt en ajoutant dans son fichier ~/.bashrc la ligne suivante:

module unuse /gpfs/softs/contrib/ifb/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 le 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).

Un petit exemple: écrire son module

ce site est un bon endroit pour approfondir l'écriture des modulefiles.
Vous pouvez également vous inspirer des modules qui se trouvent dans le répertoire /gpfs/softs/contrib/modulefile

Modules "Spack"

L'environnement de gestion Spack disponible sur le cluster expose ses logiciels aussi au travers des modules.

On peut les voir dans le dépôt `/gpfs/softs/spack/share/spack/modules/linux-centos7-skylake_avx512`.

Si on ne souhaite pas voir les module spack avec la commande `module available`, on peut désactiver le dépôt avec la commande suivante:

module unuse /gpfs/softs/spack/share/spack/modules/linux-centos7-skylake_avx512