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

Reply via email to