aide mémoire pbs : les modules

Les modules sont des éléments essentiels pour les soumissions des travaux sous un cluster. Ils permettent le transport des chemins, des raccourcis, et des variables d'environnement sous les noeuds. En particulier, un module permet l'exécution sur les noeuds d'un programme particulier.

Dans une soumission monScript.job, ou en ligne de commande, l'appel à un module se fait comme suit

module load monModule

La suppression de tout ce qui est définis dans le module se fait par commande inverse

module unload monModule

Un module est dont un petit fichier texte, placé dans le repertoire /usr/local/modules/.

La structure d'un fichier module monModule est comme suit

#%Module1.0#########################################
##
##monModule modulefile
##

proc ModulesHelp { } {
  puts stderr "\tThis adds the environment variables \n"
}

module-whatis "This adds the environment variables "

prepend-path    LICENSE_FILE      /MonCheminVersLesLicences/licenses
prepend-path    MANPATH /MonCheminVersAide/man
prepend-path    PATH    /MonCheminVersExecutable/
prepend-path    LD_LIBRARY_PATH /MonCheminVersLibraries/lib
prepend-path    LD_LIBRARY_PATH /MonCheminVersLibraries64bits/64/ 

La partie ModulesHelp permet de donner le contenu du module, de même que la ligne module-whatis. Sans ces lignes, le module peut fonctionner.

Les deux lignes prepend-path permettent d'ajouter aux chemins du système ceux qui contiennent les éléments nécessaires à l'exécution du programme associé au module, comme

> les licences ;

> les exécutables ;

> les aides ;

> les libraires.

Il est à noter que l'on peut également définir des répertoires, ce qui permet de spécifier simplement la version d'utilisation du programme. Ainsi, dans le répertoire /usr/local/modules, nous pouvons créer un dossier monPrg, dans lequel nous spécifierons plusieurs fichier module portant le nom de la version du programme dont on souhaite spécifier les variables d'environnement.

La structure du répertoire /usr/local/modules est donc la suivante

:~>ls
monPrg
:~>cd monPrg
:~>ls
v1 v2 v3 v4

où v1, v2 etc. sont les fichier modules correspondant à la version du programme.

L'appel à ces modules dans les fichiers de soumissions de calculs (ou en ligne de commande) se fera alors comme suit

module load monPrg/v1

Écrire un commentaire

Quelle est la dernière lettre du mot tjjoy ? :