diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index e3e1bb7..4884f5f 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -23,23 +23,39 @@ pbuild::pre_configure() { pbuild::add_configure_args "--enable-shared" pbuild::add_configure_args "--enable-static" pbuild::add_configure_args "--with-sge=yes" + pbuild::add_configure_args "--with-ucx" + pbuild::add_configure_args "--with-hwloc=internal" pbuild::add_configure_args "--with-slurm=yes" + + if pbuild::use_flag slurm ; then + pbuild::add_configure_args "--with-pmi" + pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/" + + if pbuild::use_flag "libpmix"; then + pbuild::add_configure_args "--enable-install-libpmix" + fi + fi + local version (( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL )) - if (( version < 30104 )) ; then + if (( V_MAJOR < 4 )); then pbuild::add_configure_args "--enable-mpi-f90" pbuild::add_configure_args "--enable-mpi-profile" pbuild::add_configure_args "--enable-smp-locks" elif (( V_MAJOR >= 4 )); then pbuild::add_configure_args "--enable-mpi-fortran" + pbuild::add_configure_args "--without-verbs" fi } pbuild::post_install() { mkdir -p "${PREFIX}/lib/fallback" local -r binary=$(ls "${PREFIX}"/lib/libmpi.so.*.*.*) - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/usr/.*/libuc[mpst].so' - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/usr/.*/libnuma.so' - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/usr/.*/libbverbs.so' - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/usr/.*/librdmacm.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuc[mpst].so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuct_ib.so.0' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libnuma.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libibverbs.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/librdmacm.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' } diff --git a/Compiler/openmpi/files/variants.merlin6 b/Compiler/openmpi/files/variants.merlin6 index ddbb836..9447f2d 100644 --- a/Compiler/openmpi/files/variants.merlin6 +++ b/Compiler/openmpi/files/variants.merlin6 @@ -1,3 +1,21 @@ -openmpi/3.1.4_merlin6 stable gcc/{7.4.0,8.3.0} -openmpi/3.1.4-1_merlin6 stable gcc/{7.4.0,8.3.0} +openmpi/3.1.4_merlin6 stable gcc/{7.4.0,8.3.0} +openmpi/3.1.5_merlin6 deprecated gcc/{7.3.0,7.4.0,8.3.0,9.2.0} +openmpi/3.1.5_merlin6 deprecated intel/{15.2,17.4,18.4} + +openmpi/3.1.5-1_merlin6 stable gcc/{7.3.0,7.4.0,8.3.0,9.2.0} +openmpi/3.1.5-1_merlin6 stable intel/{15.2,17.4,18.4} + +openmpi/2.1.6_slurm unstable gcc/{4.9.4,5.5.0,6.5.0,7.4.0,8.3.0,9.2.0} +openmpi/2.1.6_slurm unstable intel/{15.2,17.4,18.4} + +openmpi/3.0.5_slurm unstable gcc/{4.9.4,5.5.0,6.5.0,7.4.0,8.3.0,9.2.0} +openmpi/3.0.5_slurm unstable intel/{15.2,17.4,18.4} + +openmpi/3.1.6_slurm stable gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0} +openmpi/3.1.6_slurm stable intel/{15.2,17.4,18.4,20.1} + +openmpi/4.0.4_slurm unstable gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0} +openmpi/4.0.4_slurm unstable intel/{15.2,17.4,18.4,20.1} + +openmpi/4.0.4_slurm_libpmix unstable gcc/9.3.0 diff --git a/Compiler/openmpi/modulefile b/Compiler/openmpi/modulefile index 52e5c50..03c8312 100644 --- a/Compiler/openmpi/modulefile +++ b/Compiler/openmpi/modulefile @@ -29,8 +29,10 @@ set libibverbs [glob -nocomplain /usr/lib{64,}/libibverbs.so.1*] set libnuma [glob -nocomplain /usr/lib{64,}/libnuma.so.1*] set librdmacm [glob -nocomplain /usr/lib{64,}/librdmacm.so.1*] set libucx [glob -nocomplain /usr/lib{64,}/libuc\[mpst\].so.0*] +set libpmi [glob -nocomplain /usr/lib{64,}/libpmi.so.0*] +set libpmi2 [glob -nocomplain /usr/lib{64,}/libpmi2.so.0*] -if { $libibverbs eq "" || $libnuma eq "" || $librdmacm eq "" || $libucx eq "" } { +if { $libibverbs eq "" || $libnuma eq "" || $librdmacm eq "" || $libucx eq "" || $libpmi eq "" || $libpmi2 eq "" } { if { [file isdirectory $PREFIX/lib/fallback] } { prepend-path LD_LIBRARY_PATH $PREFIX/lib/fallback }