Merge branch '280-openmpi-4-1-6-without-libfabric' into 'master'
Resolve "openmpi 4.1.6 without libfabric" Closes #280 See merge request Pmodules/buildblocks!444
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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-*]
|
||||
|
||||
Reference in New Issue
Block a user