SHA256
1
0
forked from pool/mvapich2

Accepting request 894097 from home:NMoreyChaisemartin:branches:science:HPC

- Update to mvapich2 2.3.6
    - Enhanced performance for UD-Hybrid code
    - Add multi-rail support for UD-Hybrid code
    - Enhanced performance for shared-memory collectives
    - Enhanced job-startup performance for flux job launcher
    - Use PMI2 by default when SLURM is selected as process manager
    - Add support to use aligned memory allocations for multi-threaded
      applications
    - Architecture detection and enhanced point-to-point tuning for
      Oracle BM.HPC2 cloud shape
    - Add support for GCC compiler v11
    - Update hwloc v1 code to v1.11.14
    - Update hwloc v2 code to v2.4.2
- Drop obsolete patches:
  - fix-missing-return-code.patch as it was fixed upstream
  - mvapich2-remove-deprecated-sys_siglist.patch
  - rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch
- Refresh reproducible.patch

OBS-URL: https://build.opensuse.org/request/show/894097
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mvapich2?expand=0&rev=82
This commit is contained in:
Nicolas Morey-Chaisemartin 2021-05-18 15:08:31 +00:00 committed by Git OBS Bridge
parent c03d0cf000
commit f8a6950e6f
8 changed files with 59 additions and 158 deletions

View File

@ -1,50 +0,0 @@
commit 60ccf8e31bcc2fca9e9332721336992934d644da
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Wed Jun 3 12:01:54 2020 +0200
fix missing return code
src/pmi/upmi/upmi.c: In function 'UPMI_GET_LOCAL_RANK':
src/pmi/upmi/upmi.c:746:1: error: control reaches end of non-void function [-Werror=return-type]
746 | }
| ^
src/pmi/upmi/upmi.c: In function 'UPMI_GET_LOCAL_SIZE':
src/pmi/upmi/upmi.c:764:1: error: control reaches end of non-void function [-Werror=return-type]
764 | }
| ^
src/pmi/upmi/upmi.c: In function 'UPMI_GET_LOWEST_RANK':
src/pmi/upmi/upmi.c:782:1: error: control reaches end of non-void function [-Werror=return-type]
782 | }
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git src/pmi/upmi/upmi.c src/pmi/upmi/upmi.c
index 693e6395cbf8..6b1f045c6d5d 100644
--- src/pmi/upmi/upmi.c
+++ src/pmi/upmi/upmi.c
@@ -742,6 +742,8 @@ int UPMI_GET_LOCAL_RANK(int rank, int *size) {
}
*size= val->data.uint16;
return convert_err(rc);
+ #else
+ return 0;
#endif
}
@@ -760,6 +762,8 @@ int UPMI_GET_LOCAL_SIZE(int *size) {
}
*size= val->data.uint32;
return convert_err(rc);
+ #else
+ return 0;
#endif
}
@@ -778,5 +782,7 @@ int UPMI_GET_LOWEST_RANK(int *rank) {
}
*rank= val->data.uint32;
return convert_err(rc);
+ #else
+ return 0;
#endif
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9f467fec5fc981a89a7beee0374347b10c683023c76880f92a1a0ad4b961a8c
size 20779884

3
mvapich2-2.3.6.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3a62f2a05407191b856485f99da05f5e769d6381cd63e2fcb83ee98fc46a249
size 21016727

View File

