Les modules permettent de modifier de manière dynamique les variables d’environnement nécessaires à l’exécution de votre code (essentiellement PATH, LD_LIBRARY_PATH ou encore MAN_PATH), en fonction du module que vous chargez.
Ils se présentent sous la forme <nom du logiciel>/<version>
La liste complète des modules du cluster peut être affichée avec la commande :
module spider
Les modules sont organisés hiérarchiquement, sous la forme de dépendances. Par exemple, pour utiliser PnetCDF vous devez d’abord charger une implémentation de MPI. Les modules que vous pouvez charger immédiatement sont ceux affichés avec :
module av
Nous essayons de vous créer des modules qui intègrent déjà des dépendances. Mais pour charger le module voulu, il faut donc parfois d’abord avoir chargé un (ou des) module(s) dont dépend le module désiré. Pour savoir quels sont ces modules, tapez la commande :
module spider <module voulu>
Pour consulter la liste des modules installés sur le cluster, vous pouvez également cliquer ici.
Pour connaître les détails sur un module (quelle version de compilateur, quelles variables d’environnement sont créées en le chargeant), utilisez la commande help. Attention, si le module en question a une dépendance envers un autre module, il vous faudra d’abord charger ce module avant d’appeler la commande help.
module help <module name>
Pour charger un module, utilisez la commande :
module load <nom du module>
Attention, il se peut qu’un logiciel ait plusieurs versions installées, il aura donc un module pour chaque version. Parmi ces modules, il y en a un qui sera chargé par défaut si vous ne spécifiez pas le numéro de version. Veillez donc à inclure le numéro de version dans le nom du module, sinon il se peut que vous ne chargiez pas le bon module.
Pour consulter les modules chargés actuellement :
module list
Pour décharger un module :
module unload <nom du module>
Pour décharger toute votre liste de module chargés, utilisez :
module purge
Il est par exemple recommandé de faire appel à cette commande au début d’un batch, avant de charger ses modules.