Modules » Historique » Révision 5
Révision 4 (Argus Rusard, 27/04/2023 10:27) → Révision 5/7 (Argus Rusard, 27/04/2023 10:28)
# 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: ``` shell module list ``` * liste des modules disponibles: ``` shell module avail ``` * charger le module gcc: ``` shell module load gcc ``` * décharger le module gcc: ``` shell module unload gcc ``` * obtenir des informations sur le module gcc ``` shell 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 `/nfs/softs/contrib` _Remarque:_ - +Remarque:+ * l'installation du logiciel se fait dans le repertoire: `/nfs/softs/contrib/apps/nomLogiciel/x.y.z` - * le fichier définissant le module est a mettre dans `/nfs/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: ``` shell module avail ``` ## 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: [[wmodule|écrire son module]] "ce site":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 /nfs/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 `/nfs/softs/apps/spack/share/spack/modules/linux-rocky8-zen3`. 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: ```bash module unuse /nfs/softs/apps/spack/share/spack/modules/linux-rocky8-zen3 ```