From e57683abde7cd3c95f67c3b5baff0e337c9916d8 Mon Sep 17 00:00:00 2001 From: caubet_m Date: Mon, 27 Jan 2025 17:16:45 +0100 Subject: [PATCH] Openmpi update --- Compiler/openmpi/build | 21 ++++++++--- Compiler/openmpi/files/config.yaml | 52 ++++++++++++++++++++------- Compiler/openmpi/modulefile | 9 +++++ Libraries/libevent/files/config.yaml | 2 +- Libraries/pmix/files/config.yaml | 41 +++++++++++++++++++-- Programming/cuda/files/variants.rhel7 | 2 +- Programming/gcc/files/config.yaml | 2 +- 7 files changed, 105 insertions(+), 24 deletions(-) diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 58dfcd0..ba72c49 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -1,9 +1,6 @@ #!/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" @@ -27,12 +24,17 @@ pbuild::pre_configure() { fi if (( V_MAJOR >= 4 )); then pbuild::add_configure_args "--enable-mpi-fortran" + fi + if (( V_MAJOR == 4 )); then pbuild::add_configure_args "--without-verbs" fi if [[ -v CUDA_VERSION ]]; then std::info "Enabling CUDA ${CUDA_VERSION}." pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" + if (( V_MAJOR >= 5 )); then + pbuild::add_configure_args "--with-cuda-libdir=${CUDA_HOME}/lib64/stubs" + fi fi if [[ -v HWLOC_VERSION ]]; then @@ -77,7 +79,9 @@ pbuild::pre_configure() { pbuild::add_configure_args "FC=ifort" pbuild::add_configure_args "F90=ifort" pbuild::add_configure_args "F77=ifort" - pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" + # -O0 was probably added for enabling debugging: + # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" + pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel" fi if pbuild::use_flag slurm || \ @@ -118,7 +122,14 @@ pbuild::post_install_no_slurm() { pbuild::post_install() { if [[ -v CUDA_VERSION ]]; then - echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf + grep -qxF "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 + if (( V_MAJOR == 5 )); then + grep -qxF "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" ${PREFIX}/etc/openmpi-mca-params.conf || \ + echo "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" >> ${PREFIX}/etc/openmpi-mca-params.conf + grep -qxF "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" ${PREFIX}/etc/prte-mca-params.conf || \ + echo "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" >> ${PREFIX}/etc/prte-mca-params.conf + fi fi local fname='' diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index 23f697f..a0e6909 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -8,7 +8,6 @@ openmpi: relstage: stable 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 @@ -58,22 +57,46 @@ openmpi: openmpi-5.0.5.tar.bz2: 6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776 versions: + # 5.0.6: + # config: + # configure_args+: + # - --enable-mpi1-compatibility + # - --enable-static=no + # variants: + # - systems: [.*.merlin7.psi.ch] + # relstage: unstable + # overlay: Alps + # use_overlays: [PSI, Alps] + # group_deps: + # compiler: {gcc: [14.2.0,12.3.0,8.5.0], intelcc: [22.2]} + # build_requires: [hwloc/2.11.1, patchelf/0.14.5] + # runtime_deps: [cuda/12.2.0, libfabric/1.15.2.0, pmix/5.0.4] + # configure_args+: + # - --with-cxi + # - --with-lustre + # - --with-slingshot + # use_flags: [merlin7, slurm] + 5.0.5: + config: + configure_args+: + - --enable-mpi1-compatibility + - --enable-static=no variants: - systems: [.*.merlin7.psi.ch] - relstage: unstable + relstage: stable overlay: Alps - use_overlays: [PSI] - use_flags: [merlin7] + use_overlays: [PSI, Alps] 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] + compiler: {gcc: [14.2.0, 12.3.0, 8.5.0], + intelcc: [22.2]} + build_requires: [hwloc/2.11.1, patchelf/0.14.5] + runtime_deps: [cuda/12.2.0, libfabric/1.15.2.0, pmix/5.0.3] configure_args+: - - --enable-mpi1-compatibility - --with-cxi - --with-lustre - --with-slingshot + use_flags: [merlin7, slurm] 4.1.6: config: @@ -82,7 +105,7 @@ openmpi: - systems: [merlin-.*] suffix: _slurm use_flags: [merlin6, gpfs] - relstage: unstable + relstage: stable overlay: base group_deps: 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]} @@ -98,6 +121,7 @@ openmpi: - LDFLAGS=-g - --with-gpfs=/usr/lpp/mmfs - --with-pmi=/usr + - --enable-static - systems: [ra-.*] suffix: _ra @@ -109,16 +133,18 @@ openmpi: configure_args+: - --with-gpfs=/usr/lpp/mmfs - --with-pmi=/usr + - --enable-static - systems: [.*.merlin7.psi.ch] - relstage: unstable + relstage: stable overlay: Alps group_deps: - compiler: {gcc: [12.3.0], intelcc: [22.2]} - build_requires: [pmix/4.2.9, hwloc/2.11.1, libfabric/1.15.2.0, patchelf/0.14.5] - runtime_deps: [cuda/12.2.0] + compiler: {gcc: [12.3.0, 13.3.0, 14.2.0], intelcc: [22.2]} + build_requires: [hwloc/2.11.1, patchelf/0.14.5] + runtime_deps: [cuda/12.2.0, libfabric/1.15.2.0, pmix/4.2.9] configure_args+: - --enable-mpi1-compatibility + - --enable-static=no - --with-lustre use_overlays: [PSI, Alps] use_flags: [merlin7, slurm] diff --git a/Compiler/openmpi/modulefile b/Compiler/openmpi/modulefile index d67d904..56befdc 100644 --- a/Compiler/openmpi/modulefile +++ b/Compiler/openmpi/modulefile @@ -44,3 +44,12 @@ if { $libcuda eq "" } { prepend-path LD_LIBRARY_PATH $PREFIX/lib/fallback/cuda } } + +if {[info exists ::env(PMIX_VERSION)]} { + set pmix_major_version [lindex [split $::env(PMIX_VERSION) "."] 0] + setenv SLURM_MPI_TYPE "pmix_v$pmix_major_version" +} + +if { $V_MAJOR >= 5 } { + setenv OMPI_MCA_mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda' +} diff --git a/Libraries/libevent/files/config.yaml b/Libraries/libevent/files/config.yaml index 23af643..009dd39 100644 --- a/Libraries/libevent/files/config.yaml +++ b/Libraries/libevent/files/config.yaml @@ -22,7 +22,7 @@ libevent: overlay: Alps use_overlays: [PSI] build_requires: [] - relstage: unstable + relstage: stable - systems: [rhel.*] build_requires: [openssl/1.1.1k] 2.1.8: diff --git a/Libraries/pmix/files/config.yaml b/Libraries/pmix/files/config.yaml index 14db2dc..e5c3cf5 100644 --- a/Libraries/pmix/files/config.yaml +++ b/Libraries/pmix/files/config.yaml @@ -6,7 +6,6 @@ pmix: compile_in_sourcetree: true configure_args: - --enable-shared - - --enable-static docfiles: - AUTHORS - README.md @@ -30,6 +29,8 @@ pmix: 1.2.5: config: relstage: removed + configure_args+: + - --enable-static docfiles: - README - LICENSE @@ -38,6 +39,8 @@ pmix: 2.2.5;3.2.3: config: relstage: unstable + configure_args+: + - --enable-static runtime_deps: [libevent/2.1.12] build_requires: [gcc/12.3.0, hwloc/2.11.1] variants: @@ -48,6 +51,8 @@ pmix: 3.2.5: config: relstage: unstable + configure_args+: + - --enable-static runtime_deps: [libevent/2.1.12] build_requires: [gcc/12.3.0, hwloc/2.11.1] variants: @@ -57,21 +62,29 @@ pmix: 4.1.2: config: relstage: stable + configure_args+: + - --enable-static runtime_deps: [libevent/2.1.12] build_requires: [hwloc/2.7.1] 4.2.3: config: relstage: stable + configure_args+: + - --enable-static runtime_deps: [libevent/2.1.12] build_requires: [hwloc/2.9.1] 4.2.4: config: relstage: stable + configure_args+: + - --enable-static runtime_deps: [libevent/2.1.12] build_requires: [gcc/10.4.0, hwloc/2.9.1] 4.2.9: config: - relstage: unstable + relstage: stable + configure_args+: + - --enable-static runtime_deps: [libevent/2.1.12] build_requires: [gcc/12.3.0, hwloc/2.11.1] variants: @@ -80,7 +93,9 @@ pmix: use_overlays: [PSI] 5.0.3: config: - relstage: unstable + relstage: stable + configure_args+: + - --enable-static=no runtime_deps: [libevent/2.1.12] build_requires: [gcc/12.3.0, hwloc/2.11.1] variants: @@ -95,3 +110,23 @@ pmix: # - --with-jansson # - --with-curl - systems: [rhel.*] + # 5.0.4: + # config: + # relstage: unstable + # configure_args+: + # - --enable-static=no + # 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] + # configure_args+: + # - --with-lustre + # - --with-cxi + # - --with-cxi-libdir=/opt/cray/libfabric/1.15.2.0/include + # - --with-slingshot + # - --with-zlib + # # - --with-jansson + # # - --with-curl + # - systems: [rhel.*] diff --git a/Programming/cuda/files/variants.rhel7 b/Programming/cuda/files/variants.rhel7 index f9ac67e..75b1509 100644 --- a/Programming/cuda/files/variants.rhel7 +++ b/Programming/cuda/files/variants.rhel7 @@ -13,4 +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 +cuda/12.2.0 stable diff --git a/Programming/gcc/files/config.yaml b/Programming/gcc/files/config.yaml index 4802bde..a625fce 100644 --- a/Programming/gcc/files/config.yaml +++ b/Programming/gcc/files/config.yaml @@ -170,7 +170,7 @@ gcc: 8.5.0: config: - relstage: unstable + relstage: stable build_requires: [gmp/6.3.0, mpfr/4.2.1, mpc/1.3.1-1] configure_args+: - --enable-languages=c,c++,objc,obj-c++,lto,fortran,go