From f3f3a41111b4f414b982e77279d7672dc16577a7 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Wed, 20 May 2020 16:54:17 +0200 Subject: [PATCH] OpenMPI slurm series --- Compiler/openmpi/build | 21 ++++++++++++++++----- Compiler/openmpi/files/variants.merlin6 | 20 ++++++++++++++++++-- Compiler/openmpi/modulefile | 6 ++++-- 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index e3e1bb7..44bd6c1 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -23,23 +23,34 @@ 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/" + 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" '/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..98f3a43 100644 --- a/Compiler/openmpi/files/variants.merlin6 +++ b/Compiler/openmpi/files/variants.merlin6 @@ -1,3 +1,19 @@ -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.3_slurm unstable gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0} +openmpi/4.0.3_slurm unstable intel/{15.2,17.4,18.4,20.1} diff --git a/Compiler/openmpi/modulefile b/Compiler/openmpi/modulefile index 68458ac..03c8312 100644 --- a/Compiler/openmpi/modulefile +++ b/Compiler/openmpi/modulefile @@ -28,9 +28,11 @@ setenv MPIRUN $PREFIX/bin/mpirun 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 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 }