On 28-02-2020 19:44, Sajid Ali wrote:
If I install multiple versions of a software library, each optimized for
a different partition based on CPU architecture, how would I
automatically load the version of software based on the nodes allocated
to the job ?
Ideally I'd want to store the modules for each cpu arch at a different
location and set the `MODULEPATH` at job startup to the lowest CPU-arch.
(since our cluster only runs Intel CPU's, the software for lower arch
would run on a higher arch).
Could someone point out how Slurm initializes the job environment at
startup ? Based on this I'm hoping that it will be a relatively simple
task to add a small script to determine nodelist and prepend the
moduepath env var.
Alternatively, if someone could point out how they do this at their
sites it would be useful as well.
This is how we NFS automount different module trees for different CPU
architectures:
https://wiki.fysik.dtu.dk/niflheim/EasyBuild_modules#automounting-the-cpu-architecture-dependent-modules-directory
The advantage is that the automounter's map file uses a system variable
$CPU_ARCH to mount the correct tree for each system.
The Wiki page has other possibly useful information, for example
https://wiki.fysik.dtu.dk/niflheim/EasyBuild_modules#setting-the-cpu-hardware-architecture
/Ole