Compare commits

...

5 Commits

Author SHA1 Message Date
Orion Poplawski db223e3554 Update to 4.0.3
... (https://www.mpich.org/2022/11/08/mpich-4-0-3-released/)
2023-03-02 11:29:50 +01:00
Zbigniew Jędrzejewski-Szmek d6ad862c2f Drop unused .pth file for python2 2023-02-21 15:07:43 +01:00
Ben Boeckel 45ea873359 Backport PR#6374 to fix MPI_allgatherv fastpath error
(cherry picked from commit 2400e5803f)
2023-02-21 13:34:56 +01:00
Fedora Release Engineering 181eaa9b44 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 20:50:25 +00:00
Florian Weimer 3aac8d8e5b Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2022-12-03 12:59:39 +01:00
8 changed files with 245 additions and 6 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@
/mpich-3.4.tar.gz
/mpich-3.4.1.tar.gz
/mpich-4.0.2.tar.gz
/mpich-4.0.3.tar.gz

38
6374.patch Normal file
View File

@ -0,0 +1,38 @@
From 2b8c5c7dc4974fc471b446e6cc939936aa14fd8f Mon Sep 17 00:00:00 2001
From: Hui Zhou <hzhou321@anl.gov>
Date: Sat, 21 Jan 2023 10:35:32 -0600
Subject: [PATCH] coll: fix allgatherv early return case
The localcopy omitted considering displs.
---
src/binding/c/coll_api.txt | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/binding/c/coll_api.txt b/src/binding/c/coll_api.txt
index 55be70d093e..d288272e2f3 100644
--- a/src/binding/c/coll_api.txt
+++ b/src/binding/c/coll_api.txt
@@ -57,7 +57,10 @@ MPI_Allgatherv:
{ -- early_return --
if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) {
if (sendbuf != MPI_IN_PLACE) {
- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype);
+ MPI_Aint recvtype_extent;
+ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent);
+ MPIR_Localcopy(sendbuf, sendcount, sendtype,
+ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype);
}
goto fn_exit;
}
@@ -188,7 +191,10 @@ MPI_Iallgatherv:
{ -- early_return --
if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) {
if (sendbuf != MPI_IN_PLACE) {
- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype);
+ MPI_Aint recvtype_extent;
+ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent);
+ MPIR_Localcopy(sendbuf, sendcount, sendtype,
+ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype);
}
MPIR_Request *request_ptr = MPIR_Request_create_complete(MPIR_REQUEST_KIND__COLL);
*request = request_ptr->handle;

View File

