Dear EasyBuilders and lmod users,

I have a question for the community. Currently EasyBuild supports to deploy 
its software stack in a hierarchical manner, as intended and supported by lmod 
(ie: load compiler, that expands $MODULEPATH and the MPIs become visible, load 
an MPI, which expands $MODULEPATH again).

There is a very significant number of MPIs that are ABI compatible (MPICH, 
MVAPICH, Intel MPI, ParaStationMPI and possibly 1 or 2 more). I don't know if 
OpenMPI-based MPI runtimes are also ABI compatible, but I would guess there is 
a big chance that they are.

My question is how would you feel about expanding the MPI's $MODULEPATH based 
on ABI compatibility, rather than MPI_vendor/version. That way one could offer 
many MPIs without needing to mirror the whole SW stack in all MPI branches. 
That could simplify SW management significantly.

Caveats I can think of are:
-One would have to be careful regarding which MPI is used to compile the stack. 
MPI compiler wrappers are different, and might add different compiler and/or 
linker flags.
-Some MPIs, despite being ABI compatible, might offer different capabilities 
(eg: CUDA-awareness). I guess in these cases it makes sense to try to ensure 
that loading packages that depend in particular MPI capabilities, actually load 
the correct MPI runtime as a dependency, instead of making vague assumptions 
like "the correct MPI is already loaded because otherwise the package won't be 
visible in the environment".

Similarly, one could think of a similar approach for compilers, to allow 
drop-in compiler replacements. Let's say icc 2018.2 is used to compile a given 
branch of the hierarchy. If that compiler has a bug that is fixed in 2018.3, 
right now the whole SW stack needs to be recompiled in a separate branch of the 
hierarchy. However, with a drop-in replacement one could install the latest 
version of the compiler but still reuse the hierarchy compiled with 2018.2. 
Needless to say, this needs to be done carefully. However, the possibility 
seems interesting.

Am I missing something? How do you feel about this?

Best,
Damian

--
Dr. Damian Alvarez
Juelich Supercomputing Centre
Forschungszentrum Juelich GmbH
52425 Juelich, Germany



------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Reply via email to