From d3e38214d226ccfc1c4498d57b2fd74e5a51ca88 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 5 Sep 2024 09:55:03 +0200 Subject: [PATCH 01/17] update 1 --- Compiler/openmpi/build | 18 ++++++--- Compiler/openmpi/files/config.yaml | 8 ++++ Compiler/openmpi/files/variants.merlin7 | 50 +++++++++++++++++++++++++ Libraries/pmix/build | 20 ++-------- Libraries/pmix/build-xml | 24 ------------ Libraries/pmix/files/config.yaml | 10 ++++- 6 files changed, 81 insertions(+), 49 deletions(-) create mode 100644 Compiler/openmpi/files/variants.merlin7 delete mode 100755 Libraries/pmix/build-xml diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 31bf3b5..ec78d72 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -4,8 +4,12 @@ pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README' pbuild::pre_configure() { pbuild::add_configure_args "--prefix=${PREFIX}" - pbuild::add_configure_args "--enable-mpi-cxx" - pbuild::add_configure_args "--enable-mpi-cxx-seek" + + if (( V_MAJOR < 5 )); then + pbuild::add_configure_args "--enable-mpi-cxx" + pbuild::add_configure_args "--enable-mpi-cxx-seek" + fi + pbuild::add_configure_args "--enable-orterun-prefix-by-default" pbuild::add_configure_args "--enable-shared" pbuild::add_configure_args "--enable-static" @@ -48,10 +52,12 @@ pbuild::pre_configure() { pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" fi - if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6; then + if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6 || pbuild::use_flag merlin7; then pbuild::add_configure_args "--with-gpfs=/usr/lpp/mmfs" - pbuild::add_configure_args "--with-pmi" - # pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/" + if (( V_MAJOR < 5 )); then + pbuild::add_configure_args "--with-pmi" + # pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/" + fi if pbuild::use_flag "libpmix"; then pbuild::add_configure_args "--enable-install-libpmix" @@ -72,7 +78,7 @@ pbuild::pre_configure() { } pbuild::post_install() { - if ! pbuild::use_flag slurm && ! pbuild::use_flag dgx && ! pbuild::use_flag merlin6; then + if ! pbuild::use_flag slurm && ! pbuild::use_flag dgx && ! pbuild::use_flag merlin6 && ! pbuild::use_flag merlin7; then mkdir -p "${PREFIX}/lib/fallback" local -r binary=$(ls "${PREFIX}"/lib/libmpi.so.*.*.*) pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuc[mpst].so' diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index a15cd1b..d3f1759 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -55,6 +55,14 @@ openmpi: openmpi-4.1.6.tar.bz2: f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415 versions: + 5.0.5: + variants: + - systems: [login001*,login002*] + suffix: _merlin7 + group_deps: + compiler: {gcc: [12.3.0]} + build_requires: [pmix/4.2.4, ucx/1.15.1_slurm, hwloc/2.9.1, patchelf/0.14.5] + runtime_deps: [cuda/12.1.1] 4.1.6: variants: - systems: [merlin-*, ra-*] diff --git a/Compiler/openmpi/files/variants.merlin7 b/Compiler/openmpi/files/variants.merlin7 new file mode 100644 index 0000000..3b81657 --- /dev/null +++ b/Compiler/openmpi/files/variants.merlin7 @@ -0,0 +1,50 @@ +openmpi/3.1.4_merlin6 deprecated 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 deprecated gcc/{7.3.0,7.4.0,8.3.0,9.2.0} +openmpi/3.1.5-1_merlin6 deprecated intel/{15.2,17.4,18.4} + +openmpi/2.1.6_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.4.0,8.3.0,9.2.0} +openmpi/2.1.6_slurm deprecated intel/{15.2,17.4,18.4} + +openmpi/3.0.5_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.4.0,8.3.0,9.2.0} +openmpi/3.0.5_slurm deprecated intel/{15.2,17.4,18.4} + +openmpi/3.1.6_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0} +openmpi/3.1.6_slurm stable gcc/{7.5.0,8.4.0,9.3.0} +openmpi/3.1.6_slurm deprecated intel/{15.2,17.4,18.4,20.1} +openmpi/3.1.6_slurm deprecated intel/20.4 cuda/11.1.0 + +openmpi/4.0.3_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0} +openmpi/4.0.3_slurm deprecated intel/{15.2,17.4,18.4,20.1} + +openmpi/4.0.4_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0} +openmpi/4.0.4_slurm deprecated intel/{15.2,17.4} +openmpi/4.0.4_slurm deprecated intel/{18.4,20.1} + +openmpi/4.0.5_slurm stable gcc/9.2.0 cuda/11.0.3 +openmpi/4.0.5_slurm stable gcc/{8.4.0,9.3.0} cuda/11.1.0 +openmpi/4.0.5_slurm stable intel/20.4 cuda/11.1.0 + +openmpi/4.0.5-1_slurm stable gcc/{8.4.0,9.3.0,10.2.0,10.3.0} cuda/11.2.2 b:ucx/1.10.0-1_slurm +openmpi/4.0.5-2_slurm stable gcc/10.2.0 cuda/11.3.0 b:ucx/1.11.0_slurm + +openmpi/4.0.7_slurm stable gcc/10.2.0 cuda/11.5.1 b:ucx/1.11.2-2_slurm +openmpi/4.0.7-1_slurm stable gcc/10.2.0 cuda/11.4.3 b:ucx/1.11.2-1_slurm + +openmpi/4.1.1_slurm unstable gcc/10.2.0 cuda/11.3.0 b:ucx/1.11.2_slurm +openmpi/4.1.1-1_slurm unstable gcc/10.2.0 cuda/11.3.0 b:ucx/1.10.0_slurm + +openmpi/4.1.3_slurm stable gcc/{9.3.0,10.3.0,11.2.0} cuda/11.5.1 b:ucx/1.12.1_slurm +openmpi/4.1.4_slurm stable gcc/10.4.0 cuda/11.5.1 b:ucx/1.12.1_slurm + +openmpi/4.1.5_slurm stable gcc/{9.5.0,10.4.0,11.4.0,12.3.0,13.1.0} b:cuda/12.1.1 b:pmix/4.2.4 b:ucx/1.14.1_slurm b:libfabric/1.18.0 b:hwloc/2.9.1 b:patchelf/0.14.5 +openmpi/4.1.5_slurm unstable intelcc/22.2 b:cuda/12.1.1 b:pmix/4.2.4 b:ucx/1.14.1_slurm b:libfabric/1.18.0 b:hwloc/2.9.1 b:patchelf/0.14.5 + +openmpi/4.0.5-1_dgx deprecated gcc/{8.4.0,9.3.0,10.2.0} cuda/11.2.2 b:ucx/1.10.0-1_dgx +openmpi/4.1.0-1_dgx deprecated gcc/10.2.0 cuda/11.2.2 b:ucx/1.10.0-1_dgx + + +openmpi/4.0.4_slurm_libpmix deprecated gcc/9.3.0 diff --git a/Libraries/pmix/build b/Libraries/pmix/build index a058988..1ebd0fd 100755 --- a/Libraries/pmix/build +++ b/Libraries/pmix/build @@ -1,29 +1,15 @@ #!/usr/bin/env modbuild -echo "https://github.com/openpmix/openpmix/releases/download/v${V_PKG}/$P-${V_PKG}.tar.gz" -pbuild::set_download_url "https://github.com/openpmix/openpmix/releases/download/v${V_PKG}/$P-${V_PKG}.tar.gz" - -pbuild::add_to_group 'Libraries' - -(( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL )) -if (( V_MAJOR > 1 )); then - pbuild::install_docfiles AUTHORS README.md LICENSE NEWS VERSION -else - pbuild::install_docfiles README LICENSE NEWS VERSION -fi - -pbuild::compile_in_sourcetree - pbuild::pre_configure() { - if [[ -n "${HWLOC_PREFIX}" ]]; then + if [[ -v HWLOC_PREFIX ]]; then pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" fi - if [[ -n "${LIBEVENT_PREFIX}" ]]; then + if [[ -v LIBEVENT_PREFIX ]]; then pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}" fi - if [[ -n "${INTEL_VERSION}" ]]; then + if [[ -v INTEL_VERSION ]]; then pbuild::add_configure_args "CC=icc" pbuild::add_configure_args "CXX=icpc" pbuild::add_configure_args "FC=ifort" diff --git a/Libraries/pmix/build-xml b/Libraries/pmix/build-xml deleted file mode 100755 index 1ebd0fd..0000000 --- a/Libraries/pmix/build-xml +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env modbuild - -pbuild::pre_configure() { - if [[ -v HWLOC_PREFIX ]]; then - pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" - fi - - if [[ -v LIBEVENT_PREFIX ]]; then - pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}" - fi - - if [[ -v INTEL_VERSION ]]; then - pbuild::add_configure_args "CC=icc" - pbuild::add_configure_args "CXX=icpc" - pbuild::add_configure_args "FC=ifort" - pbuild::add_configure_args "F77=ifort" - pbuild::add_configure_args "F90=ifort" - # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel" - fi - - # pbuild::add_configure_args "--enable-pmi-backward-compatibility" - pbuild::add_configure_args "--enable-shared" - pbuild::add_configure_args "--enable-static" -} diff --git a/Libraries/pmix/files/config.yaml b/Libraries/pmix/files/config.yaml index 4585449..87c3106 100644 --- a/Libraries/pmix/files/config.yaml +++ b/Libraries/pmix/files/config.yaml @@ -19,6 +19,7 @@ pmix: pmix-4.1.2.tar.gz: a7a6d5b322c261999ce0a6395c0ac7dc359c0ff61380ed4c6935430fb9f5f6e6 pmix-4.2.3.tar.gz: fd45e18e483e42089d4059df9753d9be3cfb68297a05981b1d937e09f7716d5a pmix-4.2.4.tar.gz: f1fe5fe817ac447ce8d3d88486a1c0d22227efd186e11062aa1f7b0f093089c6 + pmix-5.0.3.tar.gz: c98afa8ec5a2495b82fae5eff731c4fc6371e0b0 versions: 1.2.5: config: @@ -33,12 +34,12 @@ pmix: relstage: unstable 4.1.2: config: - relstage: unstable + relstage: stable runtime_deps: [libevent/2.1.12] build_requires: [hwloc/2.7.1] 4.2.3: config: - relstage: unstable + relstage: stable runtime_deps: [libevent/2.1.12] build_requires: [hwloc/2.9.1] 4.2.4: @@ -46,3 +47,8 @@ pmix: relstage: stable runtime_deps: [libevent/2.1.12] build_requires: [gcc/10.4.0, hwloc/2.9.1] + 5.0.3: + config: + relstate: unstable + runtime_deps: [libevent/2.1.12] + build_requires: [hwloc/2.11.1] From a4570581bbcbff9c85e2459935654127d7f1031b Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 5 Sep 2024 10:39:32 +0200 Subject: [PATCH 02/17] openmpi/pmix: build script and config updated for Alps --- Libraries/pmix/build | 32 ++++++++++++++------------------ Libraries/pmix/files/config.yaml | 18 +++++++++++++----- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/Libraries/pmix/build b/Libraries/pmix/build index 1ebd0fd..952d750 100755 --- a/Libraries/pmix/build +++ b/Libraries/pmix/build @@ -1,24 +1,20 @@ #!/usr/bin/env modbuild pbuild::pre_configure() { - if [[ -v HWLOC_PREFIX ]]; then - pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" - fi + if [[ -v HWLOC_PREFIX ]]; then + pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" + fi - if [[ -v LIBEVENT_PREFIX ]]; then - pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}" - fi + if [[ -v LIBEVENT_PREFIX ]]; then + pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}" + fi - if [[ -v INTEL_VERSION ]]; then - pbuild::add_configure_args "CC=icc" - pbuild::add_configure_args "CXX=icpc" - pbuild::add_configure_args "FC=ifort" - pbuild::add_configure_args "F77=ifort" - pbuild::add_configure_args "F90=ifort" - # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel" - fi - - # pbuild::add_configure_args "--enable-pmi-backward-compatibility" - pbuild::add_configure_args "--enable-shared" - pbuild::add_configure_args "--enable-static" + if [[ -v INTEL_VERSION ]]; then + pbuild::add_configure_args "CC=icc" + build::add_configure_args "CXX=icpc" + pbuild::add_configure_args "FC=ifort" + pbuild::add_configure_args "F77=ifort" + pbuild::add_configure_args "F90=ifort" + # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel" + fi } diff --git a/Libraries/pmix/files/config.yaml b/Libraries/pmix/files/config.yaml index 87c3106..1a8cbfe 100644 --- a/Libraries/pmix/files/config.yaml +++ b/Libraries/pmix/files/config.yaml @@ -3,7 +3,10 @@ pmix: defaults: group: Libraries relstage: stable - compile_in_sourcetree: yes + compile_in_sourcetree: true + configure_args: + - --enable-shared + - --enable-static docfiles: - AUTHORS - README.md @@ -11,7 +14,7 @@ pmix: - NEWS - VERSION urls: - - url: "https://github.com/openpmix/openpmix/releases/download/v${V_PKG}/$P-${V_PKG}.tar.gz" + - url: https://github.com/openpmix/openpmix/releases/download/v${V_PKG}/$P-${V_PKG}.tar.gz shasums: pmix-1.2.5.tar.gz: d7337601c5b985743e6b6f79ec1a34dfc2aefbb2d04d40b2c0d5bd7100d268ed pmix-2.2.5.tar.gz: db24480fa5be080e1ddcb273098992b69f8f21e4cd6b8df1682e836b303a2a6f @@ -19,7 +22,7 @@ pmix: pmix-4.1.2.tar.gz: a7a6d5b322c261999ce0a6395c0ac7dc359c0ff61380ed4c6935430fb9f5f6e6 pmix-4.2.3.tar.gz: fd45e18e483e42089d4059df9753d9be3cfb68297a05981b1d937e09f7716d5a pmix-4.2.4.tar.gz: f1fe5fe817ac447ce8d3d88486a1c0d22227efd186e11062aa1f7b0f093089c6 - pmix-5.0.3.tar.gz: c98afa8ec5a2495b82fae5eff731c4fc6371e0b0 + pmix-5.0.3.tar.gz: d9b0b81ba45f58f44573796eb05858061ed7f47ea6b29af8058090023e35dfa9 versions: 1.2.5: config: @@ -49,6 +52,11 @@ pmix: build_requires: [gcc/10.4.0, hwloc/2.9.1] 5.0.3: config: - relstate: unstable + relstage: unstable runtime_deps: [libevent/2.1.12] - build_requires: [hwloc/2.11.1] + build_requires: [gcc/12.3.0, hwloc/2.11.1] + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] + - systems: [rhel.*] From e9bb74476437a6247ec554f0d2bd820051f19fd4 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 5 Sep 2024 11:01:22 +0200 Subject: [PATCH 03/17] openmpi: add config for 4.1.6 for Alps --- Compiler/openmpi/build | 18 +++++++++--------- Compiler/openmpi/files/config.yaml | 23 ++++++++++++++++++++++- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 31bf3b5..4e5bb07 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -48,15 +48,15 @@ pbuild::pre_configure() { pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" fi - if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6; then - pbuild::add_configure_args "--with-gpfs=/usr/lpp/mmfs" - 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 +# if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6; then +# pbuild::add_configure_args "--with-gpfs=/usr/lpp/mmfs" +# 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 )) diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index a15cd1b..8fc082c 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -57,12 +57,33 @@ openmpi: versions: 4.1.6: variants: - - systems: [merlin-*, ra-*] + - systems: [merlin-.*] suffix: _slurm + relstage: unstable + overlay: private + use_overlays: [private] + group_deps: + compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.1.0]} + build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, libfabric/1.18.0, hwloc/2.9.1, patchelf/0.14.5] + runtime_deps: [cuda/12.1.1] + configure_args+: + - CFLAGS=-g -O0 + - LDFLAGS=-g + - --with-gpfs=/usr/lpp/mmfs + - --with-pmi=/usr + - systems: [ra-.*] + suffix: _ra group_deps: compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 13.1.0]} build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.1.1] + - systems: [.*.merlin7.psi.ch] + overlay: Alps + used_overlays: [PSI, Alps] + group_deps: + compiler: {gcc: [12.3.0]} + build_requires: [pmix/5.0.3, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] + runtime_deps: [cuda/12.1.1] 4.1.4: variants: From f184d5fef9e39b020ea324c2d85cf1ffae56ebe6 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 5 Sep 2024 12:14:12 +0200 Subject: [PATCH 04/17] Cuda --- Compiler/openmpi/files/config.yaml | 8 +++++++- Programming/cuda/files/variants.rhel7 | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index d836626..0667c0e 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -94,13 +94,19 @@ openmpi: - LDFLAGS=-g - --with-gpfs=/usr/lpp/mmfs - --with-pmi=/usr - - systems: [ra-.*] suffix: _ra group_deps: compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 13.1.0]} build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.1.1] + - systems: [.*.merlin7.psi.ch] + overlay: Alps + used_overlays: [PSI, Alps] + group_deps: + compiler: {gcc: [12.3.0]} + build_requires: [pmix/5.0.3, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] + runtime_deps: [cuda/12.1.1] - systems: [.*.merlin7.psi.ch] relstage: unstable diff --git a/Programming/cuda/files/variants.rhel7 b/Programming/cuda/files/variants.rhel7 index dc9872f..f9ac67e 100644 --- a/Programming/cuda/files/variants.rhel7 +++ b/Programming/cuda/files/variants.rhel7 @@ -13,3 +13,4 @@ cuda/11.4.3 stable cuda/11.5.1 stable cuda/11.8.0 stable cuda/12.1.1 stable +cuda/12.2.0 unstable From a477e63c9e6852c937692372c46bd7ba72dd04a3 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 5 Sep 2024 16:39:28 +0200 Subject: [PATCH 05/17] Update openmpi and libevent --- Compiler/openmpi/build | 8 ++++++++ Libraries/libevent/build | 5 ----- Libraries/libevent/files/config.yaml | 30 ++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 Libraries/libevent/files/config.yaml diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index e96f066..ea15ce5 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -1,6 +1,7 @@ #!/usr/bin/env modbuild pbuild::pre_configure() { +<<<<<<< HEAD if (( V_MAJOR < 5 )); then pbuild::add_configure_args "--enable-mpi-cxx" pbuild::add_configure_args "--enable-mpi-cxx-seek" @@ -20,6 +21,13 @@ pbuild::pre_configure() { pbuild::add_configure_args "--enable-mpi-fortran" pbuild::add_configure_args "--without-verbs" fi +======= + pbuild::add_configure_args "--prefix=${PREFIX}" + + pbuild::add_configure_args "--enable-shared" + pbuild::add_configure_args "--enable-orterun-prefix-by-default" + pbuild::add_configure_args "--with-slurm=yes" +>>>>>>> a5c5629 (Update openmpi and libevent) if [[ -v CUDA_VERSION ]]; then pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" diff --git a/Libraries/libevent/build b/Libraries/libevent/build index 1239be0..6e021f3 100755 --- a/Libraries/libevent/build +++ b/Libraries/libevent/build @@ -1,7 +1,2 @@ #!/usr/bin/env modbuild -pbuild::set_download_url "https://github.com/libevent/libevent/releases/download/release-$V-stable/$P-$V-stable.tar.gz" -pbuild::add_to_group 'Libraries' - -pbuild::install_docfiles 'LICENSE' - diff --git a/Libraries/libevent/files/config.yaml b/Libraries/libevent/files/config.yaml new file mode 100644 index 0000000..23af643 --- /dev/null +++ b/Libraries/libevent/files/config.yaml @@ -0,0 +1,30 @@ +format: 1 +libevent: + defaults: + group: Libraries + relstage: stable + configure_args: + - --enable-shared + - --enable-static + docfiles: + - LICENSE + urls: + - url: https://github.com/libevent/libevent/releases/download/release-$V-stable/$P-$V-stable.tar.gz + shasums: + libevent-2.1.8-stable.tar.gz: 965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2 + libevent-2.1.12-stable.tar.gz: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb + versions: + 2.1.12: + config: + runtime_deps: [] + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] + build_requires: [] + relstage: unstable + - systems: [rhel.*] + build_requires: [openssl/1.1.1k] + 2.1.8: + config: + build_requires: [openssl/1.0.2r] From 617b9752e9a9d85fca39f056b93631d813403fce Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Fri, 6 Sep 2024 14:54:14 +0200 Subject: [PATCH 06/17] Add older versions of pmix. Removed suffix for Alps Openmpi --- Libraries/pmix/files/config.yaml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Libraries/pmix/files/config.yaml b/Libraries/pmix/files/config.yaml index 1a8cbfe..062f675 100644 --- a/Libraries/pmix/files/config.yaml +++ b/Libraries/pmix/files/config.yaml @@ -18,10 +18,13 @@ pmix: shasums: pmix-1.2.5.tar.gz: d7337601c5b985743e6b6f79ec1a34dfc2aefbb2d04d40b2c0d5bd7100d268ed pmix-2.2.5.tar.gz: db24480fa5be080e1ddcb273098992b69f8f21e4cd6b8df1682e836b303a2a6f + pmix-2.2.5.tar.gz: db24480fa5be080e1ddcb273098992b69f8f21e4cd6b8df1682e836b303a2a6f pmix-3.2.3.tar.gz: 1325a1355d0794196bb47665053fdbc588f9183aa5385f3581b668427316306e + pmix-3.2.5.tar.gz: 61385a65b172bfbe8d5363c3cd8f7742cd81049ebb3d8acc0d25806935641584 pmix-4.1.2.tar.gz: a7a6d5b322c261999ce0a6395c0ac7dc359c0ff61380ed4c6935430fb9f5f6e6 pmix-4.2.3.tar.gz: fd45e18e483e42089d4059df9753d9be3cfb68297a05981b1d937e09f7716d5a pmix-4.2.4.tar.gz: f1fe5fe817ac447ce8d3d88486a1c0d22227efd186e11062aa1f7b0f093089c6 + pmix-4.2.9.tar.gz: 00ddb36fb81c31519972079a218c3cdd903510fc3910abaf4d484068fa29e884 pmix-5.0.3.tar.gz: d9b0b81ba45f58f44573796eb05858061ed7f47ea6b29af8058090023e35dfa9 versions: 1.2.5: @@ -35,6 +38,22 @@ pmix: 2.2.5;3.2.3: config: relstage: unstable + runtime_deps: [libevent/2.1.12] + build_requires: [gcc/12.3.0, hwloc/2.11.1] + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] + - systems: [rhel.*] + 3.2.5: + config: + relstage: unstable + runtime_deps: [libevent/2.1.12] + build_requires: [gcc/12.3.0, hwloc/2.11.1] + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] 4.1.2: config: relstage: stable @@ -50,6 +69,15 @@ pmix: relstage: stable runtime_deps: [libevent/2.1.12] build_requires: [gcc/10.4.0, hwloc/2.9.1] + 4.2.9: + config: + relstage: unstable + runtime_deps: [libevent/2.1.12] + build_requires: [gcc/12.3.0, hwloc/2.11.1] + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] 5.0.3: config: relstage: unstable From 63b50624e7d65b658387dfb25546494a3d3779dd Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Tue, 10 Sep 2024 12:43:53 +0200 Subject: [PATCH 07/17] Enable static. Enable UCX --- Compiler/openmpi/build | 1 + Compiler/openmpi/files/config.yaml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index ea15ce5..73e5a35 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -25,6 +25,7 @@ pbuild::pre_configure() { pbuild::add_configure_args "--prefix=${PREFIX}" pbuild::add_configure_args "--enable-shared" + pbuild::add_configure_args "--enable-static" pbuild::add_configure_args "--enable-orterun-prefix-by-default" pbuild::add_configure_args "--with-slurm=yes" >>>>>>> a5c5629 (Update openmpi and libevent) diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index 0667c0e..b68fc0c 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -68,8 +68,8 @@ openmpi: use_overlays: [PSI] group_deps: compiler: {gcc: [12.3.0]} - build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] - # build_requires: [pmix/5.0.3, ucx/1.15.0_slurm, hwloc/2.9.1, patchelf/0.14.5] + # build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] + build_requires: [pmix/5.0.3, ucx/1.15.0_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: - --with-ofi=/opt/cray/libfabric/1.15.2.0 From ed4c5cb0281682c2fc6ebc87e798170dab2b066b Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Tue, 10 Sep 2024 14:34:50 +0200 Subject: [PATCH 08/17] Remove UCX support for Alps --- Compiler/openmpi/files/config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index b68fc0c..0667c0e 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -68,8 +68,8 @@ openmpi: use_overlays: [PSI] group_deps: compiler: {gcc: [12.3.0]} - # build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] - build_requires: [pmix/5.0.3, ucx/1.15.0_slurm, hwloc/2.9.1, patchelf/0.14.5] + build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] + # build_requires: [pmix/5.0.3, ucx/1.15.0_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: - --with-ofi=/opt/cray/libfabric/1.15.2.0 From 41987dcbcc9f651b643552fa195749d088ba82cf Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Tue, 10 Sep 2024 16:48:26 +0200 Subject: [PATCH 09/17] Clean old code --- Compiler/openmpi/build | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 73e5a35..e96f066 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -1,7 +1,6 @@ #!/usr/bin/env modbuild pbuild::pre_configure() { -<<<<<<< HEAD if (( V_MAJOR < 5 )); then pbuild::add_configure_args "--enable-mpi-cxx" pbuild::add_configure_args "--enable-mpi-cxx-seek" @@ -21,14 +20,6 @@ pbuild::pre_configure() { pbuild::add_configure_args "--enable-mpi-fortran" pbuild::add_configure_args "--without-verbs" fi -======= - pbuild::add_configure_args "--prefix=${PREFIX}" - - pbuild::add_configure_args "--enable-shared" - pbuild::add_configure_args "--enable-static" - pbuild::add_configure_args "--enable-orterun-prefix-by-default" - pbuild::add_configure_args "--with-slurm=yes" ->>>>>>> a5c5629 (Update openmpi and libevent) if [[ -v CUDA_VERSION ]]; then pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" From dbdc24cdb31705eb349bd193829e381f71af99c3 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Tue, 10 Sep 2024 17:38:17 +0200 Subject: [PATCH 10/17] Fixes --- Compiler/openmpi/build | 5 ++--- Compiler/openmpi/files/config.yaml | 8 -------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index e96f066..d970862 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -104,9 +104,9 @@ pbuild::post_install() { if [[ -v CUDA_VERSION ]]; then echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf fi +} -# for FILE in $(find $PREFIX -type f \( ! -name "*.a" -and ! -name "*.mod" \) -exec grep -IL . -"{}" \;) +# for FILE in $(find $PREFIX -type f \( ! -name "*.a" -and ! -name "*.mod" \) -exec grep -IL . "{}" \;) # do # OLD_RPATH=$(objdump -a -x $FILE | grep RPATH | awk '{print $2}') # NEW_RPATH=$(echo $OLD_RPATH | sed 's/:\/usr\/lib64:/:/g') @@ -114,4 +114,3 @@ pbuild::post_install() { # patchelf --force-rpath --set-rpath "${NEW_RPATH}" "${FILE}" # fi # done - diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index 0667c0e..0d9dfc8 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -100,14 +100,6 @@ openmpi: compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 13.1.0]} build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.1.1] - - systems: [.*.merlin7.psi.ch] - overlay: Alps - used_overlays: [PSI, Alps] - group_deps: - compiler: {gcc: [12.3.0]} - build_requires: [pmix/5.0.3, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] - runtime_deps: [cuda/12.1.1] - - systems: [.*.merlin7.psi.ch] relstage: unstable overlay: Alps From d9da946fff7b31f92aec048c65acb662e6a417fb Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Wed, 11 Sep 2024 11:41:07 +0200 Subject: [PATCH 11/17] Enable shared and static libraries --- Compiler/openmpi/build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index d970862..a09afbd 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -1,6 +1,9 @@ #!/usr/bin/env modbuild pbuild::pre_configure() { + pbuild::add_configure_args "--enable-shared" + pbuild::add_configure_args "--enable-static" + if (( V_MAJOR < 5 )); then pbuild::add_configure_args "--enable-mpi-cxx" pbuild::add_configure_args "--enable-mpi-cxx-seek" From 2172928ee3aeff3b57486d8a2a2ed8852f1d5581 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 11 Sep 2024 17:06:18 +0200 Subject: [PATCH 12/17] openmpi: update build script and config --- Compiler/openmpi/build | 87 ++++++++++++++++++------------ Compiler/openmpi/files/config.yaml | 18 ++++--- 2 files changed, 65 insertions(+), 40 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index a09afbd..796fa90 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -7,11 +7,13 @@ pbuild::pre_configure() { if (( V_MAJOR < 5 )); then pbuild::add_configure_args "--enable-mpi-cxx" pbuild::add_configure_args "--enable-mpi-cxx-seek" - pbuild::add_configure_args "--with-pmi=/usr" - pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurmpmi" pbuild::add_configure_args "--enable-orterun-prefix-by-default" fi - if (( V_MAJOR >= 5 )); then + if (( V_MAJOR < 5 )) && pbuild::use_flag 'slurm'; then + pbuild::add_configure_args "--with-pmi=/usr" + pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurmpmi" +fi + if (( V_MAJOR >= 5 )); then pbuild::add_configure_args "--enable-prte-prefix-by-default" fi if (( V_MAJOR < 4 )); then @@ -24,43 +26,44 @@ pbuild::pre_configure() { pbuild::add_configure_args "--without-verbs" fi - if [[ -v CUDA_VERSION ]]; then + if [[ -v CUDA_VERSION ]]; then + std::info "Enabling CUDA ${CUDA_VERSION}." pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" fi if [[ -v HWLOC_VERSION ]]; then unset HWLOC_VERSION + std::info "Enabling external hwloc ${HWLOC_PREFIX}." pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" else pbuild::add_configure_args "--with-hwloc=internal" fi if [[ -v LIBEVENT_VERSION ]]; then + std::info "Enabling libevent ${LIBEVENT_VERSION}." pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}" fi if [[ -v PMIX_VERSION ]]; then - std::info "Enabling PMIX ${PMIX_VERSION}" + std::info "Enabling PMIX ${PMIX_VERSION}." unset PMIX_VERSION pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}" fi - if [[ ! -v LIBFABRIC_VERSION ]]; then + if pbuild::use_flag merlin7 && [[ ! -v LIBFABRIC_VERSION ]]; then if pkg-config --exists libfabric; then std::info "Get LIBFABRIC_VERSION via pkg-config" LIBFABRIC_PREFIX=$(pkg-config --variable=prefix libfabric) LIBFABRIC_VERSION="$(LIBFABRIC_PREFIX##*/)" fi fi - std::info "LIBFABRIC_PREFIX: ${LIBFABRIC_PREFIX}" - std::info "LIBFABRIC_VERSION=: ${LIBFABRIC_VERSION}" if [[ -v LIBFABRIC_VERSION ]]; then - std::info "Enabling libfabric ${LIBFABRIC_VERSION}" + std::info "Enabling libfabric ${LIBFABRIC_VERSION}." pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}" fi if [[ -v UCX_VERSION ]]; then - std::info "Enabling UCX ${UCX_VERSION}" + std::info "Enabling UCX ${UCX_VERSION}." pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" fi @@ -73,9 +76,12 @@ pbuild::pre_configure() { pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" fi - if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6 || pbuild::use_flag merlin7; then - std::info "Enabling SLURM." - pbuild::add_configure_args "--with-slurm=yes" + if pbuild::use_flag slurm || \ + pbuild::use_flag dgx || \ + pbuild::use_flag merlin6 || \ + pbuild::use_flag merlin7; then + std::info "Enabling SLURM." + pbuild::add_configure_args "--with-slurm=yes" fi if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6; then std::info "Enabling GPFS." @@ -89,31 +95,44 @@ pbuild::pre_configure() { } pbuild::post_install_no_slurm() { - if ! pbuild::use_flag slurm && ! pbuild::use_flag dgx && ! pbuild::use_flag merlin6 && ! pbuild::use_flag merlin7; then - 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' - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so' - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' - pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' + if ! pbuild::use_flag slurm && \ + ! pbuild::use_flag dgx && \ + ! pbuild::use_flag merlin6 && \ + ! pbuild::use_flag merlin7; then + 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' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' + pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' fi } pbuild::post_install() { if [[ -v CUDA_VERSION ]]; then - echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf + echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf fi -} -# for FILE in $(find $PREFIX -type f \( ! -name "*.a" -and ! -name "*.mod" \) -exec grep -IL . "{}" \;) -# do -# OLD_RPATH=$(objdump -a -x $FILE | grep RPATH | awk '{print $2}') -# NEW_RPATH=$(echo $OLD_RPATH | sed 's/:\/usr\/lib64:/:/g') -# if [[ "${OLD_RPATH}" != "${NEW_RPATH}" ]]; then -# patchelf --force-rpath --set-rpath "${NEW_RPATH}" "${FILE}" -# fi -# done + local old_rpath='' + local new_rpath='' + while read file; do + old_rpath=$(objdump -x "${file}" | awk '/RPATH|RUNPATH/ {print $2}') + new_rpath=$(echo "${old_rpath}" | sed 's/:\/usr\/lib64:/:/g') + if [[ "${old_rpath}" != "${new_rpath}" ]]; then + patchelf \ + --force-rpath \ + --set-rpath "${new_rpath}" \ + "${file}" + fi + done < <(find "{PREFIX}" -type f \( ! -name "*.a" -and ! -name "*.mod" \) \ + -exec grep -IL . "{}" \;) + +# Local Variables: +# mode: sh +# sh-basic-offset: 8 +# tab-width: 8 +# End: diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index 0d9dfc8..2b21844 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -69,10 +69,9 @@ openmpi: group_deps: compiler: {gcc: [12.3.0]} build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] - # build_requires: [pmix/5.0.3, ucx/1.15.0_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: - - --with-ofi=/opt/cray/libfabric/1.15.2.0 + - --with-ofi=${LIBFABRIC_PREFIX} - --enable-mpi1-compatibility - --with-cxi - --with-lustre @@ -86,20 +85,27 @@ openmpi: overlay: private use_overlays: [private] group_deps: - compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.1.0]} - build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, libfabric/1.18.0, hwloc/2.9.1, patchelf/0.14.5] + compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.2.0, 14.2.0]} + build_requires: + - pmix/4.2.4 + - ucx/1.14.1_slurm + - libfabric/1.18.0 + - hwloc/2.9.1 + - patchelf/0.14.5 runtime_deps: [cuda/12.1.1] configure_args+: - CFLAGS=-g -O0 - LDFLAGS=-g - --with-gpfs=/usr/lpp/mmfs - --with-pmi=/usr + - systems: [ra-.*] suffix: _ra group_deps: compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 13.1.0]} build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.1.1] + - systems: [.*.merlin7.psi.ch] relstage: unstable overlay: Alps @@ -108,11 +114,11 @@ openmpi: build_requires: [pmix/4.2.9, hwloc/2.11.1, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: - - --with-ofi=/opt/cray/libfabric/1.15.2.0 + - --with-ofi=${LIBFABRIC_PREFIX} - --enable-mpi1-compatibility - --with-lustre use_overlays: [PSI, Alps] - use_flags: [merlin7] + use_flags: [merlin7, slurm] 4.1.4: variants: From c4bea947a4fe09d4ad9f1fd09e47d3298b1c87f6 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 12 Sep 2024 14:03:35 +0200 Subject: [PATCH 13/17] openmpi: error in build script fixed --- Compiler/openmpi/build | 15 +++++++++------ Compiler/openmpi/files/config.yaml | 3 +-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 796fa90..a8091f1 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -12,7 +12,7 @@ pbuild::pre_configure() { if (( V_MAJOR < 5 )) && pbuild::use_flag 'slurm'; then pbuild::add_configure_args "--with-pmi=/usr" pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurmpmi" -fi + fi if (( V_MAJOR >= 5 )); then pbuild::add_configure_args "--enable-prte-prefix-by-default" fi @@ -61,7 +61,7 @@ fi std::info "Enabling libfabric ${LIBFABRIC_VERSION}." pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}" fi - + if [[ -v UCX_VERSION ]]; then std::info "Enabling UCX ${UCX_VERSION}." pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" @@ -117,19 +117,22 @@ pbuild::post_install() { echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf fi + local fname='' local old_rpath='' local new_rpath='' - while read file; do - old_rpath=$(objdump -x "${file}" | awk '/RPATH|RUNPATH/ {print $2}') + # remove '/usr/lib64' from RPATH/RUNPATH + while read fname; do + old_rpath=$(objdump -x "${fname}" | awk '/RPATH|RUNPATH/ {print $2}') new_rpath=$(echo "${old_rpath}" | sed 's/:\/usr\/lib64:/:/g') if [[ "${old_rpath}" != "${new_rpath}" ]]; then patchelf \ --force-rpath \ --set-rpath "${new_rpath}" \ - "${file}" + "${fname}" fi - done < <(find "{PREFIX}" -type f \( ! -name "*.a" -and ! -name "*.mod" \) \ + done < <(find "${PREFIX}" -type f \( ! -name "*.a" -and ! -name "*.mod" \) \ -exec grep -IL . "{}" \;) +} # Local Variables: # mode: sh diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index 2b21844..c756bff 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -82,8 +82,7 @@ openmpi: - systems: [merlin-.*] suffix: _slurm relstage: unstable - overlay: private - use_overlays: [private] + overlay: base group_deps: compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.2.0, 14.2.0]} build_requires: From 8a14e641181b585bc150c6753d58616508593f37 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Mon, 16 Sep 2024 15:09:31 +0200 Subject: [PATCH 14/17] Add Lustre support --- Libraries/pmix/files/config.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Libraries/pmix/files/config.yaml b/Libraries/pmix/files/config.yaml index 062f675..be050d3 100644 --- a/Libraries/pmix/files/config.yaml +++ b/Libraries/pmix/files/config.yaml @@ -87,4 +87,11 @@ pmix: - systems: [.*.merlin7.psi.ch] overlay: Alps use_overlays: [PSI] + # configure_args+: + # - --with-cxi + # - --with-lustre + # - --with-slingshot + # - --with-zlib + # - --with-jansson + # - --with-curl - systems: [rhel.*] From 521fdfa30933ecc5891dfbbf626283357cb4d1a2 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Tue, 24 Sep 2024 10:21:36 +0200 Subject: [PATCH 15/17] Add openmpi+intelcc. Update Slurm --- Batchsystem/slurm/build | 9 ++------- Batchsystem/slurm/files/config.yaml | 27 +++++++++++++++++++++++++++ Compiler/openmpi/files/config.yaml | 2 +- Libraries/pmix/files/config.yaml | 14 +++++++------- 4 files changed, 37 insertions(+), 15 deletions(-) create mode 100644 Batchsystem/slurm/files/config.yaml diff --git a/Batchsystem/slurm/build b/Batchsystem/slurm/build index 3800ffa..118fcd0 100755 --- a/Batchsystem/slurm/build +++ b/Batchsystem/slurm/build @@ -1,14 +1,9 @@ #!/usr/bin/env modbuild -pbuild::set_download_url "https://download.schedmd.com/${P}/${P}-${V}.tar.bz2" - -pbuild::add_to_group 'Batchsystem' -pbuild::install_docfiles 'AUTHORS' 'INSTALL' 'NEWS' 'README.rst' 'RELEASE_NOTES' - pbuild::pre_configure() { - pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}" + # pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}" pbuild::add_configure_args "--with-nvml=${CUDA_PREFIX}" pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" - pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" + # pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" # pbuild::add_configure_args "--with-netloc=${HWLOC_PREFIX}" } diff --git a/Batchsystem/slurm/files/config.yaml b/Batchsystem/slurm/files/config.yaml new file mode 100644 index 0000000..9de30f2 --- /dev/null +++ b/Batchsystem/slurm/files/config.yaml @@ -0,0 +1,27 @@ +--- +# yamllint disable rule:line-length +format: 1 +slurm: + defaults: + group: Batchsystem + overlay: Alps + relstage: stable + docfiles: [AUTHORS, INSTALL, NEWS, README.rst RELEASE_NOTES] + urls: + - url: https://download.schedmd.com/${P}/${P}-${V}.tar.bz2 + shasums: + slurm-24.05.3.tar.bz2: b0b40513e9b6ae867ddb95d60b950bcb980c15b735b5d0dea37a9a00cc64ae24 + + versions: + 24.05.3: + variants: + - systems: [.*.merlin7.psi.ch] + relstage: unstable + overlay: Alps + use_overlays: [PSI] + group_deps: + compiler: {gcc: [12.3.0]} + build_requires: [cuda/12.2.0, hwloc/2.11.1, patchelf/0.14.5] + configure_args+: + - '--with-pmix=/opt/psi/overlays/Alps/Libraries/pmix/2.2.5:/opt/psi/overlays/Alps/Libraries/pmix/3.2.5:/opt/psi/overlays/Alps/Libraries/pmix/4.2.9:/opt/psi/overlays/Alps/Libraries/pmix/5.0.3' + - '--with-cray_shasta' diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index c756bff..03f28e0 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -67,7 +67,7 @@ openmpi: overlay: Alps use_overlays: [PSI] group_deps: - compiler: {gcc: [12.3.0]} + compiler: {gcc: [12.3.0], intelcc: [22.2]} build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: diff --git a/Libraries/pmix/files/config.yaml b/Libraries/pmix/files/config.yaml index be050d3..14db2dc 100644 --- a/Libraries/pmix/files/config.yaml +++ b/Libraries/pmix/files/config.yaml @@ -87,11 +87,11 @@ pmix: - systems: [.*.merlin7.psi.ch] overlay: Alps use_overlays: [PSI] - # configure_args+: - # - --with-cxi - # - --with-lustre - # - --with-slingshot - # - --with-zlib - # - --with-jansson - # - --with-curl + configure_args+: + - --with-lustre + # - --with-cxi + # - --with-slingshot + # - --with-zlib + # - --with-jansson + # - --with-curl - systems: [rhel.*] From 5535d2b4e5bbc86995dbb237c96cbb9699092bde Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 26 Sep 2024 14:30:21 +0200 Subject: [PATCH 16/17] Hardcode Cray libfabric --- Compiler/openmpi/files/config.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index 03f28e0..f52a321 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -9,8 +9,6 @@ openmpi: configure_args: - --enable-shared - --enable-static - - docfiles: [AUTHORS, LICENSE, NEWS, README] urls: - url: https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz2 @@ -68,10 +66,10 @@ openmpi: use_overlays: [PSI] group_deps: compiler: {gcc: [12.3.0], intelcc: [22.2]} - build_requires: [pmix/5.0.3, hwloc/2.11.1, patchelf/0.14.5] + build_requires: [pmix/5.0.3, hwloc/2.11.1, libfabric/1.15.2.0, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: - - --with-ofi=${LIBFABRIC_PREFIX} + - --with-ofi=/opt/cray/libfabric/1.15.2.0 - --enable-mpi1-compatibility - --with-cxi - --with-lustre From cc82468009449f3db2a4505c9c31bc6b291efac9 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 26 Sep 2024 14:40:54 +0200 Subject: [PATCH 17/17] openmpi: fixes for Ra, Merlin6 & 7 --- Compiler/openmpi/build | 4 ++++ Compiler/openmpi/files/config.yaml | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index a8091f1..d9bd927 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -13,6 +13,10 @@ pbuild::pre_configure() { pbuild::add_configure_args "--with-pmi=/usr" pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurmpmi" fi + if (( V_MAJOR < 5 )) && pbuild::use_flag 'ra'; then + pbuild::add_configure_args "--with-pmi=/usr" + pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurm" + fi if (( V_MAJOR >= 5 )); then pbuild::add_configure_args "--enable-prte-prefix-by-default" fi diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index f52a321..5a0e595 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -10,7 +10,7 @@ openmpi: - --enable-shared - --enable-static docfiles: [AUTHORS, LICENSE, NEWS, README] - urls: + Urls: - url: https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz2 shasums: openmpi-1.10.0.tar.bz2: 26b432ce8dcbad250a9787402f2c999ecb6c25695b00c9c6ee05a306c78b6490 @@ -64,25 +64,28 @@ openmpi: relstage: unstable overlay: Alps use_overlays: [PSI] + use_flags: [merlin7] group_deps: compiler: {gcc: [12.3.0], intelcc: [22.2]} build_requires: [pmix/5.0.3, hwloc/2.11.1, libfabric/1.15.2.0, patchelf/0.14.5] runtime_deps: [cuda/12.2.0] configure_args+: - - --with-ofi=/opt/cray/libfabric/1.15.2.0 + - --with-ofi=${LIBFABRIC_VERSION} - --enable-mpi1-compatibility - --with-cxi - --with-lustre - --with-slingshot 4.1.6: + config: + build_variants: first_match variants: - systems: [merlin-.*] suffix: _slurm relstage: unstable overlay: base group_deps: - compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.2.0, 14.2.0]} + compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.1.0, 13.2.0, 14.2.0]} build_requires: - pmix/4.2.4 - ucx/1.14.1_slurm @@ -98,10 +101,14 @@ openmpi: - systems: [ra-.*] suffix: _ra + use_flags: [ra] group_deps: compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 13.1.0]} build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5] runtime_deps: [cuda/12.1.1] + configure_args+: + - --with-gpfs=/usr/lpp/mmfs + - --with-pmi=/usr - systems: [.*.merlin7.psi.ch] relstage: unstable