Bureaucrats, cc_docs_admin, cc_staff, rsnt_translations
2,837
edits
No edit summary |
No edit summary |
||
Line 103: | Line 103: | ||
Certains modules sont cachés. Vous pouvez les ignorer. Il s'agit généralement de modules que vous n'avez pas à charger manuellement. Ils sont chargés automatiquement selon les besoins. | Certains modules sont cachés. Vous pouvez les ignorer. Il s'agit généralement de modules que vous n'avez pas à charger manuellement. Ils sont chargés automatiquement selon les besoins. | ||
= Hiérarchie de modules = <!--T:27--> | |||
Plusieurs des systèmes de calcul informatique de pointe à travers le monde utilisent une structure de modules plate avec tous les modules au même niveau. Ceci devient problématique lorsqu'un grand nombre de combinaisons de versions de différents modules sont disponibles. Par exemple, si vous avez à utiliser la bibliothèque [[FFTW]], et que le module <tt>fftw</tt> est disponible en plusieurs versions, dont une version compilée avec le compilateur <tt>gcc</tt> version 4.8 et <tt>openmpi</tt> 1.6, vous avez peut-être déjà vu des modules nommés <tt>openmpi/4.0_gcc9.3</tt> et <tt>fftw/3.8_gcc9.3_openmpi4.0</tt>. Ceci n'est ni élégant ni pratique. Pour résoudre ce problème, nous utilisons une hiérarchie de modules. Plutôt que d'utiliser la commande | |||
{{Commande|module load gcc/9.3 openmpi/4.0_gcc9.3 fftw/3.8_gcc9.3_openmpi4.0}} | |||
{{Commande|module load gcc/ | |||
vous utiliserez la commande | vous utiliserez la commande | ||
{{Commande|module load gcc/ | {{Commande|module load gcc/9.3 openmpi/4.0 fftw/3.8}} | ||
Ceci est rendu possible avec une hiérarchie de modules. Le module <tt>fftw/3. | Ceci est rendu possible avec une hiérarchie de modules. Le module <tt>fftw/3.8</tt> qui est chargé ne sera pas le même si vous avez chargé au préalable le compilateur Intel ou le compilateur GCC. | ||
<!--T:28--> | <!--T:28--> | ||
L'inconvénient d'utiliser une hiérarchie de modules est que, puisque des modules peuvent avoir le même nom, seuls les modules compatibles avec les modules ''parents'' sont affichés par la commande <tt>module avail</tt>. Charger un parent est donc un prérequis afin d'avoir accès à certains modules. Pour avoir l'information complète, | L'inconvénient d'utiliser une hiérarchie de modules est que, puisque des modules peuvent avoir le même nom, seuls les modules compatibles avec les modules ''parents'' sont affichés par la commande <tt>module avail</tt>. Charger un parent est donc un prérequis afin d'avoir accès à certains modules. Pour avoir l'information complète, le système de module rend disponible la commande <tt>module spider</tt>. Celle-ci parcourt la hiérarchie complète et affiche tous les modules. En spécifiant un module et une version particulière, il est alors possible de savoir quels chemins de la hiérarchie permettent de charger le module désiré. | ||
= | = Remplacement automatique de modules = <!--T:32--> | ||
Lorsque le système de modules détecte deux modules de la même famille, ou deux versions du même module, la commande <tt>module load</tt> remplacera automatiquement le module original par celui qui doit être chargé. Dans le cas où le module remplacé est un nœud de la hiérarchie de modules, les modules dépendants seront chargés de nouveau s'il existe une version compatible, ou désactivés dans le cas contraire. | |||
= Créer des modules = <!--T:36--> | = Créer des modules = <!--T:36--> |