Skip to content
Snippets Groups Projects
Commit ad828691 authored by Martin Lang's avatar Martin Lang
Browse files

Update package requirements documentation

parent e5ca9a53
No related branches found
No related tags found
No related merge requests found
......@@ -10,10 +10,12 @@ the other packages are compiled
- Octoups~OpenMP requires ELPA~OpenMP (pkconfig unconditionally brings in ~-fopenmp~ -> Octopus would compile with OpenMP; hence we cannot support it)
- In EasyBuild ELPA is provided with and without OpenMP support in one prefix
(different sonames)
- In Spack up to release ~23c~ we only provide ELPA with OpenMP support
- [TODO: FINAL DECISION REQUIRED] In Spack starting from release ~24a~ we
replicate EasyBuild and provide ELPA with and without OpenMP support under the
same prefix
- From MPSD software release ~24b~ onwards we provide both versions separately. We change the module name to elpa-openmp for elpa+openmp to avoid
the name clash. Both modules are loaded via the octopus-dependencies/full metamodule. We rely on the Octopus CMake configuration to pick up
the desired one.
- In MPSD software release ~24a~ we replicate EasyBuild and provide ELPA with
and without OpenMP support under the same prefix
- In MPSD software release ~23c~ we only provide ELPA with OpenMP support
- In a GPU toolchain ELPA may need CUDA support
** DFTB+
......@@ -65,15 +67,12 @@ the other packages are compiled
- the intel compiler does not bring its own C++ standard library; instead it uses
gcc to get the standard library; hence the stdlibrary version depends on the
gcc version visible to the intel compiler
- we can use additional flags to help pick the correct gcc
(https://spack.readthedocs.io/en/latest/build_systems/intelpackage.html#installing-intel-tools-within-spack)
#+begin_quote
Use the modules: and/or cflags: tokens to further specify a suitable
accompanying gcc version to help pacify picky client packages that ask for C++
standards more recent than supported by your system-provided gcc and its
libstdc++.so.
#+end_quote
*NOTE* the docs say **more recent that ... system**, which might indicate why we still see some problems
- by installing intel-oneapi-compilers[-classic]%gcc@toolchain Spack
automatically configures the intel compiler (bin/icx.cfg and similar) in a way
that it depends on the correct gcc. Passing ~-gcc/gxx-name~ or
~-gcc-toolchain~ explicitly is not required. (We did this in the 24a release
because we did not know about the configuration files; adding these flags has
been removed from mpsd-software in Dec. 2024)
** GCC compatibility
- intel classic (~icc~ and ~icpc~) not compatible with gcc>12 (the compiler has been discontinued, so this is unlikely to ever change)
- This has been [[https://gitlab.gwdg.de/mpsd-cs/spack-environments/-/merge_requests/109#note_1181314][verified by Jehferson Mello]] (observed issue: incompatibility with C++ std library headers)
......@@ -152,7 +151,7 @@ the other packages are compiled
- anaconda3 cannot be used as of 2024 due to license restrictions (MPSD would need to pay for a commercial license)
- we instead provide miniforge3
- we restrict it to the ~conda-forge~ channel (in a ~.condarc~ in the miniforge3 directory)
(the more flexible ~denylist_channels~ introduced in conda 24.9 seems to have a bug)
(the more flexible ~denylist_channels~ introduced in conda 24.9 have a bug)
- users are advised to use the conda module when they want to create their own conda environments
(that way we can ensure no one uses the commercial channels on the HPC system)
- we provide a custom environment, currently called ~python-3.12~ with commonly used packages preinstalled
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment