From 78e59c22b5c977acd936181aa9841bf5d9af799b Mon Sep 17 00:00:00 2001 From: talamo_i Date: Tue, 20 Aug 2024 14:27:19 +0200 Subject: [PATCH] Resolve "openmpi 4.1.6 without libfabric" --- Compiler/openmpi/build | 17 ----- Compiler/openmpi/build-xml | 100 ----------------------------- Compiler/openmpi/files/config.yaml | 10 +++ 3 files changed, 10 insertions(+), 117 deletions(-) delete mode 100755 Compiler/openmpi/build-xml diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index c66ef35..31bf3b5 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -1,17 +1,7 @@ #!/usr/bin/env modbuild -# pbuild::set_download_url \ - # "http://www.open-mpi.org/software/ompi/v${V_MAJOR}.${V_MINOR}/downloads/openmpi-${V_PKG}.tar.bz2" - -pbuild::set_download_url \ - "https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz2" - -pbuild::set_sha256sum "openmpi-3.1.2.tar.bz2:c654ed847f34a278c52a15c98add40402b4a90f0c540779f1ae6c489af8a76c5" - -pbuild::add_to_group 'Compiler' pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README' - pbuild::pre_configure() { pbuild::add_configure_args "--prefix=${PREFIX}" pbuild::add_configure_args "--enable-mpi-cxx" @@ -58,13 +48,6 @@ pbuild::pre_configure() { pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" fi - if [[ -v NVHPC_VERSION ]]; then - pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" - pbuild::add_configure_args "CFLAGS=-fPIC -DPIC" - pbuild::add_configure_args "CXXFLAGS=-fPIC -DPIC" - pbuild::add_configure_args "FCFLAGS=-Mstandard -fPIC -DPIC" - 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" diff --git a/Compiler/openmpi/build-xml b/Compiler/openmpi/build-xml deleted file mode 100755 index 31bf3b5..0000000 --- a/Compiler/openmpi/build-xml +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env modbuild - -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" - pbuild::add_configure_args "--enable-orterun-prefix-by-default" - pbuild::add_configure_args "--enable-shared" - pbuild::add_configure_args "--enable-static" - pbuild::add_configure_args "--with-slurm=yes" - - if [[ -v CUDA_VERSION ]]; then - pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" - fi - - if [[ -v HWLOC_VERSION ]]; then - unset HWLOC_VERSION - pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" - else - pbuild::add_configure_args "--with-hwloc=internal" - fi - - if [[ -v LIBEVENT_VERSION ]]; then - pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}" - fi - - if [[ -v PMIX_VERSION ]]; then - unset PMIX_VERSION - pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}" - fi - - if [[ -v LIBFABRIC_VERSION ]]; then - pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}" - fi - - if [[ -v UCX_VERSION ]]; then - pbuild::add_configure_args "--with-ucx=${UCX_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 "F90=ifort" - pbuild::add_configure_args "F77=ifort" - 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 - - local version - (( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL )) - 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() { - if ! pbuild::use_flag slurm && ! pbuild::use_flag dgx && ! pbuild::use_flag merlin6; 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 - - 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 . "{}" \;) - 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 -} diff --git a/Compiler/openmpi/files/config.yaml b/Compiler/openmpi/files/config.yaml index ce0e73d..a15cd1b 100644 --- a/Compiler/openmpi/files/config.yaml +++ b/Compiler/openmpi/files/config.yaml @@ -52,8 +52,18 @@ openmpi: openmpi-4.1.3.tar.bz2: 3d81d04c54efb55d3871a465ffb098d8d72c1f48ff1cbaf2580eb058567c0a3b openmpi-4.1.4.tar.bz2: 92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d openmpi-4.1.5.tar.bz2: a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3 + openmpi-4.1.6.tar.bz2: f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415 versions: + 4.1.6: + variants: + - systems: [merlin-*, ra-*] + suffix: _slurm + 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] + 4.1.4: variants: - systems: [merlin-*, ra-*]