From f3f3a41111b4f414b982e77279d7672dc16577a7 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Wed, 20 May 2020 16:54:17 +0200 Subject: [PATCH 1/3] 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 } From ea8207cfe75654a17bbc4bb477474b05abd3c13b Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 16 Jul 2020 14:37:51 +0200 Subject: [PATCH 2/3] Changes in OpenMPI --- Compiler/openmpi/build | 9 ++++++++- Compiler/openmpi/files/variants.merlin6 | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 44bd6c1..a7b0205 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -13,6 +13,8 @@ pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README' pbuild::pre_configure() { + INSTALL_LIBPMIX=false + if [[ -n "${CUDA_VERSION}" ]]; then pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" fi @@ -40,7 +42,11 @@ pbuild::pre_configure() { 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" + pbuild::add_configure_args "--without-verbs" + if ${INSTALL_LIBPMIX} ; then + echo "Enabling Install libpmix" + pbuild::add_configure_args "--enable-install-libpmix" + fi fi } @@ -48,6 +54,7 @@ pbuild::post_install() { mkdir -p "${PREFIX}/lib/fallback" local -r binary=$(ls "${PREFIX}"/lib/libmpi.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' diff --git a/Compiler/openmpi/files/variants.merlin6 b/Compiler/openmpi/files/variants.merlin6 index 98f3a43..4fca9d8 100644 --- a/Compiler/openmpi/files/variants.merlin6 +++ b/Compiler/openmpi/files/variants.merlin6 @@ -15,5 +15,5 @@ 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} +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} From b2dc06e2dfc046351a4464f556c271d39f03dad1 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 16 Jul 2020 17:05:19 +0200 Subject: [PATCH 3/3] Changes in OpenMPI --- Compiler/openmpi/build | 10 ++++------ Compiler/openmpi/files/variants.merlin6 | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index a7b0205..4884f5f 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -13,8 +13,6 @@ pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README' pbuild::pre_configure() { - INSTALL_LIBPMIX=false - if [[ -n "${CUDA_VERSION}" ]]; then pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" fi @@ -32,6 +30,10 @@ pbuild::pre_configure() { 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 @@ -43,10 +45,6 @@ pbuild::pre_configure() { elif (( V_MAJOR >= 4 )); then pbuild::add_configure_args "--enable-mpi-fortran" pbuild::add_configure_args "--without-verbs" - if ${INSTALL_LIBPMIX} ; then - echo "Enabling Install libpmix" - pbuild::add_configure_args "--enable-install-libpmix" - fi fi } diff --git a/Compiler/openmpi/files/variants.merlin6 b/Compiler/openmpi/files/variants.merlin6 index 4fca9d8..9447f2d 100644 --- a/Compiler/openmpi/files/variants.merlin6 +++ b/Compiler/openmpi/files/variants.merlin6 @@ -17,3 +17,5 @@ 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