Translations:Utiliser des modules/27/en: Difference between revisions
(modified last sentence) |
No edit summary |
||
Line 1: | Line 1: | ||
== Module hierarchy == | |||
Most systems use a flat module structure: All modules are at the same level. This becomes problematic when many combinations of versions of different modules are available on a system. For example, if you need to use the [[FFTW]] library and the module <code>fftw</code> is available in several versions, including a version compiled with GCC 4.8 and Open MPI 1.6, you might see modules named <code>openmpi/1.6_gcc4.8</code> and <code>fftw/3.3_gcc4.8_openmpi1.6</code>. This is neither elegant nor practical. To solve this problem we use a hierarchy of modules. Rather than using the command | Most systems use a flat module structure: All modules are at the same level. This becomes problematic when many combinations of versions of different modules are available on a system. For example, if you need to use the [[FFTW]] library and the module <code>fftw</code> is available in several versions, including a version compiled with GCC 4.8 and Open MPI 1.6, you might see modules named <code>openmpi/1.6_gcc4.8</code> and <code>fftw/3.3_gcc4.8_openmpi1.6</code>. This is neither elegant nor practical. To solve this problem we use a hierarchy of modules. Rather than using the command | ||
{{Command|module load gcc/4.8 openmpi/1.6_gcc4.8 fftw/3.3_gcc4.8_openmpi1.6}} | {{Command|module load gcc/4.8 openmpi/1.6_gcc4.8 fftw/3.3_gcc4.8_openmpi1.6}} |
Revision as of 14:31, 28 August 2017
Module hierarchy[edit]
Most systems use a flat module structure: All modules are at the same level. This becomes problematic when many combinations of versions of different modules are available on a system. For example, if you need to use the FFTW library and the module fftw
is available in several versions, including a version compiled with GCC 4.8 and Open MPI 1.6, you might see modules named openmpi/1.6_gcc4.8
and fftw/3.3_gcc4.8_openmpi1.6
. This is neither elegant nor practical. To solve this problem we use a hierarchy of modules. Rather than using the command
[name@server ~]$ module load gcc/4.8 openmpi/1.6_gcc4.8 fftw/3.3_gcc4.8_openmpi1.6
you instead use
[name@server ~]$ module load gcc/4.8 openmpi/1.6 fftw/3.3
This is made possible by using a module hierarchy. The fftw/3.3
module that is loaded will not be the same one that would be loaded if you had previously loaded the Intel compilers instead of GCC.