@ -1,37 +0,0 @@
commit d8dc7133c2c8255f194e1fa5e550ef1bd4796bf6
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Thu Oct 15 10:12:24 2020 +0200
mvapich2 remove deprecated sys_siglist
sys_siglist has been deprecated and even removed from newer glibc version.
Use strsignal as a replacement
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git src/mpid/ch3/channels/common/src/util/error_handling.c src/mpid/ch3/channels/common/src/util/error_handling.c
index b6c67c41c056..27f7e63a64ac 100644
--- src/mpid/ch3/channels/common/src/util/error_handling.c
+++ src/mpid/ch3/channels/common/src/util/error_handling.c
@@ -69,7 +69,7 @@ int show_backtrace = 0;
// Signal handler for errors
void error_sighandler(int sig, siginfo_t *info, void *secret) {
// Always print error
- PRINT_ERROR( "Caught error: %s (signal %d)\n", sys_siglist[sig], sig );
+ PRINT_ERROR( "Caught error: %s (signal %d)\n", strsignal(sig), sig );
// Show backtrace if required
if (show_backtrace) print_backtrace();
// Raise the signal again with default handler
diff --git src/pm/mpirun/mpispawn.c src/pm/mpirun/mpispawn.c
index dd0c6f06f1c5..bcb562ea7552 100644
--- src/pm/mpirun/mpispawn.c
+++ src/pm/mpirun/mpispawn.c
@@ -800,7 +800,7 @@ void child_handler(int signal)
gethostname(my_host_name, MAX_HOST_LEN);
rank = mt_id;
- PRINT_DEBUG(DEBUG_Fork_verbose, "mpispawn child_handler: got signal %d: %s\n", signal, sys_siglist[signal]);
+ PRINT_DEBUG(DEBUG_Fork_verbose, "mpispawn child_handler: got signal %d: %s\n", signal, strsignal(signal));
while (1) {
do {
pid = waitpid(-1, &status, WNOHANG);

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Tue May 18 08:08:52 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to mvapich2 2.3.6
- Enhanced performance for UD-Hybrid code
- Add multi-rail support for UD-Hybrid code
- Enhanced performance for shared-memory collectives
- Enhanced job-startup performance for flux job launcher
- Use PMI2 by default when SLURM is selected as process manager
- Add support to use aligned memory allocations for multi-threaded
applications
- Architecture detection and enhanced point-to-point tuning for
Oracle BM.HPC2 cloud shape
- Add support for GCC compiler v11
- Update hwloc v1 code to v1.11.14
- Update hwloc v2 code to v2.4.2
- Drop obsolete patches:
- fix-missing-return-code.patch as it was fixed upstream
- mvapich2-remove-deprecated-sys_siglist.patch
- rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch
- Refresh reproducible.patch
-------------------------------------------------------------------
Wed Mar 24 10:06:26 UTC 2021 - Egbert Eich <eich@suse.com>

View File

@ -19,8 +19,8 @@
%global flavor @BUILD_FLAVOR@%{nil}
%define pname mvapich2
%define vers 2.3.5
%define _vers 2_3_5
%define vers 2.3.6
%define _vers 2_3_6
%if "%{flavor}" == ""
ExclusiveArch: do_not_build
@ -252,9 +252,6 @@ Patch2: mvapich2-arm-support.patch
# It's been merged upstream, should be removed with the next release
Patch3: 0001-Drop-GCC-check.patch
Patch4: reproducible.patch
Patch5: fix-missing-return-code.patch
Patch6: mvapich2-remove-deprecated-sys_siglist.patch
Patch7: rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch
## Armv7 specific patches
# PATCH-FIX-UPSTREAM 0001-Drop-real128.patch (https://github.com/pmodels/mpich/issues/4005)
@ -392,10 +389,7 @@ is based on MPICH2 and MVICH. This package contains the static libraries
%patch0
%patch2
%patch3
%patch4 -p1
%patch5
%patch6
%patch7 -p1
%patch4
# Only apply these patches on Armv7
%ifarch armv7hl

View File

@ -1,27 +0,0 @@
From: Egbert Eich <eich@suse.com>
Date: Wed Mar 24 17:59:11 2021 +0100
Subject: rdma_find_network_type(): return MV2_NETWORK_CLASS_UNKNOWN when dev_list is freed
Patch-mainline: Not yet
Git-commit: 53c0c41fbd3728afb32cce7f23f596877e270911
References:
This makes rdma_open_hca() bail early, so it doesn't reach the
code which tries to free dev_list and avoids a double free.
Signed-off-by: Egbert Eich <eich@suse.com>
---
src/mpid/ch3/channels/mrail/src/gen2/rdma_iba_priv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mpid/ch3/channels/mrail/src/gen2/rdma_iba_priv.c b/src/mpid/ch3/channels/mrail/src/gen2/rdma_iba_priv.c
index 9eb565e..4795035 100644
--- a/src/mpid/ch3/channels/mrail/src/gen2/rdma_iba_priv.c
+++ b/src/mpid/ch3/channels/mrail/src/gen2/rdma_iba_priv.c
@@ -507,7 +507,7 @@ int rdma_find_network_type(struct ibv_device **dev_list, int num_devices,
if (dev_list[i]) {
ibv_ops.free_device_list(dev_list);
}
- return 0;
+ return network_type;
}
if (ERROR == rdma_find_active_port(nic_context[i], NULL, &hca_rate)) {
/* No active port, skip HCA */

View File

@ -1,24 +1,23 @@
http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/2019-April/006837.html
commit 2d6233b60e419059240e054e40fc6ece6fd94929
commit a99404dac8f07ec7e72aa244ff0527d9c85ad482
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date: Mon Mar 25 11:12:56 2019 +0100
Sort input file list
reproducible
so that mpich builds in a reproducible way
Sort input file list so that mpich builds in a reproducible way
in spite of indeterministic filesystem readdir order
See https://reproducible-builds.org/ for why this is good.
Without this patch,
README.envvar, /usr/lib64/mpi/gcc/mpich/bin/mpivars and other
output files varied between builds.
Without this patch, README.envvar, /usr/lib64/mpi/gcc/mpich/bin/mpivars
and other output files varied between builds.
Index: mvapich2-2.2/maint/extractcvars.in
===================================================================
--- mvapich2-2.2.orig/maint/extractcvars.in
+++ mvapich2-2.2/maint/extractcvars.in
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git maint/extractcvars.in maint/extractcvars.in
index b627a6f8d937..0eaa673adf1e 100755
--- maint/extractcvars.in
+++ maint/extractcvars.in
@@ -594,7 +594,7 @@ sub ExpandDir {
my @subdirs = ();
my $DIR_HANDLE;
@ -28,10 +27,10 @@ Index: mvapich2-2.2/maint/extractcvars.in
if ($filename =~ /^\./) {
next;
} elsif (-d "$dir/$filename") {
Index: mvapich2-2.2/maint/extractfixme.in
===================================================================
--- mvapich2-2.2.orig/maint/extractfixme.in
+++ mvapich2-2.2/maint/extractfixme.in
diff --git maint/extractfixme.in maint/extractfixme.in
index 6b2567f037ed..7636fad296b8 100644
--- maint/extractfixme.in
+++ maint/extractfixme.in
@@ -114,7 +114,7 @@ sub ExpandDir {
my @otherdirs = ();
my @files = ();
@ -41,11 +40,11 @@ Index: mvapich2-2.2/maint/extractfixme.in
if ($filename =~ /^\./ || $filename eq ".svn") {
next;
}
Index: mvapich2-2.2/maint/extractstrings.in
===================================================================
--- mvapich2-2.2.orig/maint/extractstrings.in
+++ mvapich2-2.2/maint/extractstrings.in
@@ -71,7 +71,7 @@ sub GetFileNamesInDirectory {
diff --git maint/extractstrings.in maint/extractstrings.in
index 4e8a599c89ca..449a8c007499 100644
--- maint/extractstrings.in
+++ maint/extractstrings.in
@@ -73,7 +73,7 @@ sub GetFileNamesInDirectory {
my @filesFound = ();
opendir DIR, $dir || die "Could not open $dir\n";
@ -54,7 +53,7 @@ Index: mvapich2-2.2/maint/extractstrings.in
if (! -f "$dir/$file") { next; }
if ($file =~ /^\.$/ || $file =~ /^\.\.$/) { next; }
if ($file =~ /$pattern/) {
@@ -244,7 +244,7 @@ sub processDirs {
@@ -246,7 +246,7 @@ sub processDirs {
my @dirs = ();
# Find the directories
opendir DIR, "$dir" || die "Cannot open $dir\n";
@ -63,7 +62,7 @@ Index: mvapich2-2.2/maint/extractstrings.in
if (! -d "$dir/$file") { next; }
if ($file =~ /^\./) { next; }
if ($file =~ /^.svn/) { next; }
@@ -271,7 +271,7 @@ sub processDirsAndAction {
@@ -273,7 +273,7 @@ sub processDirsAndAction {
my @dirs = ();
# Find the directories
opendir DIR, "$dir" || die "Cannot open $dir\n";
@ -72,10 +71,10 @@ Index: mvapich2-2.2/maint/extractstrings.in
if (! -d "$dir/$file") { next; }
if ($file =~ /^\./) { next; }
if ($file =~ /^.svn/) { next; }
Index: mvapich2-2.2/maint/gen_subcfg_m4
===================================================================
--- mvapich2-2.2.orig/maint/gen_subcfg_m4
+++ mvapich2-2.2/maint/gen_subcfg_m4
diff --git maint/gen_subcfg_m4 maint/gen_subcfg_m4
index 80654263401d..34cb19ed0649 100755
--- maint/gen_subcfg_m4
+++ maint/gen_subcfg_m4
@@ -118,7 +118,7 @@ while (my $dir = pop @dirstack) {
# the stack to continue the traversal
opendir DH, $dir
@ -85,11 +84,11 @@ Index: mvapich2-2.2/maint/gen_subcfg_m4
foreach my $f (@contents) {
# avoid endless recursion
next if $f eq "." || $f eq "..";
Index: mvapich2-2.2/maint/getcoverage.in
===================================================================
--- mvapich2-2.2.orig/maint/getcoverage.in
+++ mvapich2-2.2/maint/getcoverage.in
@@ -773,7 +773,7 @@ sub ExpandDir {
diff --git maint/getcoverage.in maint/getcoverage.in
index c9c69f299261..f4fc35be72f6 100644
--- maint/getcoverage.in
+++ maint/getcoverage.in
@@ -779,7 +779,7 @@ sub ExpandDir {
my @otherdirs = ();
my @files = ();
opendir DIR, "$dir";