From f8a6950e6f358876b7b54f6b6d04c3e8eeb67c9d2efaa4e8b8fc2468cf6ef322 Mon Sep 17 00:00:00 2001 From: Nicolas Morey-Chaisemartin Date: Tue, 18 May 2021 15:08:31 +0000 Subject: [PATCH] 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 --- fix-missing-return-code.patch | 50 --------------- mvapich2-2.3.5.tar.gz | 3 - mvapich2-2.3.6.tar.gz | 3 + mvapich2-remove-deprecated-sys_siglist.patch | 37 ----------- mvapich2.changes | 22 +++++++ mvapich2.spec | 12 +--- ...CLASS_UNKNOWN-when-dev_list-is-freed.patch | 27 -------- reproducible.patch | 63 +++++++++---------- 8 files changed, 59 insertions(+), 158 deletions(-) delete mode 100644 fix-missing-return-code.patch delete mode 100644 mvapich2-2.3.5.tar.gz create mode 100644 mvapich2-2.3.6.tar.gz delete mode 100644 mvapich2-remove-deprecated-sys_siglist.patch delete mode 100644 rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch diff --git a/fix-missing-return-code.patch b/fix-missing-return-code.patch deleted file mode 100644 index 06226c5..0000000 --- a/fix-missing-return-code.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit 60ccf8e31bcc2fca9e9332721336992934d644da -Author: Nicolas Morey-Chaisemartin -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 - -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 - } diff --git a/mvapich2-2.3.5.tar.gz b/mvapich2-2.3.5.tar.gz deleted file mode 100644 index a83e6e3..0000000 --- a/mvapich2-2.3.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9f467fec5fc981a89a7beee0374347b10c683023c76880f92a1a0ad4b961a8c -size 20779884 diff --git a/mvapich2-2.3.6.tar.gz b/mvapich2-2.3.6.tar.gz new file mode 100644 index 0000000..209cfe7 --- /dev/null +++ b/mvapich2-2.3.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a62f2a05407191b856485f99da05f5e769d6381cd63e2fcb83ee98fc46a249 +size 21016727 diff --git a/mvapich2-remove-deprecated-sys_siglist.patch b/mvapich2-remove-deprecated-sys_siglist.patch deleted file mode 100644 index c17cef1..0000000 --- a/mvapich2-remove-deprecated-sys_siglist.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit d8dc7133c2c8255f194e1fa5e550ef1bd4796bf6 -Author: Nicolas Morey-Chaisemartin -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 - -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); diff --git a/mvapich2.changes b/mvapich2.changes index 4b303b0..9b3df4f 100644 --- a/mvapich2.changes +++ b/mvapich2.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue May 18 08:08:52 UTC 2021 - Nicolas Morey-Chaisemartin + +- 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 diff --git a/mvapich2.spec b/mvapich2.spec index 357f2bf..fdea44f 100644 --- a/mvapich2.spec +++ b/mvapich2.spec @@ -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 diff --git a/rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch b/rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch deleted file mode 100644 index 3dd3db0..0000000 --- a/rdma_find_network_type-return-MV2_NETWORK_CLASS_UNKNOWN-when-dev_list-is-freed.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Egbert Eich -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 ---- - 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 */ diff --git a/reproducible.patch b/reproducible.patch index cedecad..54bacf3 100644 --- a/reproducible.patch +++ b/reproducible.patch @@ -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 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. + + Signed-off-by: Nicolas Morey-Chaisemartin -Index: mvapich2-2.2/maint/extractcvars.in -=================================================================== ---- mvapich2-2.2.orig/maint/extractcvars.in -+++ mvapich2-2.2/maint/extractcvars.in +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";