@ -0,0 +1,163 @@
aclocal_cc.m4: Remove use of implicit int from weak symbol checks
Implicit int is no longer part of the C language since the 1999
revision.
Submitted upstream: <https://github.com/pmodels/mpich/pull/6301>
diff --git a/confdb/aclocal_cc.m4 b/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/confdb/aclocal_cc.m4
+++ b/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4
index 8a1552d561306f24..cd28a4f937eaf824 100644
--- a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4
+++ b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4
@@ -383,7 +383,7 @@ extern int pfoo_(int);
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
-int Foo(a) { return a; }
+int Foo(int a) { return a; }
])
],[
AC_LANG_SOURCE([
diff --git a/modules/yaksa/m4/aclocal_cc.m4 b/modules/yaksa/m4/aclocal_cc.m4
index d15d6741602daf07..9fcf48527653ff01 100644
--- a/modules/yaksa/m4/aclocal_cc.m4
+++ b/modules/yaksa/m4/aclocal_cc.m4
@@ -422,7 +422,7 @@ extern int pfoo_(int);
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
-int Foo(a) { return a; }
+int Foo(int a) { return a; }
])
],[
AC_LANG_SOURCE([
diff --git a/src/mpi/romio/confdb/aclocal_cc.m4 b/src/mpi/romio/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/mpi/romio/confdb/aclocal_cc.m4
+++ b/src/mpi/romio/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 b/src/mpi/romio/mpl/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/mpi/romio/mpl/confdb/aclocal_cc.m4
+++ b/src/mpi/romio/mpl/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/src/mpl/confdb/aclocal_cc.m4 b/src/mpl/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/mpl/confdb/aclocal_cc.m4
+++ b/src/mpl/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/src/pm/hydra/confdb/aclocal_cc.m4 b/src/pm/hydra/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/pm/hydra/confdb/aclocal_cc.m4
+++ b/src/pm/hydra/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra/mpl/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/pm/hydra/mpl/confdb/aclocal_cc.m4
+++ b/src/pm/hydra/mpl/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/src/pm/hydra2/confdb/aclocal_cc.m4 b/src/pm/hydra2/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/pm/hydra2/confdb/aclocal_cc.m4
+++ b/src/pm/hydra2/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4
+++ b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/test/mpi/confdb/aclocal_cc.m4 b/test/mpi/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/test/mpi/confdb/aclocal_cc.m4
+++ b/test/mpi/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {
diff --git a/test/mpi/dtpools/confdb/aclocal_cc.m4 b/test/mpi/dtpools/confdb/aclocal_cc.m4
index 36b44216d36dd8db..cafb5a6ae137f750 100644
--- a/test/mpi/dtpools/confdb/aclocal_cc.m4
+++ b/test/mpi/dtpools/confdb/aclocal_cc.m4
@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s
#pragma weak PFoo_ = Foo
#pragma weak pfoo_ = Foo
int Foo(int);
- int Foo(a) { return a; }
+ int Foo(int a) { return a; }
]])],[AC_LANG_SOURCE([[
extern int PFoo(int), PFoo_(int), pfoo_(int);
int main() {

View File

@ -0,0 +1,18 @@
Remove spurious argument to AC_CHECK_ALIGNOF, which caused this
configure test to fail.
Submitted upstream: <https://github.com/pmodels/mpich/pull/6302>
diff --git a/configure.ac b/configure.ac
index 3e2aa2cb7e828675..f76eb49833bb358c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2701,7 +2701,7 @@ if test "$MPID_NO_FLOAT16" != "yes" ; then
fi
# ----------------------------------------------------------------------------
-AC_CHECK_ALIGNOF([max_align_t],[0],[#include <stddef.h>])
+AC_CHECK_ALIGNOF([max_align_t],[#include <stddef.h>])
if test "$ac_cv_alignof_max_align_t" != "0" ; then
AC_DEFINE_UNQUOTED(MAX_ALIGNMENT,$ac_cv_alignof_max_align_t,[Controls byte alignment of structures (for aligning allocated structures)])

View File

@ -0,0 +1,17 @@
Do not call undeclared exit function in __thread support check
Submitted upstream: <https://github.com/pmodels/json-c/pull/2>
diff --git a/modules/json-c/configure.ac b/modules/json-c/configure.ac
index 9eb80bcf1c1d2e62..1511d7def23e8c39 100644
--- a/modules/json-c/configure.ac
+++ b/modules/json-c/configure.ac
@@ -69,7 +69,7 @@ AC_CACHE_CHECK([for __thread support], ac_cv___thread, [dnl
AC_LINK_IFELSE([dnl
AC_LANG_PROGRAM([[#undef __thread
static __thread int a; int foo (int b) { return a + b; }]],
- [[exit (foo (0));]])],
+ [[return foo (0);]])],
ac_cv___thread=yes, ac_cv___thread=no)
])
AS_IF([test "x$ac_cv___thread" != xno],

View File

@ -1 +0,0 @@
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))

View File

@ -1,13 +1,12 @@
Summary: A high-performance implementation of MPI
Name: mpich
Version: 4.0.2
Version: 4.0.3
Release: %autorelease
License: MIT
URL: https://www.mpich.org/
Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
Source1: mpich.macros
Source2: mpich.pth.py2
Source3: mpich.pth.py3
Patch: 0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch
@ -15,6 +14,12 @@ Patch: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch
Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch
Patch: 0004-Make-mpich.module-useful.patch
# TODO: submit ^ upstream
# https://github.com/pmodels/mpich/pull/6374
Patch: 6374.patch
Patch: mpich-configure-max_align_t.patch
Patch: mpich-aclocal_cc-implicit-int.patch
Patch: mpich-json-configure-__thread.patch
BuildRequires: make
BuildRequires: autoconf
@ -183,8 +188,6 @@ cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
# Install the .pth files
mkdir -p %{buildroot}%{python2_sitearch}/%{name}
install -pDm0644 %{SOURCE2} %{buildroot}%{python2_sitearch}/%{name}.pth
mkdir -p %{buildroot}%{python3_sitearch}/%{name}
install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth

View File

@ -1 +1 @@
SHA512 (mpich-4.0.2.tar.gz) = 42b7d8ffee5314cdf9b9f75a2b864f7686066ef86cc225feac7f25c7a487b45636df51c0bbc2d677992e07ed62ae24daf73617f2b44b0dacc6ff69f4e66a9208
SHA512 (mpich-4.0.3.tar.gz) = d1463dca8f0073cee6a2db894dbb3889986c6ee6353577f778abc38c90a06afb960e3dbbe87d3c2f284e32650b723a153a143f10b32e4a3bfe6087682ffe9649