Translations:Utiliser des modules/27/en: Difference between revisions
(modified last sentence) |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Module hierarchy == | |||
Many HPC clusters around the world 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 9.3 and Open MPI 4.0, you might see modules named <code>openmpi/4.0_gcc9.3</code> and <code>fftw/3.8_gcc9.3_openmpi4.0</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/ | {{Command|module load gcc/9.3 openmpi/4.0_gcc9.3 fftw/3.8_gcc9.3_openmpi4.0}} | ||
you instead use | you instead use | ||
{{Command|module load gcc/ | {{Command|module load gcc/9.3 openmpi/4.0 fftw/3.8}} | ||
This is made possible by using a module hierarchy. The <code>fftw/3. | This is made possible by using a module hierarchy. The <code>fftw/3.8</code> 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. |
Latest revision as of 14:19, 24 July 2024
Module hierarchy[edit]
Many HPC clusters around the world 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 9.3 and Open MPI 4.0, you might see modules named openmpi/4.0_gcc9.3
and fftw/3.8_gcc9.3_openmpi4.0
. 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/9.3 openmpi/4.0_gcc9.3 fftw/3.8_gcc9.3_openmpi4.0
you instead use
[name@server ~]$ module load gcc/9.3 openmpi/4.0 fftw/3.8
This is made possible by using a module hierarchy. The fftw/3.8
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.