Modules » Historique » Version 6
Argus Rusard, 18/01/2024 15:19
1 | 1 | Argus Rusard | # Modules |
---|---|---|---|
2 | |||
3 | |||
4 | |||
5 | 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. |
||
6 | |||
7 | La commande `module help` fournit une description des sous commandes disponibles. |
||
8 | |||
9 | ## exemples |
||
10 | |||
11 | |||
12 | * liste des modules actuellement chargés: |
||
13 | |||
14 | ``` shell |
||
15 | module list |
||
16 | ``` |
||
17 | |||
18 | * liste des modules disponibles: |
||
19 | |||
20 | ``` shell |
||
21 | module avail |
||
22 | ``` |
||
23 | |||
24 | * charger le module gcc: |
||
25 | |||
26 | ``` shell |
||
27 | module load gcc |
||
28 | ``` |
||
29 | |||
30 | * décharger le module gcc: |
||
31 | |||
32 | ``` shell |
||
33 | module unload gcc |
||
34 | ``` |
||
35 | |||
36 | * obtenir des informations sur le module gcc |
||
37 | |||
38 | ``` shell |
||
39 | module help gcc |
||
40 | ``` |
||
41 | |||
42 | ## Modules "de base" |
||
43 | |||
44 | 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... |
||
45 | |||
46 | ## Modules "contrib" |
||
47 | |||
48 | 6 | Argus Rusard | Certains modules sont installés par des membres de la communauté qui en possèdent le droit. Ces membres appartiennent au groupe UNIX "elfes-de-maison", 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` |
49 | 5 | Argus Rusard | |
50 | _Remarque:_ |
||
51 | - l'installation du logiciel se fait dans le repertoire: `/nfs/softs/contrib/apps/nomLogiciel/x.y.z` |
||
52 | - 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) |
||
53 | 1 | Argus Rusard | |
54 | Pour une liste exhaustive, taper dans votre shell: |
||
55 | |||
56 | ``` shell |
||
57 | module avail |
||
58 | ``` |
||
59 | |||
60 | ## Modules "Privates" |
||
61 | |||
62 | 4 | Argus Rusard | Chaque utilisateur peut créer ses propres modules. Cela lui permet de modifier son environnement pour gérer des applications de différentes versions. |
63 | 1 | Argus Rusard | |
64 | 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. |
||
65 | |||
66 | 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. |
||
67 | |||
68 | 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). |
||
69 | |||
70 | Un petit exemple: [[wmodule|écrire son module]] |
||
71 | |||
72 | "ce site":https://modules.readthedocs.io/en/latest/modulefile.html est un bon endroit pour approfondir l'écriture des modulefiles. |
||
73 | Vous pouvez également vous inspirer des modules qui se trouvent dans le répertoire /nfs/softs/contrib/modulefile |
||
74 | 2 | Argus Rusard | |
75 | ## Modules "[[Spack]]" |
||
76 | |||
77 | L'environnement de gestion [[Spack]] disponible sur le cluster expose ses logiciels aussi au travers des modules. |
||
78 | |||
79 | On peut les voir dans le dépôt `/nfs/softs/apps/spack/share/spack/modules/linux-rocky8-zen3`. |
||
80 | 3 | Argus Rusard | |
81 | 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: |
||
82 | |||
83 | ```bash |
||
84 | module unuse /nfs/softs/apps/spack/share/spack/modules/linux-rocky8-zen3 |
||
85 | ``` |