Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openmpi v5.0.4 #169

Merged
merged 7 commits into from
Jul 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .scripts/build_steps.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 15 additions & 16 deletions recipe/build-mpi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,32 @@ export FC=$(basename "$FC")
unset FFLAGS F77 F90 F95

# tweak compiler flags
wrapper_ldflags="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib"
export LIBRARY_PATH="$PREFIX/lib"
if [[ "$target_platform" == osx-* ]]; then
# FIXME: remove autogen when autotools patch no longer required
perl autogen.pl --force
if [[ -n "$CONDA_BUILD_SYSROOT" ]]; then
export CFLAGS="$CFLAGS -isysroot $CONDA_BUILD_SYSROOT"
export CXXFLAGS="$CXXFLAGS -isysroot $CONDA_BUILD_SYSROOT"
fi
fi

# tweak wrapper ldflags
wrapper_ldflags=""
if [[ "$target_platform" == linux-* ]]; then
# allow-shlib-undefined required for dependencies to link against older sysroot
# avoids undefined
wrapper_ldflags='-Wl,--allow-shlib-undefined'
fi
if [[ "$target_platform" == osx-* ]]; then
# rpath required for '@rpath/libmpi.*.dylib' to be found at runtime
wrapper_ldflags='-Wl,-rpath,${libdir}'
fi

# UCX support
build_with_ucx=""
if [[ "$target_platform" == linux-* ]]; then
build_with_ucx="--with-ucx=$PREFIX"
# allow-shlib-undefined required for dependencies to link against older sysroot
# avoids undefined
wrapper_ldflags="${wrapper_ldflags} -Wl,--allow-shlib-undefined"
fi

# CUDA support
Expand Down Expand Up @@ -59,11 +69,7 @@ fi
./configure --prefix=$PREFIX \
--disable-dependency-tracking \
--enable-mpi-fortran \
--disable-wrapper-rpath \
--disable-wrapper-runpath \
minrk marked this conversation as resolved.
Show resolved Hide resolved
--with-wrapper-cflags="-I$PREFIX/include" \
--with-wrapper-cxxflags="-I$PREFIX/include" \
--with-wrapper-fcflags="-I$PREFIX/include" \
--with-mpi-moduledir='${includedir}' \
--with-wrapper-ldflags="${wrapper_ldflags}" \
--with-sge \
--with-hwloc=$PREFIX \
Expand All @@ -78,13 +84,6 @@ fi
make -j"${CPU_COUNT:-1}"
make install

