Add configure target and sample jobscript for Helma CPU cluster.#635
Conversation
3ed7fa1 to
5c6a312
Compare
abeb1d3 to
76e9b2d
Compare
1153566 to
ceab371
Compare
There was a problem hiding this comment.
Pull request overview
Adds support for building/running ALF on the NHR@FAU Helma CPU cluster and introduces an optional MKL “fake Intel CPU” preload library to improve MKL performance on AMD CPUs.
Changes:
- Add
HELMAmachine configuration toconfigure.sh(module setup + IntelLLVM toolchain + MKL/HDF5 wiring). - Add
Scripts_and_Parameters_files/JobfileHelma.shsample Slurm job script (incl. optionalLD_PRELOADfor MKL spoofing). - Add
Libraries/Modules/fakeintel.c+ Makefile rule to buildlibfakeintel.so; also update.gitignoreand fix typos in existing job scripts.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| configure.sh | Adds HELMA machine case to set modules/compiler flags and HDF5 handling. |
| Scripts_and_Parameters_files/JobfileSuperMUC.sh | Comment typo fixes. |
| Scripts_and_Parameters_files/JobfileSuperMUC-NG.sh | Comment typo fix. |
| Scripts_and_Parameters_files/JobfileFritz.sh | Comment typo fix. |
| Scripts_and_Parameters_files/JobfileHelma.sh | New Helma Slurm job script + optional LD_PRELOAD guidance for MKL spoofing. |
| Libraries/Modules/fakeintel.c | New C shim exporting MKL “Intel CPU true” symbols for preloading. |
| Libraries/Modules/Makefile | Builds libfakeintel.so and adds it to the lib target; cleans it. |
| .gitignore | Ignores generated *.so artifacts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hi @jonasschwab I just stumbled across this PR, and we might be suffering similar performance issues. Quick questions: As I understand it, one needs to use the preload mechanism, which I couldn't find in the HELMA script. If we want to adapt our local cluster scripts, where do I have to put the preloading? Or is something else taking care of it? |
To preload the shared object file, one just needs to set the environment variable export LD_PRELOAD=/absolute/path/to/ALF/Libraries/Modules/libfakeintel.so |
|
Since I already have you here @johanneshofmann87: Where do you think is the best location to put |
Hmm, I see your point, but I'm not sure I like |
|
Helma is down for the next weeks, so that we will wait till the machine is up again to test and then merge. |
|
The group here has been using this, and it works just fine. Hence I think that we could merge. |
Also adds libfakeintel.so to spoof Intel CPUs for MKL. See e.g. https://danieldk.eu/Software/Misc/Intel-MKL-on-AMD-Zen
ae94f72 to
86b8c14
Compare
Also adds libfakeintel.so to spoof Intel CPUs for MKL. See e.g. https://danieldk.eu/Software/Misc/Intel-MKL-on-AMD-Zen