Différences entre versions de « Modules »

De POLR
Sauter à la navigation Sauter à la recherche
Ligne 3 : Ligne 3 :
  
 
== Comment utiliser les modules ==
 
== Comment utiliser les modules ==
Par défaut module est initialisé pour tous les utilisateurs de [[Mingan]] via le fichier ''/etc/bashrc''. La commande ''module avail'' permet de voir la liste des modules qui sont disponibles, i.e. qui ont été préalablement installés par l'administrateur.  
+
Par défaut module est initialisé pour tous les utilisateurs de [[Mingan]] via le fichier ''/etc/bashrc''. La commande ''module avail'' permet de voir la liste des modules qui sont disponibles, i.e. qui ont été préalablement installés par l'administrateur. En date du 14 octobre 2015:
 
  $ module avail
 
  $ module avail
  ----------------------------- /usr/share/Modules/modulefiles -----------------------------
+
  --------------------------- /usr/share/Modules/modulefiles ---------------------------
 
  dot              module-info      null            rocks-openmpi    use.own
 
  dot              module-info      null            rocks-openmpi    use.own
 
  module-git      modules          opt-python      rocks-openmpi_ib
 
  module-git      modules          opt-python      rocks-openmpi_ib
+
 
  ------------------------------------ /etc/modulefiles ------------------------------------
+
  ---------------------------------- /etc/modulefiles ----------------------------------
 
  openmpi-x86_64
 
  openmpi-x86_64
 
---------------------------- /share/apps/modules/modulefiles -----------------------------
 
ferret                  ncview                  openmpi/1.8.3-gcc-4.9.2
 
gcc/4.9.2              netcdf/gcc-4.9.2        rom_nc_lib/gcc-4.4.7
 
gdal                    netcdf/ifort            rom_nc_lib/gcc-4.9.2
 
makedepf90              octave/3.8.2            rom_nc_lib/ifort
 
mpich2                  openmpi/1.8.3
 
  
 +
-------------------------- /share/apps/modules/modulefiles ---------------------------
 +
fcm                    makedepf90              openmpi/1.8.3
 +
ferret                  matlab2015b            openmpi/1.8.3-gcc-4.9.2
 +
ffmpeg                  mpich2                  rom_nc_lib/gcc-4.4.7
 +
gcc/4.9.2              ncview                  rom_nc_lib/gcc-4.9.2
 +
gdal                    netcdf/gcc-4.9.2        rom_nc_lib/ifort
 +
libmapproj              netcdf/ifort
 +
libtm                  octave/3.8.2
  
  

Version du 14 octobre 2015 à 14:55

Introduction

L'application Environment Modules permet de modifier l'environnement d'un utilisateur afin qu'il puisse avoir accès à certaines fonctionnalités. Cet outil est commode lorsque plusieurs utilisateurs utilisent, par exemple, différentes versions d'un même logiciel, ou bien lorsque différents modèles requièrent différentes versions d'un même compilateur.

Comment utiliser les modules

Par défaut module est initialisé pour tous les utilisateurs de Mingan via le fichier /etc/bashrc. La commande module avail permet de voir la liste des modules qui sont disponibles, i.e. qui ont été préalablement installés par l'administrateur. En date du 14 octobre 2015:

$ module avail
--------------------------- /usr/share/Modules/modulefiles ---------------------------
dot              module-info      null             rocks-openmpi    use.own
module-git       modules          opt-python       rocks-openmpi_ib
---------------------------------- /etc/modulefiles ----------------------------------
openmpi-x86_64
-------------------------- /share/apps/modules/modulefiles ---------------------------
fcm                     makedepf90              openmpi/1.8.3
ferret                  matlab2015b             openmpi/1.8.3-gcc-4.9.2
ffmpeg                  mpich2                  rom_nc_lib/gcc-4.4.7
gcc/4.9.2               ncview                  rom_nc_lib/gcc-4.9.2
gdal                    netcdf/gcc-4.9.2        rom_nc_lib/ifort
libmapproj              netcdf/ifort
libtm                   octave/3.8.2


Les modules peuvent être chargés ou déchargés avec les commandes module load ou module unload, respectivement. Pour voir quels modules sont chargés, utilisez la commande module list

$ module list
No Modulefiles Currently Loaded.

Pour charger un module,

$ module load mpich2
$ module list
Currently Loaded Modulefiles:
  1) mpich2

Pour connaître les propriété d'un module,

$ module whatis dot
dot: adds '.' to your PATH environment variable

ou encore,

$ module display dot
-------------------------------------------------------------------
/usr/share/Modules/modulefiles/dot:
module-whatis	 adds `.' to your PATH environment variable 
append-path	 PATH . 
-------------------------------------------------------------------

Description des modules

Module Description
dot Ajoute le répertoire courant (./) à la variable PATH
modules Charge l'environnement pour modules
rocks-openmpi Utiliser OpenMPI compilé avec Rocks avec trasnport tcp
module-git Obtenir les codes sources de la version courante de l'environnement module
null Module qui ne fait absolument rien
rocks-openmpi_ib Utiliser OpenMPI compilé avec Rocks avec trasnport ib (pas utilisable sur mingan)
module-info retourne les informations et valeurs concernant le logiciel module
opt-python Charge Python version 2.7.6 ou 3.3 au lieu du Python par défaut qui est à la version 2.6.6
netcdf/gcc-4.9.2 Bibliothèque NetCDF compilée avec gcc 4.9.2 (Requiert le module gcc/4.9.2)
use.own Ajoute vos propres fichiers module à la variable MODULEPATH
openmpi-x86_64 Version de openmpi compilée avec GCC 4.4 sans interaction avec TORQUE
gcc/4.9.2 Charge la version 4.9.2 des compilateurs GNU
mpich2 Charge l'environnement mpich2
openmpi/1.8.3-gcc-4.9.2 Charge la version 1.8.3 de openmpi compilée avec GCC version 4.9.2 et interaction avec TORQUE (Requiert le module gcc/4.9.2)
octave/3.8.2 Charge la version 3.8.2 d'Octave
openmpi/1.8.3 Charge openmpi version 1.8.3 avec interraction avec TORQUE
makedepf90 Rend disponible le générateur de dépendences pour Fortran 90
rom_nc_lib Charge l'environnement permettant d'utiliser la bibliothèque rom_nc_lib pour les sorties netcdf du modèle MOR
ncview Charge l'environnement pour l'utilitaire ncview. Disponible uniquement sur le noeud de connexion mingan
gdal Charge l'environnement pour GDAL V1.11.2

Modules et scripts lancés avec cron

Sur la grappe mingan, pour lancer un script utilsant des modules (module load ...) dans un script lancé à partir d'un crontab, il faut modifier la première ligne du script pour initialiser l'environnement de login.

#!/bin/bash
#

doit être remplacé par

#!/bin/bash -l   (-ell)
#
#Charger un module
module load gcc

Ainsi, les commandes module load ... sont reconnues dans le script.


Références