# openmpi installs .mod files in the wrong prefix (/lib instead of /include)
dalcinl marked this conversation as resolved.
Show resolved Hide resolved
# symlink instead of copy to avoid breaking anything (unlikely)
for f in $PREFIX/lib/*.mod; do
modname=$(basename "$f")
ln -sv "../lib/${modname}" "$PREFIX/include/${modname}"
done

POST_LINK=$PREFIX/bin/.openmpi-post-link.sh
if [ -n "$build_with_ucx" ]; then
echo "setting MCA pml to ^ucx..."
Expand Down
31 changes: 31 additions & 0 deletions recipe/ldflags-mac.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
From e70f0a4afb1277e52389267777d260229b468ec0 Mon Sep 17 00:00:00 2001
From: Min RK <[email protected]>
Date: Mon, 29 Jul 2024 12:50:59 +0200
Subject: [PATCH] typo in LDFLAGS_save_xcode variable name

resulted in effectively overriding LDFLAGS='' on mac
---
config/ompi_setup_fc.m4 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/config/ompi_setup_fc.m4 b/config/ompi_setup_fc.m4
index 53c3cd96da..c147bf2b60 100644
--- a/config/ompi_setup_fc.m4
+++ b/config/ompi_setup_fc.m4
@@ -212,11 +212,11 @@ end program
AS_IF([test $xcode_happy -eq 1],
[ # Restore LDFLAFGS + the new flags (i.e., get rid of the
# "-L." we added for this test)
- LDFLAGS="$LDFLAGS_xcode_save $1"
+ LDFLAGS="$LDFLAGS_save_xcode $1"
$2],
[ # If we failed the test, reset LDFLAGS back to its
# original value.
- LDFLAGS=$LDFLAGS_xcode_save
+ LDFLAGS=$LDFLAGS_save_xcode
$3])

OPAL_VAR_SCOPE_POP
--
2.45.0

15 changes: 10 additions & 5 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% set version = "5.0.3" %}
{% set version = "5.0.4" %}
{% set major = version.rpartition('.')[0] %}
{% set cuda_major = (cuda_compiler_version|default("11.8")).rpartition('.')[0] %}
{% set build = 10 %}
{% set build = 0 %}

# give conda package a higher build number
{% if mpi_type == 'conda' %}
Expand All @@ -16,7 +16,10 @@ package:
source:
fn: openmpi-{{ version }}.tar.bz2
url: https://www.open-mpi.org/software/ompi/v{{ major }}/downloads/openmpi-{{ version }}.tar.bz2
sha256: 990582f206b3ab32e938aa31bbf07c639368e4405dca196fabe7f0f76eeda90b
sha256: 64526852cdd88b2d30e022087c16ab3e03806c451b10cd691d5c1ac887d8ef9d
patches:
- pr12694.patch # remove after 5.0.5
- ldflags-mac.patch # [osx]

build:
number: {{ build }}
Expand Down Expand Up @@ -48,8 +51,10 @@ outputs:
- {{ compiler('cuda') }} # [cuda_compiler != "None"]
- {{ compiler('fortran') }}
- {{ stdlib('c') }}
#- autoconf # [unix]
#- automake # [unix]
# FIXME: autotools, perl required for ldflags-mac.patch
- perl # [osx]
- autoconf # [osx]
- automake # [osx]
- libtool # [unix]
- make # [unix]
host:
Expand Down
24 changes: 24 additions & 0 deletions recipe/pr12694.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From 2085433c0977d37cbd1631fa7695a29de3f578c5 Mon Sep 17 00:00:00 2001
From: Jeff Squyres <[email protected]>
Date: Thu, 6 Jun 2024 11:22:53 -0400
Subject: [PATCH] aarch64_functions.c: fix trivial typo

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 7c5ef484b6f8ee4d13a40e2d6cd84dc11c19c6fe)
---
ompi/mca/op/aarch64/op_aarch64_functions.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ompi/mca/op/aarch64/op_aarch64_functions.c b/ompi/mca/op/aarch64/op_aarch64_functions.c
index ea4fd488655..d5878913f2f 100644
--- a/ompi/mca/op/aarch64/op_aarch64_functions.c
+++ b/ompi/mca/op/aarch64/op_aarch64_functions.c
@@ -119,7 +119,7 @@ _Generic((*(out)), \
int left_over = *count; \
type##type_size##_t *in = (type##type_size##_t *) _in, \
*out = (type##type_size##_t *) _out; \
- OP_CONCAT(OMPI_OP_TYPE_PREPEND, type##type_size####x##type_cnt##_t) vsrc, vdst; \
+ OP_CONCAT(OMPI_OP_TYPE_PREPEND, type##type_size##x##type_cnt##_t) vsrc, vdst; \
for (; left_over >= type_cnt; left_over -= type_cnt) { \
vsrc = vld1q##_##type_name##type_size(in); \
vdst = vld1q##_##type_name##type_size(out); \
2 changes: 0 additions & 2 deletions recipe/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ if [[ $PKG_NAME == "openmpi" ]]; then
$MPIEXEC -n 4 ./helloworld.sh

test -f $PREFIX/include/mpi.mod
# keep duplicates in original location for now
test -f $PREFIX/lib/mpi.mod
fi

if [[ $PKG_NAME == "openmpi-mpicc" ]]; then
Expand Down