Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
habrok:software_environment:toolchains [2021/04/14 19:20] – external edit 127.0.0.1 | habrok:software_environment:toolchains [2023/03/22 10:14] (current) – [Short version] fokke | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{indexmenu_n> | + | {{indexmenu_n> |
====== Advanced: Toolchains | ====== Advanced: Toolchains | ||
===== Short version ===== | ===== Short version ===== | ||
- | Do not mix up toolchain versions (2016a vs 2018a) or toolchain names (foss vs intel). It will load incompatible versions of compilers/ | + | Do not mix up toolchain versions (2021b vs 2022a) or toolchain names (foss vs intel). It will load incompatible versions of compilers/ |
- | This is very easy to do if you rely on default modules since these change depending on what the newest installed version is. Software is sometimes not updated synchronously so you may run into an issue where loading defaults for '' | + | This is very easy to do if you rely on default modules since these change depending on what the newest installed version is. Software is sometimes not updated synchronously, so you may run into an issue where loading defaults for '' |
===== Longer version ===== | ===== Longer version ===== | ||
Line 13: | Line 13: | ||
In order to find out what a toolchain consists of, you can simply load it and do a '' | In order to find out what a toolchain consists of, you can simply load it and do a '' | ||
- | For instance, for foss ('' | + | For instance, for foss ('' |
< | < | ||
- | $ module load foss/2018a | + | $ module load foss/2022a |
$ module list | $ module list | ||
Currently Loaded Modules: | Currently Loaded Modules: | ||
- | 1) GCCcore/6.4.0 4) numactl/2.0.11-GCCcore-6.4.0 7) OpenBLAS/0.2.20-GCC-6.4.0-2.28 10) ScaLAPACK/2.0.2-gompi-2018a-OpenBLAS-0.2.20 | + | 1) 2023.01 (S) 10) libpciaccess/0.16-GCCcore-11.3.0 19) OpenBLAS/0.3.20-GCC-11.3.0 |
- | | + | |
- | | + | 3) GCCcore/ |
+ | | ||
+ | 5) binutils/ | ||
+ | | ||
+ | 7) numactl/2.0.14-GCCcore-11.3.0 | ||
+ | 8) XZ/5.2.5-GCCcore-11.3.0 | ||
+ | 9) libxml2/ | ||
</ | </ | ||
{{ ..: | {{ ..: | ||
- | From here you can see that the main component of this toolchain is the GCC(core) | + | From here you can see that the main component of this toolchain is the GCC(core) |
However, if you would now load something that was built with another toolchain or GCC, the module system will try to switch from one version to another (since loading two versions of the compiler simultaneously is not possible). In such cases, the module command will output something like: | However, if you would now load something that was built with another toolchain or GCC, the module system will try to switch from one version to another (since loading two versions of the compiler simultaneously is not possible). In such cases, the module command will output something like: | ||
< | < | ||
The following have been reloaded with a version change: | The following have been reloaded with a version change: | ||
- | 1) FFTW/3.3.7-gompi-2018a => FFTW/3.3.8-gompi-2020a | + | 1) FFTW.MPI/3.3.10-gompi-2022a => FFTW.MPI/3.3.10-gompi-2022b 12) XZ/ |
- | 2) GCC/6.4.0-2.28 => GCC/9.3.0 | + | 2) FFTW/3.3.10-GCC-11.3.0 => FFTW/ |
- | 3) GCCcore/6.4.0 => GCCcore/9.3.0 | + | 3) FlexiBLAS/3.2.0-GCC-11.3.0 => FlexiBLAS/3.2.1-GCC-12.2.0 14) foss/2022a => foss/2022b |
... | ... | ||
</ | </ | ||
- | This will probably break all the loaded modules that depended | + | This will probably break all the loaded modules that depend |