Skip to content
Snippets Groups Projects
Commit dd4cf54a authored by Michael Müller's avatar Michael Müller
Browse files

Merge branch 'SCS5Software' into 'preview'

SCS5Software: Fix checks

See merge request zih/hpc-compendium/hpc-compendium!116
parents 5d1915a5 35fce918
No related branches found
No related tags found
3 merge requests!322Merge preview into main,!319Merge preview into main,!116SCS5Software: Fix checks
...@@ -13,23 +13,24 @@ Here are the major changes from the user's perspective: ...@@ -13,23 +13,24 @@ Here are the major changes from the user's perspective:
## Host Keys ## Host Keys
Due to the new operating system, the host keys of the login nodes have Due to the new operating system, the host keys of the login nodes have also changed. If you have
also changed. If you have logged into tauruslogin6 before and still have logged into tauruslogin6 before and still have the old one saved in your `known_hosts` file, just
the old one saved in your `known_hosts` file, just remove it and accept remove it and accept the new one after comparing its fingerprint with those listed under
the new one after comparing its fingerprint with those listed under [Login](../access/Login.md#ssh-access).
[Login](Login#tableLogin2).
## Using software modules ## Using Software Modules
Starting with SCS5, we only provide Starting with SCS5, we only provide
[Lmod](RuntimeEnvironment#Lmod:_An_Alternative_Module_Implementation) as [Lmod](../data_management/RuntimeEnvironment.md#lmod-an-alternative-module-implementation) as the
the environment module tool of choice. environment module tool of choice.
As usual, you can get a list of the available software modules via: As usual, you can get a list of the available software modules via:
module available ```Bash
# or short: module available
ml av # or short:
ml av
```
There is a special module that is always loaded (sticky) called There is a special module that is always loaded (sticky) called
**modenv**. It determines the module environment you can see. **modenv**. It determines the module environment you can see.
...@@ -47,48 +48,45 @@ still work under SCS5. That's why those modenv versions are hidden. ...@@ -47,48 +48,45 @@ still work under SCS5. That's why those modenv versions are hidden.
Example: Example:
$ ml modenv/classic ansys/19.0 ```Bash
$ ml modenv/classic ansys/19.0
The following have been reloaded with a version change: The following have been reloaded with a version change:
1) modenv/scs5 => modenv/classic 1) modenv/scs5 => modenv/classic
Module ansys/19.0 loaded. Module ansys/19.0 loaded.
```
**modenv/scs5** will be loaded by default and contains all the software **modenv/scs5** will be loaded by default and contains all the software
that was built especially for SCS5. that was built especially for SCS5.
### Which modules should I use? ### Which modules should I use?
If possible, please use the modules from **modenv/scs5**. In case there If possible, please use the modules from **modenv/scs5**. In case there is a certain software
is a certain software missing, you can write an email to missing, you can write an [email to hpcsupport](mailto:hpcsupport@zih.tu-dresden.de) and we will try
<hpcsupport@zih.tu-dresden.de> and we will try to install the latest to install the latest version of this particular software for you.
version of this particular software for you.
However, if you still need *older* versions of some software, you have However, if you still need *older* versions of some software, you have to resort to using the
to resort to using the modules in the old module environment modules in the old module environment (**modenv/classic** most probably). We won't keep those around
(**modenv/classic** most probably). We won't keep those around forever forever though, so in the long-term, it is advisable to migrate your workflow to up-to-date versions
though, so in the long-term, it is advisable to migrate your workflow to of the software used.
up-to-date versions of the software used.
### Compilers, MPI-Libraries and Toolchains ### Compilers, MPI-Libraries and Toolchains
Since we are mainly using EasyBuild to install software now, we are Since we are mainly using EasyBuild to install software now, we are following their
following their toolchain schemes: [toolchain schemes](http://easybuild.readthedocs.io/en/latest/Common-toolchains.html).
<http://easybuild.readthedocs.io/en/latest/Common-toolchains.html>
We mostly install software using the "intel" toolchain, because in most We mostly install software using the "intel" toolchain, because in most cases, the resulting code
cases, the resulting code performs best on our Intel-based performs best on our Intel-based architectures. There are alternatives like GCC (foss), PGI or
architectures. There are alternatives like GCC (foss), PGI or Clang/LLVM Clang/LLVM though.
though.
Generally speaking, the toolchains in this new environment are separated Generally speaking, the toolchains in this new environment are separated into more parts (modules)
into more parts (modules) than you will be used to, coming from than you will be used to, coming from modenv/classic. A full toolchain, like "intel", "foss" or
modenv/classic. A full toolchain, like "intel", "foss" or "iomkl" "iomkl" consists of several sub-modules making up the layers of
consists of several sub-modules making up the layers of
- compilers - compilers
- MPI library - MPI library
- math library (providing BLAS/LAPACK/FFT routines etc.) - math library (providing BLAS/LAPACK/FFT routines etc.)
For instance, the "intel" toolchain has the following structure: For instance, the "intel" toolchain has the following structure:
...@@ -108,8 +106,8 @@ On the other hand, the "foss" toolchain looks like this: ...@@ -108,8 +106,8 @@ On the other hand, the "foss" toolchain looks like this:
| mpi library | OpenMPI | | mpi library | OpenMPI |
| math libraries | OpenBLAS, FFTW | | math libraries | OpenBLAS, FFTW |
If you want to combine the Intel compilers and MKL with OpenMPI, you'd If you want to combine the Intel compilers and MKL with OpenMPI, you'd have to use the "iomkl"
have to use the "iomkl" toolchain: toolchain:
| | | | | |
|--------------|------------| |--------------|------------|
...@@ -118,40 +116,34 @@ have to use the "iomkl" toolchain: ...@@ -118,40 +116,34 @@ have to use the "iomkl" toolchain:
| mpi library | OpenMPI | | mpi library | OpenMPI |
| math library | imkl | | math library | imkl |
There are also subtoolchains that skip a layer or two, e.g. "iccifort" There are also subtoolchains that skip a layer or two, e.g. "iccifort" only consists of the
only consists of the respective compilers, same as "GCC". Then there is respective compilers, same as "GCC". Then there is "iompi" that includes Intel compilers+OpenMPI but
"iompi" that includes Intel compilers+OpenMPI but no math library, etc. no math library, etc.
#### What is this "GCCcore" I keep seeing and how does it relate to "GCC"? #### What is this "GCCcore" I keep seeing and how does it relate to "GCC"?
GCCcore includes only the compilers/standard libraries of the GNU GCCcore includes only the compilers/standard libraries of the GNU compiler collection but without
compiler collection but without "binutils". It is used as a dependency "binutils". It is used as a dependency for many modules without getting in the way, e.g. the Intel
for many modules without getting in the way, e.g. the Intel compilers compilers also rely on libstdc++ from GCC, but you don't want to load two compiler modules at the
also rely on libstdc++ from GCC, but you don't want to load two compiler same time, so "intel" also depends on "GCCcore". You can think of it as more of a runtime dependency
modules at the same time, so "intel" also depends on "GCCcore". You can rather than a full-fledged compiler toolchain. If you want to compile your own code with the GNU
think of it as more of a runtime dependency rather than a full-fledged compilers, you have to load the module: "**GCC"** instead, "GCCcore" won't be enough.
compiler toolchain. If you want to compile your own code with the GNU
compilers, you have to load the module: "**GCC"** instead, "GCCcore" There are [ongoing discussions](https://github.com/easybuilders/easybuild-easyconfigs/issues/6366)
won't be enough. in the EasyBuild community to maybe change this in the future in order to avoid the potential
confusion this GCCcore module brings with it.
There are [ongoing
discussions](https://github.com/easybuilders/easybuild-easyconfigs/issues/6366)
in the EasyBuild community to maybe change this in the future in order
to avoid the potential confusion this GCCcore module brings with it.
#### I have been using "bullxmpi" so far, where can I find it? #### I have been using "bullxmpi" so far, where can I find it?
bullxmpi was more or less a rebranded OpenMPI 1.6 with some additions bullxmpi was more or less a rebranded OpenMPI 1.6 with some additions from Bull. It is not supported
from Bull. It is not supported anymore and Bull has abandoned it in anymore and Bull has abandoned it in favor of a standard OpenMPI 2.0.2 build as their default in
favor of a standard OpenMPI 2.0.2 build as their default in SCS5. You SCS5. You should migrate your code to our OpenMPI module or maybe even try Intel MPI instead.
should migrate your code to our OpenMPI module or maybe even try Intel
MPI instead.
#### Where have the analysis tools from Intel Parallel Studio XE gone? #### Where have the analysis tools from Intel Parallel Studio XE gone?
Since "intel" is only a toolchain module now, it does not include the Since "intel" is only a toolchain module now, it does not include the entire Parallel Studio
entire Parallel Studio anymore. Tools like the Intel Advisor, Inspector, anymore. Tools like the Intel Advisor, Inspector, Trace Analyzer or VTune Amplifier are available as
Trace Analyzer or VTune Amplifier are available as separate modules now: separate modules now:
| product | module | | product | module |
|:----------------------|:----------| |:----------------------|:----------|
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment