Sync from SUSE:ALP:Source:Standard:1.0 openmpi2 revision e29fdd132dac300d39e91f6dbc911ead
This commit is contained in:
commit
a3cc780a2a
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
30
Always-include-the-stddef.h-header.patch
Normal file
30
Always-include-the-stddef.h-header.patch
Normal file
@ -0,0 +1,30 @@
|
||||
commit 8ae595d47c49783906e940bd31659ad14006d854
|
||||
Author: George Bosilca <bosilca@icl.utk.edu>
|
||||
Date: Fri Mar 12 13:38:10 2021 -0500
|
||||
|
||||
Always include the stddef.h header.
|
||||
|
||||
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
|
||||
|
||||
diff --git configure.ac configure.ac
|
||||
index 88c42ac5548e..50c894117b52 100644
|
||||
--- configure.ac
|
||||
+++ configure.ac
|
||||
@@ -1281,10 +1281,13 @@ OPAL_SETUP_WRAPPER_FINAL
|
||||
# autoconf macro defines in mpi.h. Since AC sometimes changes whether
|
||||
# things are defined as null tokens or an integer result, two projects
|
||||
# with different versions of AC can cause problems.
|
||||
-if test $ac_cv_header_stdc = yes; then
|
||||
- AC_DEFINE(OPAL_STDC_HEADERS, 1,
|
||||
- [Do not use outside of mpi.h. Define to 1 if you have the ANSI C header files.])
|
||||
-fi
|
||||
+
|
||||
+# According to the autoconf 2.67 documentation the AC_HEADER_STDC macro,
|
||||
+# and therefore the ac_cv_header_stdc cache variable, is obsolescent, as
|
||||
+# current systems have conforming header files. Instead of removing the
|
||||
+# protection completely, let's just make sure it is always on.
|
||||
+AC_DEFINE(OPAL_STDC_HEADERS, 1,
|
||||
+ [Do not use outside of mpi.h. Define to 1 if you have the ANSI C header files.])
|
||||
if test $ac_cv_header_sys_time_h = yes ; then
|
||||
AC_DEFINE(OPAL_HAVE_SYS_TIME_H, 1,
|
||||
[Do not use outside of mpi.h. Define to 1 if you have the <sys/time.h> header file.])
|
@ -0,0 +1,23 @@
|
||||
commit cb992424a2d67b70aad35925c9027f43e61c1ae6
|
||||
Author: Christoph Niethammer <niethammer@hlrs.de>
|
||||
Date: Tue Jan 19 22:56:19 2021 +0100
|
||||
|
||||
Fix error with stricter quoting requirements of autoconf-2.70
|
||||
|
||||
Signed-off-by: Christoph Niethammer <niethammer@hlrs.de>
|
||||
|
||||
diff --git config/opal_check_cuda.m4 config/opal_check_cuda.m4
|
||||
index fd7816e3ea7a..67059a8c851e 100644
|
||||
--- config/opal_check_cuda.m4
|
||||
+++ config/opal_check_cuda.m4
|
||||
@@ -91,8 +91,8 @@ AS_IF([test "$opal_check_cuda_happy" = "yes"],
|
||||
# If we have CUDA support, check to see if we have support for SYNC_MEMOPS
|
||||
# which was first introduced in CUDA 6.0.
|
||||
AS_IF([test "$opal_check_cuda_happy"="yes"],
|
||||
- AC_CHECK_DECL([CU_POINTER_ATTRIBUTE_SYNC_MEMOPS], [CUDA_SYNC_MEMOPS=1], [CUDA_SYNC_MEMOPS=0],
|
||||
- [#include <$opal_cuda_incdir/cuda.h>]),
|
||||
+ [AC_CHECK_DECL([CU_POINTER_ATTRIBUTE_SYNC_MEMOPS], [CUDA_SYNC_MEMOPS=1], [CUDA_SYNC_MEMOPS=0],
|
||||
+ [#include <$opal_cuda_incdir/cuda.h>])],
|
||||
[])
|
||||
|
||||
# If we have CUDA support, check to see if we have CUDA 6.0 or later.
|
6
_multibuild
Normal file
6
_multibuild
Normal file
@ -0,0 +1,6 @@
|
||||
<multibuild>
|
||||
<package>standard</package>
|
||||
<package>testsuite</package>
|
||||
<package>gnu-hpc</package>
|
||||
<package>gnu-hpc-testsuite</package>
|
||||
</multibuild>
|
17
_service
Normal file
17
_service
Normal file
@ -0,0 +1,17 @@
|
||||
<services>
|
||||
<service name="tar_scm" mode="disabled">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://github.com/open-mpi/ompi.git</param>
|
||||
<param name="package-meta">no</param>
|
||||
<param name="exclude">.git</param>
|
||||
<param name="filename">openmpi</param>
|
||||
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
|
||||
<param name="versionrewrite-pattern">v(.*)</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
<param name="revision">d9b9e59e5c5aaf2f071eb18fd05d5f60444f9e20</param>
|
||||
</service>
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="file">openmpi*.tar</param>
|
||||
<param name="compression">bz2</param>
|
||||
</service>
|
||||
</services>
|
26
add-gen-p5-chip-pci-id-to-ini-file.patch
Normal file
26
add-gen-p5-chip-pci-id-to-ini-file.patch
Normal file
@ -0,0 +1,26 @@
|
||||
commit 170b636e7c1823ebe22f6c132a89db3e165109bd
|
||||
Author: Devesh Sharma <devesh.sharma@broadcom.com>
|
||||
Date: Fri Mar 22 11:06:59 2019 -0400
|
||||
|
||||
add gen p5 chip pci id to ini file
|
||||
|
||||
Adding the PF pci id for new gen p5 chip to openmpi code.
|
||||
There is no PR associate to master in this patch because
|
||||
in master openib BTL is deprecated. This patch should be
|
||||
cherry picked to 4.0.x as well.
|
||||
|
||||
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
|
||||
|
||||
diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
index a28e0c23e88b..faf1244fb3a3 100644
|
||||
--- opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
+++ opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
@@ -336,7 +336,7 @@ max_inline_data = 72
|
||||
|
||||
[Broadcom BCM57XXX]
|
||||
vendor_id = 0x14e4
|
||||
-vendor_part_id = 0x1605,0x1606,0x1614,0x16c0,0x16c1,0x16ce,0x16cf,0x16d6,0x16d7,0x16d8,0x16d9,0x16df,0x16e2,0x16e3,0x16e5,0x16eb,0x16ed,0x16ef,0x16f0,0x16f1
|
||||
+vendor_part_id = 0x1605,0x1606,0x1614,0x16c0,0x16c1,0x16ce,0x16cf,0x16d6,0x16d7,0x16d8,0x16d9,0x16df,0x16e2,0x16e3,0x16e5,0x16eb,0x16ed,0x16ef,0x16f0,0x16f1,0x1750
|
||||
use_eager_rdma = 1
|
||||
mtu = 1024
|
||||
receive_queues = P,65536,256,192,128
|
53
btl-openib-Add-support-for-newer-hardware.patch
Normal file
53
btl-openib-Add-support-for-newer-hardware.patch
Normal file
@ -0,0 +1,53 @@
|
||||
commit 0776804c3f37250bd0e442197d4cbae820d4d09a
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Tue Sep 13 15:49:51 2022 +0200
|
||||
|
||||
btl: openib: Add support for newer hardware
|
||||
|
||||
- ConnectX4 VF
|
||||
- ConnectX5 VF
|
||||
- ConnectX6 VF
|
||||
- New broadcom PCI Ids
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
index faf1244fb3a3..b9949de235b8 100644
|
||||
--- opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
+++ opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
@@ -174,7 +174,7 @@ max_inline_data = 256
|
||||
|
||||
[Mellanox ConnectX4]
|
||||
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
|
||||
-vendor_part_id = 4115
|
||||
+vendor_part_id = 4115,4116,4117,4118
|
||||
use_eager_rdma = 1
|
||||
mtu = 4096
|
||||
max_inline_data = 256
|
||||
@@ -183,7 +183,16 @@ max_inline_data = 256
|
||||
|
||||
[Mellanox ConnectX5]
|
||||
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
|
||||
-vendor_part_id = 4119,4121
|
||||
+vendor_part_id = 4119,4120,4121,4122
|
||||
+use_eager_rdma = 1
|
||||
+mtu = 4096
|
||||
+max_inline_data = 256
|
||||
+
|
||||
+############################################################################
|
||||
+
|
||||
+[Mellanox ConnectX6]
|
||||
+vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
|
||||
+vendor_part_id = 4123,4124
|
||||
use_eager_rdma = 1
|
||||
mtu = 4096
|
||||
max_inline_data = 256
|
||||
@@ -336,7 +345,7 @@ max_inline_data = 72
|
||||
|
||||
[Broadcom BCM57XXX]
|
||||
vendor_id = 0x14e4
|
||||
-vendor_part_id = 0x1605,0x1606,0x1614,0x16c0,0x16c1,0x16ce,0x16cf,0x16d6,0x16d7,0x16d8,0x16d9,0x16df,0x16e2,0x16e3,0x16e5,0x16eb,0x16ed,0x16ef,0x16f0,0x16f1,0x1750
|
||||
+vendor_part_id = 0x1605,0x1606,0x1614,0x16c0,0x16c1,0x16ce,0x16cf,0x16d6,0x16d7,0x16d8,0x16d9,0x16df,0x16e2,0x16e3,0x16e5,0x16eb,0x16ed,0x16ef,0x16f0,0x16f1
|
||||
use_eager_rdma = 1
|
||||
mtu = 1024
|
||||
receive_queues = P,65536,256,192,128
|
47
fix-rdma-component-selection.patch
Normal file
47
fix-rdma-component-selection.patch
Normal file
@ -0,0 +1,47 @@
|
||||
commit 062e6fe4be4db6263372053509f155784fc94cc1
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Wed Mar 28 11:17:17 2018 +0200
|
||||
|
||||
fix rdma component selection
|
||||
|
||||
Github issue#4976
|
||||
bsc#1087031
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git ompi/mca/osc/rdma/osc_rdma_component.c ompi/mca/osc/rdma/osc_rdma_component.c
|
||||
index b5c544a58f99..337742fabb9c 100644
|
||||
--- ompi/mca/osc/rdma/osc_rdma_component.c
|
||||
+++ ompi/mca/osc/rdma/osc_rdma_component.c
|
||||
@@ -356,6 +356,8 @@ static int ompi_osc_rdma_component_query (struct ompi_win_t *win, void **base, s
|
||||
int flavor)
|
||||
{
|
||||
|
||||
+ int rc;
|
||||
+
|
||||
if (MPI_WIN_FLAVOR_SHARED == flavor) {
|
||||
return -1;
|
||||
}
|
||||
@@ -369,15 +371,18 @@ static int ompi_osc_rdma_component_query (struct ompi_win_t *win, void **base, s
|
||||
}
|
||||
#endif /* OPAL_CUDA_SUPPORT */
|
||||
|
||||
- if (OMPI_SUCCESS == ompi_osc_rdma_query_mtls ()) {
|
||||
+ rc = ompi_osc_rdma_query_mtls ();
|
||||
+ rc = comm->c_coll.coll_allreduce(MPI_IN_PLACE, &rc, 1, MPI_INT, MPI_MIN, comm, comm->c_coll.coll_allreduce_module);
|
||||
+ if (OMPI_SUCCESS == rc) {
|
||||
return 5; /* this has to be lower that osc pt2pt default priority */
|
||||
}
|
||||
-
|
||||
- if (OMPI_SUCCESS != ompi_osc_rdma_query_btls (comm, NULL)) {
|
||||
+
|
||||
+ rc = ompi_osc_rdma_query_btls (comm, NULL);
|
||||
+ rc = comm->c_coll.coll_allreduce(MPI_IN_PLACE, &rc, 1, MPI_INT, MPI_MIN, comm, comm->c_coll.coll_allreduce_module);
|
||||
+ if (OMPI_SUCCESS != rc) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
-
|
||||
return mca_osc_rdma_component.priority;
|
||||
}
|
||||
|
20
macros.hpc-openmpi
Normal file
20
macros.hpc-openmpi
Normal file
@ -0,0 +1,20 @@
|
||||
#
|
||||
# openmpi
|
||||
#
|
||||
|
||||
%hpc_openmpi_init(V:) \
|
||||
%{-V: %define _mf_ver %{-V*}} \
|
||||
%{expand: %%global hpc_openmpi_dep_version %%{?_mf_ver}%%{?!_mf_ver:2}} \
|
||||
%{expand: %%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}} \
|
||||
%{expand: %%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}} \
|
||||
%{expand: %%global _hpc_openmpi_modules openmpi}
|
||||
|
||||
# We may have to add a version here.
|
||||
%hpc_setup_openmpi \
|
||||
module load openmpi
|
||||
|
||||
%hpc_openmpi_requires \
|
||||
Requires: libopenmpi%{hpc_openmpi_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc
|
||||
|
||||
%hpc_openmpi_requires_devel \
|
||||
Requires: openmpi%{hpc_openmpi_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc-devel
|
15
mpivars.csh
Normal file
15
mpivars.csh
Normal file
@ -0,0 +1,15 @@
|
||||
set -f path= ( prefix/bin $path )
|
||||
|
||||
if ($?MANPATH) then
|
||||
if ( "$MANPATH" !~ *prefix/man* ) then
|
||||
setenv MANPATH prefix/man:$MANPATH
|
||||
endif
|
||||
else
|
||||
setenv MANPATH prefix/man:
|
||||
endif
|
||||
|
||||
if ($?LD_LIBRARY_PATH) then
|
||||
setenv LD_LIBRARY_PATH libdir:$LD_LIBRARY_PATH
|
||||
else
|
||||
setenv LD_LIBRARY_PATH libdir
|
||||
endif
|
31
mpivars.sh
Normal file
31
mpivars.sh
Normal file
@ -0,0 +1,31 @@
|
||||
case $PATH in
|
||||
*prefix/bin*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
PATH=prefix/bin:$PATH
|
||||
esac
|
||||
|
||||
|
||||
case $MANPATH in
|
||||
*prefix/share/man*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
MANPATH=prefix/share/man:$MANPATH
|
||||
export MANPATH
|
||||
esac
|
||||
|
||||
|
||||
case $LD_LIBRARY_PATH in
|
||||
*libdir*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
if [ -z "$LD_LIBRARY_PATH" ]; then
|
||||
LD_LIBRARY_PATH=libdir
|
||||
else
|
||||
LD_LIBRARY_PATH="libdir:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
export LD_LIBRARY_PATH
|
||||
esac
|
BIN
openmpi-2.1.6.0.d9b9e59e5c5a.tar.bz2
(Stored with Git LFS)
Normal file
BIN
openmpi-2.1.6.0.d9b9e59e5c5a.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
5
openmpi2-rpmlintrc
Normal file
5
openmpi2-rpmlintrc
Normal file
@ -0,0 +1,5 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
addFilter("openmpi2-libs.* rpath-in-buildconfig")
|
||||
addFilter("openmpi2-devel.* shared-lib-calls-exit")
|
362
openmpi2.changes
Normal file
362
openmpi2.changes
Normal file
@ -0,0 +1,362 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 13 13:51:49 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Add patch btl-openib-Add-support-for-newer-hardware.patch to support
|
||||
newer RDMA hardware (ConnectX 4 and 5 VF, ConnectX6 PF + VF and Broadcom adapters)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 13 06:38:32 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Backport upstream patches to fix compilation with autoconf >= 2.70
|
||||
- Fix-error-with-stricter-quoting-requirements-of-autoconf-2.70.patch
|
||||
- Always-include-the-stddef.h-header.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 19 15:23:32 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Move rpm macros to %_rpmmacrodir (bsc#1191389)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 28 11:08:54 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- openmpi2 is not the default openmpi anymore for releases > 15.3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 19 08:23:09 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Drop different package string between SLES and Leap (jsc#SLE-11846)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 4 15:57:47 UTC 2019 - Michel Normand <normand@linux.vnet.ibm.com>
|
||||
|
||||
- Add openmpi_disable_opal_fifo_test_issue5470.patch
|
||||
as long as upstream issue#5470 not solved for PowerPC
|
||||
https://github.com/open-mpi/ompi/issues/5470
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 25 15:26:36 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Link against libnuma (bsc#1155120)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 10 06:06:10 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Fix conflict with other opoenmpi*-macros-devel
|
||||
- Add conflict with older provider name to avoid issues during updates
|
||||
- Add openmpi_prefix macro to openmpi-macros-devel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 16 17:00:14 UTC 2019 - Michel Normand <normand@linux.vnet.ibm.com>
|
||||
|
||||
- Add -ffat-lto-objects in spec to avoid build error
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 27 07:55:20 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Provide openmpi for suse_version >= 1500
|
||||
- Add macros package for non hpc flavour
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 27 06:27:54 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Enable openmpi2 on ppc64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 23 07:43:07 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Fix bad INCLUDE path in module (bsc#1132949)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 1 05:20:04 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Add add-gen-p5-chip-pci-id-to-ini-file.patch:
|
||||
- Adds support for Broadcom 57500 adapters (bsc#1125651)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 14 06:53:05 UTC 2019 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to openmpi 2.1.6 (bsc#1094689)
|
||||
- Many bug fixes. See NEWS for a complete list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 27 10:53:24 UTC 2018 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Add reproducible.patch to make package build reproducible
|
||||
(boo#1047218, boo#1041090, boo#1084909)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 18 14:23:29 UTC 2018 - eich@suse.com
|
||||
|
||||
- Add macro _hpc_openmpi_modules for modules support (bsc#1116458).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 15 07:48:00 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to openmpi 2.1.5 (fate#326157)
|
||||
- Many bug fixes. See NEWS for a complete list
|
||||
- Drop openmpi2-add-HCAs-to-mca-ini.patch as it was
|
||||
merged upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 10 12:15:41 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Remove bashism in preun scriptlet
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 5 06:53:23 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Fix handling of mpi-selector during updates (bsc#1098653)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 19 09:24:10 UTC 2018 - eich@suse.com
|
||||
|
||||
- macros.hpc-openmpi2:
|
||||
replace %%compiler_family by %%hpc_compiler_family
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 7 13:06:01 UTC 2018 - jjolly@suse.com
|
||||
|
||||
- Updated openmpi2-add-HCAs-to-mca-ini.patch
|
||||
* Adds Broadcom BCM57414 NetXtreme-E RDMA Ethernet Controller (bsc#1094689)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 18 13:38:38 UTC 2018 - jjolly@suse.com
|
||||
|
||||
- Added openmpi2-add-HCAs-to-mca-ini.patch
|
||||
* Adds necessary parameters for QLogic Corp. FastLinQ QL41000 (bsc#1092257)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 2 18:20:59 UTC 2018 - eich@suse.com
|
||||
|
||||
- Create missing docs master package (bsc#1091714)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 27 06:39:04 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to openmpi 2.1.3
|
||||
- Update internal PMIx version to 1.2.5.
|
||||
- Fix a problem with ompi_info reporting using param option.
|
||||
- Correct PMPI_Aint_{add|diff} to be functions (not subroutines)
|
||||
in the Fortran mpi_f08 module.
|
||||
- Fix a problem when doing MPI I/O using data types with large
|
||||
extents in conjunction with MPI_TYPE_CREATE_SUBARRAY. Thanks to
|
||||
- Fix a problem when opening many files using MPI_FILE_OPEN.
|
||||
- Fix a problem with debuggers failing to attach to a running job.
|
||||
- Fix a problem when using madvise and the OpenIB BTL.
|
||||
- Fix a problem in the Vader BTL that resulted in failures of
|
||||
IMB under certain circumstances.
|
||||
- Fix a problem preventing Open MPI from working under Cygwin.
|
||||
- Reduce some verbosity being emitted by the USNIC BTL under certain
|
||||
circumstances.
|
||||
- Fix a problem with misdirection of SIGKILL.
|
||||
- Replace use of posix_memalign with malloc for small allocations.
|
||||
- Fix a problem with Open MPI's out of band TCP network for file descriptors
|
||||
greater than 32767.
|
||||
- Plug a memory leak in MPI_Mem_free().
|
||||
- Drop btl-vader-change-the-way-fast-boxes-are-used.patch as it
|
||||
merged upstream.
|
||||
- Add fix-rdma-component-selection.patch to fix bad rdma component selection
|
||||
which can cause stall when running on multiple IB nodes (bsc#1087031)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 26 11:30:52 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Enable --enable-mpirun-prefix-by-default (bsc#1086821)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 9 11:43:30 UTC 2018 - cgoll@suse.com
|
||||
|
||||
- Fix summary in module files (bnc#1080259)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 30 20:12:31 UTC 2018 - eich@suse.com
|
||||
|
||||
- Use macro in mpivars.(c)sh to be independent of changes to the module
|
||||
setup for the compiler (boo#1078364).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 17 09:55:44 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES.
|
||||
- Fix library package requires - use HPC macro (boo#1074890)
|
||||
- Fix rpm macro file.
|
||||
- Only build openmpi2-config for the standard flavor
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 7 10:58:31 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add btl-vader-change-the-way-fast-boxes-are-used.patch to
|
||||
fix a SEGV on i386 systems
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 13 12:39:09 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Fix pre/post install call to ldconfig
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 10 13:15:22 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add a ringdisabled flag to allow building only the standard flavor
|
||||
so not all flavors are pulled into staging rings
|
||||
- Fix baselibs.conf generation (wrong directory and name)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 6 13:56:53 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add conflicts between the macros-devel packages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 25 09:56:27 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Convert to multibuild.
|
||||
- Move all the doc to the docs RPM
|
||||
- Add HPC build using environment modules (FATE#321711).
|
||||
- Resync spec with openmpi and openmpi3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 25 09:21:25 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to OpenMPI 2.1.2
|
||||
* Many bug fixes. See NEWS
|
||||
- Fix VERSION file during build so that ompi_info reports good infos
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 19 14:36:31 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Remove --disable-mca-dso
|
||||
Related bug was due to openmpi/*.so wrongly packaged as devel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 15 13:39:33 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Reenable fortan08 bindings as gcc >= 5 is now the default
|
||||
- Remove devel-headers configure option (reserved for MPI plugins developers)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 12 16:12:29 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to 2.1.1.186.9a3ac9803c
|
||||
- Drop openmpi-pmix-configure-ac.patch as it was merged upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 6 12:09:30 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to 2.1.1.176.7aa585d4ff (2.1.2rc3)
|
||||
* Too many bug fixes to list. See NEWS
|
||||
* ppc64be support was dropped
|
||||
- Drop btl-vader-work-around-ob1-pending-fragment-bug.patch and
|
||||
pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch as
|
||||
they were merged upstream.
|
||||
- Package NEWS file
|
||||
- Add openmpi-pmix-configure-ac.patch to fix
|
||||
a compilation issue on Leap 42.3/SLE12 SP3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 5 16:04:49 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update _service to allow auto updates from github
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 13 11:17:00 UTC 2017 - schwab@linux-m68k.org
|
||||
|
||||
- Enable ucx only on supported platforms
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 19 15:18:49 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Fix module file name
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 12 08:02:32 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch and
|
||||
btl-vader-work-around-ob1-pending-fragment-bug.patch
|
||||
to fix upstream bug https://github.com/open-mpi/ompi/issues/3821
|
||||
which causes openmpi2 to fail the IMB test suite
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 11 09:44:34 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Do not require openucx libs for suse_version < 1320
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 7 07:59:13 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Cleanup upstream spec file
|
||||
- Disable rpath in configure
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 29 07:59:20 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Build with openucx support when it is available
|
||||
- Buid plugins as part of the MPI library. Fixes:
|
||||
* Missing shmem support
|
||||
* Missing Requires in RPM
|
||||
- Build with libfabric support on x86
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 28 06:31:04 UTC 2017 - jengelh@inai.de
|
||||
|
||||
- Trim filler wording from description
|
||||
- Replace uses of old $RPM_ variables, remove redundant %clean
|
||||
section, abolish %__-type macro indirection,
|
||||
remove excess piping to xargs
|
||||
- Add missing %_smp_mflags.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 15 12:06:33 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add support for openmpi2 over PSM2 and libfabric
|
||||
- Reference baselibs.conf and openmpi2-rpmlintrc in spec
|
||||
- Add _service to fetch from upstream github repo
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 8 11:39:44 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Remove version dependencies to libibumad and libibverbs
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 31 12:30:39 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Fix module file paths
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 14:21:28 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add openmpi2-config package which contains runtime configuration
|
||||
files for OpenMPI 1 and/or 2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 17 09:17:16 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to OpenMPI 2.1.1
|
||||
* Fix a problem with one of Open MPI's fifo data structures which led to
|
||||
hangs in a make check test.
|
||||
* Add missing MPI_AINT_ADD/MPI_AINT_DIFF function definitions to mpif.h.
|
||||
* Fix the error return from MPI_WIN_LOCK when rank argument is invalid.
|
||||
* Fix a problem with mpirun/orterun when started under a debugger.
|
||||
* Add configury option to disable use of CMA by the vader BTL.
|
||||
* Add configury check for MPI_DOUBLE_COMPLEX datatype support.
|
||||
* Fix memory allocated by MPI_WIN_ALLOCATE_SHARED to
|
||||
be 64 byte aligned.
|
||||
* Update MPI_WTICK man page to reflect possibly higher
|
||||
resolution than 10e-6.
|
||||
* Add missing MPI_T_PVAR_SESSION_NULL definition to mpi.h
|
||||
include file.
|
||||
* Enhance the Open MPI spec file to install modulefile in /opt
|
||||
if installed in a non-default location.
|
||||
* Fix a problem with conflicting PMI symbols when linking statically.
|
||||
* S390/S390x support
|
||||
- Drop openmpi2-ia32-fix-atomic.patch openmpi2-s390.patch as they are now
|
||||
fixed/supported upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 2 15:45:26 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add testsuite package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 24 18:22:22 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Initial packaging of OpenMPI 2.1.0
|
||||
|
754
openmpi2.spec
Normal file
754
openmpi2.spec
Normal file
@ -0,0 +1,754 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
# University Research and Technology
|
||||
# Corporation. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2003, The Regents of the University of California, through
|
||||
# Lawrence Berkeley National Laboratory (subject to receipt of any
|
||||
# required approvals from the U.S. Dept. of Energy). All rights reserved.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
|
||||
# Static libraries are disabled by default
|
||||
# for non HPC builds
|
||||
# To enable them, simply uncomment:
|
||||
# % define build_static_devel 1
|
||||
|
||||
%define pname openmpi
|
||||
%define vers 2.1.6
|
||||
%define _vers 2_1_6
|
||||
%define m_f_ver 2
|
||||
%bcond_with ringdisabled
|
||||
|
||||
%if "%flavor" == ""
|
||||
ExclusiveArch: do_not_build
|
||||
%{bcond_with hpc}
|
||||
%define package_name %pname%{m_f_ver}
|
||||
%else
|
||||
# Trickery for OBS Staging. If _with_ringdisabled is set
|
||||
# we only want to build the flavors required by other rings packages.
|
||||
# Do not build any other ones
|
||||
%if %{with ringdisabled}
|
||||
%if "%flavor" != "standard"
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "standard" || "%flavor" == "testsuite"
|
||||
%define package_name %{pname}%{m_f_ver}
|
||||
%bcond_with hpc
|
||||
%if "%flavor" == "testsuite"
|
||||
%define testsuite 1
|
||||
%endif
|
||||
%else
|
||||
%bcond_without hpc
|
||||
# Needs to be defined here to avoid hen/egg problem with test packages.
|
||||
%define package_name %{pname}_%{_vers}-%{compiler_family}%{?c_f_ver}-hpc
|
||||
%define build_static_devel 1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu-hpc"
|
||||
%define compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu7-hpc"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 7
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define testsuite 1
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu7-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 7
|
||||
%define testsuite 1
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} >= 1320
|
||||
%ifarch aarch64 %power64 x86_64 s390x
|
||||
%define with_ucx 1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Detect whether we are the default openMPI implemantation or not
|
||||
# openmpi2 is default for SLE/Leap 15.[0-3]
|
||||
%if "%{flavor}" == "standard" && %{suse_version} == 1500 && 0%{?sle_version} <= 150300
|
||||
%define default_openmpi 1
|
||||
%else
|
||||
%define default_openmpi 0
|
||||
%endif
|
||||
|
||||
%if %{with hpc}
|
||||
%{!?compiler_family:%global compiler_family gnu}
|
||||
%{hpc_init -M -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} -m openmpi %{?mpi_f_ver:-V %{mpi_f_ver}}}
|
||||
|
||||
%global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER})
|
||||
%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}
|
||||
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
|
||||
%endif
|
||||
|
||||
%define git_ver .0.d9b9e59e5c5a
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Preamble Section
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
Name: %{package_name}%{?testsuite:-testsuite}
|
||||
Version: %{vers}
|
||||
Release: 0
|
||||
Summary: An implementation of MPI/SHMEM
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/Parallel
|
||||
URL: http://www.open-mpi.org/
|
||||
Source0: openmpi-%{version}%{git_ver}.tar.bz2
|
||||
Source2: openmpi2-rpmlintrc
|
||||
Source3: macros.hpc-openmpi
|
||||
Source4: mpivars.sh
|
||||
Source5: mpivars.csh
|
||||
Patch0: fix-rdma-component-selection.patch
|
||||
Patch1: reproducible.patch
|
||||
Patch2: add-gen-p5-chip-pci-id-to-ini-file.patch
|
||||
Patch3: openmpi_disable_opal_fifo_test_issue5470.patch
|
||||
Patch4: Fix-error-with-stricter-quoting-requirements-of-autoconf-2.70.patch
|
||||
Patch5: Always-include-the-stddef.h-header.patch
|
||||
Patch6: btl-openib-Add-support-for-newer-hardware.patch
|
||||
Provides: mpi
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: flex
|
||||
BuildRequires: libibumad-devel
|
||||
BuildRequires: libibverbs-devel
|
||||
BuildRequires: libtool
|
||||
# net-tools is required to run hostname
|
||||
BuildRequires: net-tools
|
||||
%if 0%{?testsuite}
|
||||
BuildArch: noarch
|
||||
BuildRequires: %{package_name} = %{version}
|
||||
%endif
|
||||
%if 0%{?with_ucx}
|
||||
BuildRequires: libucm-devel
|
||||
BuildRequires: libucp-devel
|
||||
BuildRequires: libucs-devel
|
||||
BuildRequires: libuct-devel
|
||||
%endif
|
||||
%if %{without hpc}
|
||||
BuildRequires: Modules
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-fortran
|
||||
BuildRequires: mpi-selector
|
||||
Requires: mpi-selector
|
||||
Requires(preun):mpi-selector
|
||||
Requires: %{package_name}-libs = %{version}
|
||||
%else
|
||||
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||
BuildRequires: lua-lmod
|
||||
BuildRequires: suse-hpc
|
||||
%if 0%{!?testsuite:1}
|
||||
Requires: lib%{package_name} = %{version}
|
||||
%endif
|
||||
%hpc_requires
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
BuildRequires: infinipath-psm-devel
|
||||
BuildRequires: libfabric-devel
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
BuildRequires: libnuma-devel
|
||||
BuildRequires: libpsm2-devel
|
||||
BuildRequires: numactl
|
||||
%endif
|
||||
|
||||
Requires: openmpi-runtime-config
|
||||
Recommends: openmpi%{m_f_ver}-config
|
||||
%if 0%{?default_openmpi}
|
||||
Provides: openmpi = %{version}
|
||||
%endif
|
||||
# OpenMPI requires ssh (or rsh) to run even on a single host
|
||||
# Force ssh to make sure the install works out of the box
|
||||
Requires: openssh
|
||||
|
||||
%if %{without hpc}
|
||||
%define mpi_prefix %{_libdir}/mpi/gcc/openmpi%{m_f_ver}
|
||||
|
||||
%define mpi_bindir %{mpi_prefix}/bin
|
||||
%define mpi_libdir %{mpi_prefix}/%{_lib}
|
||||
%define mpi_datadir %{mpi_prefix}/share
|
||||
%define mpi_helpdir %{mpi_datadir}/%{pname}%{m_f_ver}
|
||||
%define mpi_includedir %{mpi_prefix}/include
|
||||
%define mpi_mandir %{mpi_prefix}/share/man
|
||||
%else
|
||||
%define mpi_prefix %hpc_prefix
|
||||
|
||||
%define mpi_bindir %hpc_bindir
|
||||
%define mpi_libdir %hpc_libdir
|
||||
%define mpi_datadir %hpc_datadir
|
||||
%define mpi_helpdir %{mpi_datadir}/openmpi
|
||||
%define mpi_includedir %hpc_includedir
|
||||
%define mpi_mandir %hpc_mandir
|
||||
|
||||
%endif
|
||||
|
||||
%description
|
||||
%if 0%{?testsuite}
|
||||
This package is just needed to run the testsuite and does not contain
|
||||
anything interesting.
|
||||
%else
|
||||
OpenMPI is an implementation of the Message Passing Interface, a
|
||||
standardized API typically used for parallel and/or distributed
|
||||
computing. OpenMPI is the merged result of four prior implementations
|
||||
where the team found for them to excel in one or more areas,
|
||||
such as latency or throughput.
|
||||
|
||||
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||
abstraction layer providing inter-process communication using
|
||||
one-sided communication techniques.
|
||||
|
||||
This package provides general tools (mpirun, mpiexec, etc.) and the
|
||||
Module Component Architecture (MCA) base and plugins necessary for
|
||||
running Open MPI/OpenSHMEM jobs.
|
||||
%endif
|
||||
|
||||
%if 0%{!?testsuite:1}
|
||||
%package %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
|
||||
Summary: OpenMPI runtime libraries for OpenMPI %{?with_hpc:HPC} version %{version}
|
||||
Group: System/Libraries
|
||||
Requires: %{name} = %{version}
|
||||
%if 0%{?default_openmpi}
|
||||
Provides: openmpi-libs = %{version}
|
||||
%endif
|
||||
%{?with_hpc:%hpc_requires}
|
||||
|
||||
%description %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
|
||||
OpenMPI is an implementation of the Message Passing Interface, a
|
||||
standardized API typically used for parallel and/or distributed
|
||||
computing. OpenMPI is the merged result of four prior implementations
|
||||
where the team found for them to excel in one or more areas,
|
||||
such as latency or throughput.
|
||||
|
||||
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||
abstraction layer providing inter-process communication using
|
||||
one-sided communication techniques.
|
||||
|
||||
This subpackage provides the OpenMPI shared libraries.
|
||||
|
||||
%package devel
|
||||
Summary: SDK for openMPI %{?with_hpc:HPC} version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Requires: libibumad-devel
|
||||
Requires: libibverbs-devel
|
||||
%if %{without hpc}
|
||||
Requires: libstdc++-devel
|
||||
%if 0%{?default_openmpi}
|
||||
Provides: openmpi-devel = %{version}
|
||||
%endif
|
||||
%else
|
||||
%hpc_requires_devel
|
||||
%endif
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
OpenMPI is an implementation of the Message Passing Interface, a
|
||||
standardized API typically used for parallel and/or distributed
|
||||
computing. OpenMPI is the merged result of four prior implementations
|
||||
where the team found for them to excel in one or more areas,
|
||||
such as latency or throughput.
|
||||
|
||||
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||
abstraction layer providing inter-process communication using
|
||||
one-sided communication techniques.
|
||||
|
||||
This subpackage provides the development files for Open MPI/OpenSHMEM,
|
||||
such as wrapper compilers and header files for MPI/OpenSHMEM
|
||||
development.
|
||||
|
||||
%package docs
|
||||
Summary: Documentation for Open MPI/SHMEM %{?with_hpc:HPC} version %{version}
|
||||
Group: Development/Documentation
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description docs
|
||||
OpenMPI is an implementation of the Message Passing Interface, a
|
||||
standardized API typically used for parallel and/or distributed
|
||||
computing. OpenMPI is the merged result of four prior implementations
|
||||
where the team found for them to excel in one or more areas,
|
||||
such as latency or throughput.
|
||||
|
||||
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||
abstraction layer providing inter-process communication using
|
||||
one-sided communication techniques.
|
||||
|
||||
This subpackage provides the documentation for Open MPI/OpenSHMEM.
|
||||
|
||||
%package macros-devel
|
||||
Summary: Macros for openMPI version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Requires: %{name}-devel = %{version}
|
||||
# Make sure no two openmpi macro file can be installed at once
|
||||
Provides: %{pname}-macros-provider = %{version}
|
||||
Conflicts: otherproviders(%{pname}-macros-provider)
|
||||
# Conflict (without providing) with the older openmpi-hpc-macros-devel flag
|
||||
# to avoid issue with older packages
|
||||
Conflicts: otherproviders(%{pname}-hpc-macros-devel)
|
||||
|
||||
%if 0%{?default_openmpi}
|
||||
Provides: openmpi-macros-devel = %{version}
|
||||
%endif
|
||||
|
||||
%description macros-devel
|
||||
Macros for building RPM packages for OpenMPI version %{version}.
|
||||
|
||||
%if 0%{?build_static_devel}
|
||||
%package devel-static
|
||||
Summary: Static libraries for openMPI %{?with_hpc:HPC} version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Requires: %{name}-devel = %{version}
|
||||
%if 0%{?default_openmpi}
|
||||
Provides: openmpi-devel-static = %{version}
|
||||
%endif
|
||||
|
||||
%description devel-static
|
||||
OpenMPI is an implementation of the Message Passing Interface, a
|
||||
standardized API typically used for parallel and/or distributed
|
||||
computing. OpenMPI is the merged result of four prior implementations
|
||||
where the team found for them to excel in one or more areas,
|
||||
such as latency or throughput.
|
||||
|
||||
This RPM contains the static library files, which are packaged separately from
|
||||
the dynamic library and headers.
|
||||
%endif
|
||||
|
||||
%if %{without hpc}
|
||||
%package -n %{pname}%{m_f_ver}-config
|
||||
Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Provides: openmpi-runtime-config = %{version}
|
||||
Conflicts: otherproviders(openmpi-runtime-config)
|
||||
|
||||
%description -n %{pname}%{m_f_ver}-config
|
||||
OpenMPI is an implementation of the Message Passing Interface, a
|
||||
standardized API typically used for parallel and/or distributed
|
||||
computing. OpenMPI is the merged result of four prior implementations
|
||||
where the team found for them to excel in one or more areas,
|
||||
such as latency or throughput.
|
||||
|
||||
This RPM contains the configuration files for OpenMPI runtime (Version 1 or 2).
|
||||
%endif
|
||||
|
||||
%if %{with hpc}
|
||||
%{hpc_master_package -L -a}
|
||||
%{hpc_master_package -l}
|
||||
%{hpc_master_package devel}
|
||||
%{hpc_master_package docs}
|
||||
%{hpc_master_package macros-devel}
|
||||
%{hpc_master_package -a devel-static}
|
||||
%endif # ?with_hpc
|
||||
%endif # !testsuite
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Prepatory Section
|
||||
#
|
||||
#############################################################################
|
||||
%prep
|
||||
echo FLAVOR %{flavor}
|
||||
%if %{with hpc}
|
||||
echo with HPC
|
||||
%endif
|
||||
%if %{without hpc}
|
||||
echo without HPC
|
||||
%endif
|
||||
%setup -q -n openmpi-%{version}%{git_ver}
|
||||
%patch0
|
||||
%if %{without hpc}
|
||||
cat > %{_sourcedir}/baselibs.conf <<EOF
|
||||
openmpi%{m_f_ver}-libs
|
||||
EOF
|
||||
%endif
|
||||
%patch1 -p1
|
||||
%patch2
|
||||
%patch3 -p1
|
||||
%patch4
|
||||
%patch5
|
||||
%patch6
|
||||
# Live patch the VERSION file
|
||||
sed -i -e 's/^greek=.*$/greek=%{git_ver}/' -e 's/^repo_rev=.*$/repo_rev=%{version}%{git_ver}/' \
|
||||
-e 's/^date=.*$/date="OpenMPI %{version} Distribution for SUSE"/' VERSION
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Build Section
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
%build
|
||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||
export USER=OBS
|
||||
export HOSTNAME=OBS
|
||||
%{?with_hpc:%hpc_debug}
|
||||
./autogen.pl --force
|
||||
%if %{with hpc}
|
||||
%{hpc_setup}
|
||||
%{hpc_configure} \
|
||||
%else
|
||||
%{configure} \
|
||||
--prefix="%{mpi_prefix}" \
|
||||
--exec-prefix="%{mpi_prefix}" \
|
||||
--bindir="%{mpi_bindir}" \
|
||||
--datadir="%{mpi_datadir}" \
|
||||
--includedir="%{mpi_includedir}" \
|
||||
--libdir="%{mpi_libdir}" \
|
||||
--mandir="%{mpi_mandir}" \
|
||||
%endif
|
||||
%{?build_static_devel:--enable-static} \
|
||||
%{!?build_static_devel:--disable-static} \
|
||||
--enable-builtin-atomics \
|
||||
--with-libltdl=%{_prefix} \
|
||||
--with-verbs \
|
||||
--enable-mpi-thread-multiple \
|
||||
--disable-wrapper-rpath \
|
||||
%if 0%{?with_ucx}
|
||||
--with-ucx \
|
||||
--with-ucx-libdir=/usr/%_lib \
|
||||
%endif
|
||||
%ifarch %{ix86} x86_64
|
||||
--with-psm \
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
--with-psm2 \
|
||||
%endif
|
||||
--disable-silent-rules \
|
||||
--enable-mpirun-prefix-by-default \
|
||||
--with-package-string="Open MPI Distribution for SUSE" \
|
||||
--disable-wrapper-rpath
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%if 0%{?testsuite}
|
||||
%check
|
||||
make check
|
||||
|
||||
%install
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc README
|
||||
%doc test/util/test-suite.log
|
||||
|
||||
%else # ?testsuite
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Install Section
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
%install
|
||||
%{?with_hpc:%{hpc_setup_compiler}}
|
||||
make install DESTDIR="%buildroot"
|
||||
|
||||
# sanitize .la files
|
||||
list="$(find %{buildroot} -name "*.la" -printf "%%h\n" | sort | uniq)"
|
||||
for dir in ${list}
|
||||
do
|
||||
deps="${deps} -L${dir##%{buildroot}}"
|
||||
done
|
||||
for dir in ${list}
|
||||
do
|
||||
%if !0%{?build_static_devel}
|
||||
rm -f ${dir}/*.la
|
||||
%else
|
||||
for file in ${dir}/*.la
|
||||
do
|
||||
sed -i -e "s@ [^[:space:]]*home[^[:space:]\']*@${deps}@" \
|
||||
-e "s@ [^[:space:]]*home[^[:space:]\']*@@g" \
|
||||
-e "s@-L.*.libs @@g" ${file}
|
||||
done
|
||||
%endif
|
||||
done
|
||||
##even with disable static this one gets generated
|
||||
%{!?build_static_devel:rm -f %{buildroot}%{mpi_libdir}/libvt-pomp.a}
|
||||
|
||||
# GCC 5 builds the ignore-tkr extension and there is no way to
|
||||
# turn that off
|
||||
rm -f %{buildroot}%{mpi_libdir}/mpi_ext.mod
|
||||
|
||||
%fdupes %{buildroot}%{mpi_mandir}
|
||||
%fdupes %{buildroot}%{mpi_datadir}
|
||||
%fdupes %{buildroot}%{mpi_libdir}/pkgconfig
|
||||
|
||||
%if %{without hpc}
|
||||
# make and install mpivars files
|
||||
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE4} \
|
||||
> %{buildroot}%{mpi_bindir}/mpivars.sh
|
||||
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE5} \
|
||||
> %{buildroot}%{mpi_bindir}/mpivars.csh
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/modules/gnu-openmpi
|
||||
cat << EOF > %{buildroot}%{_datadir}/modules/gnu-openmpi/%{version}
|
||||
#%%Module
|
||||
proc ModulesHelp { } {
|
||||
global dotversion
|
||||
puts stderr "\tLoads the gnu - openmpi %{version} Environment"
|
||||
}
|
||||
|
||||
module-whatis "Loads the gnu openmpi %{version} Environment."
|
||||
conflict gnu-openmpi
|
||||
prepend-path PATH %{mpi_bindir}
|
||||
prepend-path INCLUDE %{mpi_includedir}
|
||||
prepend-path INCLUDE %{mpi_libdir}
|
||||
prepend-path MANPATH %{mpi_mandir}
|
||||
prepend-path LD_LIBRARY_PATH %{mpi_libdir}
|
||||
|
||||
EOF
|
||||
|
||||
mkdir -p %{buildroot}%{_rpmmacrodir}
|
||||
cat <<EOF >%{buildroot}%{_rpmmacrodir}/macros.openmpi
|
||||
#
|
||||
# openmpi
|
||||
#
|
||||
%openmpi_prefix %{mpi_prefix}
|
||||
%setup_openmpi source %{mpi_bindir}/mpivars.sh
|
||||
|
||||
%openmpi_requires Requires: %{name}-libs
|
||||
%openmpi_devel_requires Requires: %{name}-devel
|
||||
|
||||
EOF
|
||||
%else
|
||||
%hpc_write_modules_files
|
||||
#%%Module1.0#####################################################################
|
||||
|
||||
proc ModulesHelp { } {
|
||||
|
||||
puts stderr " "
|
||||
puts stderr "This module loads the %{pname} library built with the %{compiler_family} toolchain."
|
||||
puts stderr "\nVersion %{version}\n"
|
||||
|
||||
}
|
||||
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
|
||||
module-whatis "Version: %{version}"
|
||||
module-whatis "Category: runtime library"
|
||||
module-whatis "Description: %{SUMMARY:0}"
|
||||
module-whatis "URL: %{url}"
|
||||
|
||||
set version %{version}
|
||||
|
||||
setenv MPI_DIR %{hpc_mpi_install_path}
|
||||
prepend-path PATH %{hpc_bindir}
|
||||
prepend-path MANPATH %{hpc_mandir}
|
||||
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
||||
prepend-path MODULEPATH %{hpc_modulepath}
|
||||
%{hpc_modulefile_add_pkgconfig_path}
|
||||
|
||||
family "MPI"
|
||||
EOF
|
||||
cat <<EOF > %{buildroot}/%{mpi_bindir}/mpivars.sh
|
||||
%hpc_setup_compiler
|
||||
module load %{hpc_mpi_family}%{?pack_suff}/%{version}
|
||||
EOF
|
||||
sed -e "s/export/setenv/" -e "s/=/ /" \
|
||||
%{buildroot}/%{mpi_bindir}/mpivars.sh > \
|
||||
%{buildroot}/%{mpi_bindir}/mpivars.csh
|
||||
mkdir -p %{buildroot}%{_rpmmacrodir}
|
||||
cp %{S:3} %{buildroot}%{_rpmmacrodir}
|
||||
|
||||
# Drop the files that should go into %{pname}-config as we only package them
|
||||
# in the non HPC build
|
||||
rm -f %{buildroot}%{_sysconfdir}/openmpi-default-hostfile
|
||||
rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf
|
||||
rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl
|
||||
%endif
|
||||
|
||||
%if %{without hpc}
|
||||
%post
|
||||
# Always register. We might be already registered in the case of an udate
|
||||
# but mpi-selector handles it fine
|
||||
/usr/bin/mpi-selector \
|
||||
--register %{name} \
|
||||
--source-dir %{mpi_bindir} \
|
||||
--yes
|
||||
|
||||
%preun
|
||||
# Only unregister when uninstalling
|
||||
if [ "$1" = "0" ]; then
|
||||
/usr/bin/mpi-selector --unregister %{name} --yes
|
||||
# Deregister the default if we are uninstalling it
|
||||
if [ "$(/usr/bin/mpi-selector --system --query)" = "%{name}" ]; then
|
||||
/usr/bin/mpi-selector --system --unset --yes
|
||||
fi
|
||||
fi
|
||||
|
||||
%post libs -p /sbin/ldconfig
|
||||
%postun libs -p /sbin/ldconfig
|
||||
%else #!?with_hpc
|
||||
# make it default
|
||||
%post -n lib%{name} -p /sbin/ldconfig
|
||||
%postun -n lib%{name} -p /sbin/ldconfig
|
||||
|
||||
%postun
|
||||
%hpc_module_delete_if_default
|
||||
%endif #!?with_hpc
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc NEWS README AUTHORS
|
||||
%license LICENSE
|
||||
%dir %{mpi_prefix}
|
||||
%dir %{mpi_bindir}
|
||||
%dir %{mpi_libdir}
|
||||
%dir %{mpi_datadir}
|
||||
%dir %{mpi_mandir}
|
||||
%{mpi_bindir}/mpivars.csh
|
||||
%{mpi_bindir}/mpivars.sh
|
||||
|
||||
%if %{without hpc}
|
||||
%dir %{_libdir}/mpi
|
||||
%dir %{_libdir}/mpi/gcc
|
||||
%dir %{_datadir}/modules/gnu-openmpi
|
||||
%{_datadir}/modules/gnu-openmpi/%{version}
|
||||
%else # with hpc
|
||||
%hpc_mpi_dirs
|
||||
%hpc_modules_files
|
||||
%endif # with hpc
|
||||
#
|
||||
%if 0%{?suse_version} <= 1315 && 0%{?sle_version} <= 120200
|
||||
%dir %{mpi_datadir}/openmpi/doc
|
||||
%{mpi_datadir}/openmpi/doc/COPYRIGHT-ptmalloc2.txt
|
||||
%endif
|
||||
#
|
||||
%{mpi_bindir}/mpirun
|
||||
%{mpi_bindir}/ompi-clean
|
||||
%{mpi_bindir}/ompi-dvm
|
||||
%{mpi_bindir}/ompi-ps
|
||||
%{mpi_bindir}/ompi-server
|
||||
%{mpi_bindir}/ompi-submit
|
||||
%{mpi_bindir}/ompi-top
|
||||
%{mpi_bindir}/ompi_info
|
||||
%{mpi_bindir}/orte-clean
|
||||
%{mpi_bindir}/orte-dvm
|
||||
%{mpi_bindir}/orte-info
|
||||
%{mpi_bindir}/orte-ps
|
||||
%{mpi_bindir}/orte-server
|
||||
%{mpi_bindir}/orte-submit
|
||||
%{mpi_bindir}/orte-top
|
||||
%{mpi_bindir}/orted
|
||||
%{mpi_bindir}/orterun
|
||||
%{mpi_bindir}/oshmem_info
|
||||
%{mpi_bindir}/oshrun
|
||||
%{mpi_bindir}/shmemrun
|
||||
|
||||
%dir %{mpi_datadir}/openmpi
|
||||
%dir %{mpi_datadir}/openmpi/amca-param-sets
|
||||
%{mpi_datadir}/openmpi/amca-param-sets/btl-openib-benchmark
|
||||
%{mpi_datadir}/openmpi/amca-param-sets/example.conf
|
||||
%{mpi_datadir}/openmpi/mca-btl-openib-device-params.ini
|
||||
%{mpi_datadir}/openmpi/*-data.txt
|
||||
%{mpi_datadir}/openmpi/help-*.txt
|
||||
|
||||
%files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
|
||||
%defattr(-,root,root)
|
||||
%dir %mpi_prefix/
|
||||
%dir %mpi_libdir/
|
||||
%mpi_libdir/*.so.*
|
||||
%{mpi_libdir}/openmpi/*.so
|
||||
|
||||
%files devel
|
||||
%defattr(-, root, root)
|
||||
%dir %{mpi_libdir}/openmpi
|
||||
%dir %{mpi_libdir}/pkgconfig
|
||||
%{mpi_includedir}
|
||||
%{mpi_libdir}/*.so
|
||||
%{mpi_libdir}/pkgconfig/*.pc
|
||||
%{mpi_libdir}/mpi.mod
|
||||
%if 0%{?suse_version} >= 1320
|
||||
%{mpi_libdir}/mpi_f08*.mod
|
||||
%{mpi_libdir}/pmpi_f08*.mod
|
||||
%endif
|
||||
%{mpi_bindir}/mpiCC
|
||||
%{mpi_bindir}/mpic++
|
||||
%{mpi_bindir}/mpicc
|
||||
%{mpi_bindir}/mpicxx
|
||||
%{mpi_bindir}/mpiexec
|
||||
%{mpi_bindir}/mpif77
|
||||
%{mpi_bindir}/mpif90
|
||||
%{mpi_bindir}/mpifort
|
||||
%{mpi_bindir}/opal_wrapper
|
||||
%{mpi_bindir}/ortecc
|
||||
%{mpi_bindir}/oshcc
|
||||
%{mpi_bindir}/oshfort
|
||||
%{mpi_bindir}/shmemcc
|
||||
%{mpi_bindir}/shmemfort
|
||||
%{mpi_datadir}/openmpi/openmpi-valgrind.supp
|
||||
|
||||
%files docs
|
||||
%defattr(-, root, root, -)
|
||||
%{mpi_mandir}
|
||||
|
||||
%files macros-devel
|
||||
%defattr(-,root,root,-)
|
||||
%if %{with hpc}
|
||||
%config %{_rpmmacrodir}/macros.hpc-openmpi
|
||||
%else
|
||||
%config %{_rpmmacrodir}/macros.openmpi
|
||||
%endif
|
||||
|
||||
%if 0%{?build_static_devel}
|
||||
%files devel-static
|
||||
%defattr(-, root, root)
|
||||
%{mpi_libdir}/*.la
|
||||
%{mpi_libdir}/openmpi/*.la
|
||||
%{mpi_libdir}/*.a
|
||||
%{mpi_libdir}/openmpi/*.a
|
||||
%endif
|
||||
|
||||
%if %{without hpc}
|
||||
%files -n %{pname}%{m_f_ver}-config
|
||||
%config %{_sysconfdir}/openmpi-default-hostfile
|
||||
%config %{_sysconfdir}/openmpi-mca-params.conf
|
||||
%{_sysconfdir}/openmpi-totalview.tcl
|
||||
%endif
|
||||
|
||||
%endif # !?testsuite
|
||||
|
||||
%changelog
|
29
openmpi_disable_opal_fifo_test_issue5470.patch
Normal file
29
openmpi_disable_opal_fifo_test_issue5470.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From: Michel Normand <normand@linux.vnet.ibm.com>
|
||||
Subject: openmpi disable opal fifo test issue5470
|
||||
Date: Wed, 04 Dec 2019 16:55:45 +0100
|
||||
|
||||
openmpi disable opal fifo test for PowerPC as per upstream issue
|
||||
https://github.com/open-mpi/ompi/issues/5470
|
||||
|
||||
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
|
||||
---
|
||||
test/class/opal_fifo.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: openmpi-2.1.6.0.d9b9e59e5c5a/test/class/opal_fifo.c
|
||||
===================================================================
|
||||
--- openmpi-2.1.6.0.d9b9e59e5c5a.orig/test/class/opal_fifo.c
|
||||
+++ openmpi-2.1.6.0.d9b9e59e5c5a/test/class/opal_fifo.c
|
||||
@@ -121,6 +121,12 @@ int main (int argc, char *argv[]) {
|
||||
double timing;
|
||||
int rc;
|
||||
|
||||
+#ifdef __powerpc64__
|
||||
+ printf ("disable test that hang as per\nhttps://github.com/open-mpi/ompi/issues/5470\n");
|
||||
+ test_success ();
|
||||
+ return test_finalize ();
|
||||
+#endif
|
||||
+
|
||||
rc = opal_init_util (&argc, &argv);
|
||||
test_verify_int(OPAL_SUCCESS, rc);
|
||||
if (OPAL_SUCCESS != rc) {
|
139
reproducible.patch
Normal file
139
reproducible.patch
Normal file
@ -0,0 +1,139 @@
|
||||
=> merged https://github.com/open-mpi/ompi/pull/3755 sort ; backport in 3756
|
||||
=> merged https://github.com/open-mpi/ompi/pull/5653 user+host
|
||||
https://github.com/open-mpi/ompi/issues/3759
|
||||
|
||||
|
||||
Index: openmpi-2.1.1/autogen.pl
|
||||
===================================================================
|
||||
--- openmpi-2.1.1.orig/autogen.pl
|
||||
+++ openmpi-2.1.1/autogen.pl
|
||||
@@ -85,7 +85,7 @@ if ($^O eq "solaris") {
|
||||
}
|
||||
|
||||
$username = getpwuid($>);
|
||||
-$full_hostname = `hostname`;
|
||||
+$full_hostname = $ENV{HOSTNAME} || `hostname`;
|
||||
chomp($full_hostname);
|
||||
$hostname = $full_hostname;
|
||||
$hostname =~ s/^([\w\-]+)\..+/\1/;
|
||||
@@ -316,7 +316,7 @@ sub mca_process_framework {
|
||||
$mca_found->{$pname}->{$framework}->{found} = 1;
|
||||
opendir(DIR, $dir) ||
|
||||
my_die "Can't open $dir directory";
|
||||
- foreach my $d (readdir(DIR)) {
|
||||
+ foreach my $d (sort(readdir(DIR))) {
|
||||
# Skip any non-directory, "base", or any dir that
|
||||
# begins with "."
|
||||
next
|
||||
@@ -628,7 +628,7 @@ sub mpiext_run_global {
|
||||
my $dir = "$topdir/$ext_prefix";
|
||||
opendir(DIR, $dir) ||
|
||||
my_die "Can't open $dir directory";
|
||||
- foreach my $d (readdir(DIR)) {
|
||||
+ foreach my $d (sort(readdir(DIR))) {
|
||||
# Skip any non-directory, "base", or any dir that begins with "."
|
||||
next
|
||||
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");
|
||||
@@ -715,7 +715,7 @@ sub mpicontrib_run_global {
|
||||
my $dir = "$topdir/$contrib_prefix";
|
||||
opendir(DIR, $dir) ||
|
||||
my_die "Can't open $dir directory";
|
||||
- foreach my $d (readdir(DIR)) {
|
||||
+ foreach my $d (sort(readdir(DIR))) {
|
||||
# Skip any non-directory, "base", or any dir that begins with "."
|
||||
next
|
||||
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");
|
||||
@@ -1144,9 +1144,6 @@ if (-e "orcm") {
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
-$full_hostname = `hostname`;
|
||||
-chomp($full_hostname);
|
||||
-
|
||||
$m4 = "dnl
|
||||
dnl \$HEADER\$
|
||||
dnl
|
||||
Index: openmpi-2.1.1/config/opal_functions.m4
|
||||
===================================================================
|
||||
--- openmpi-2.1.1.orig/config/opal_functions.m4
|
||||
+++ openmpi-2.1.1/config/opal_functions.m4
|
||||
@@ -95,8 +95,8 @@ EOF
|
||||
#
|
||||
|
||||
OPAL_CONFIGURE_USER="`whoami`"
|
||||
-OPAL_CONFIGURE_HOST="`hostname | head -n 1`"
|
||||
-OPAL_CONFIGURE_DATE="`date`"
|
||||
+OPAL_CONFIGURE_HOST="${HOSTNAME:-`hostname | head -n 1`}"
|
||||
+OPAL_CONFIGURE_DATE="reproducibledate"
|
||||
|
||||
#
|
||||
# Save these details so that they can be used in opal_info later
|
||||
@@ -115,8 +115,8 @@ AC_DEFUN([OPAL_BASIC_SETUP],[
|
||||
#
|
||||
|
||||
OPAL_CONFIGURE_USER="`whoami`"
|
||||
-OPAL_CONFIGURE_HOST="`hostname | head -n 1`"
|
||||
-OPAL_CONFIGURE_DATE="`date`"
|
||||
+OPAL_CONFIGURE_HOST="${HOSTNAME:-`hostname | head -n 1`}"
|
||||
+OPAL_CONFIGURE_DATE="reproducibledate"
|
||||
|
||||
#
|
||||
# Make automake clean emacs ~ files for "make clean"
|
||||
Index: openmpi-2.1.1/config/opal_get_version.m4
|
||||
===================================================================
|
||||
--- openmpi-2.1.1.orig/config/opal_get_version.m4
|
||||
+++ openmpi-2.1.1/config/opal_get_version.m4
|
||||
@@ -91,7 +91,7 @@ m4_define([OPAL_GET_VERSION],[
|
||||
$2_REPO_REV=`git describe --tags --always`
|
||||
fi
|
||||
else
|
||||
- $2_REPO_REV="date`date '+%Y-%m-%d'`"
|
||||
+ $2_REPO_REV="date"
|
||||
fi
|
||||
fi
|
||||
|
||||
Index: openmpi-2.1.1/ompi/tools/ompi_info/Makefile.am
|
||||
===================================================================
|
||||
--- openmpi-2.1.1.orig/ompi/tools/ompi_info/Makefile.am
|
||||
+++ openmpi-2.1.1/ompi/tools/ompi_info/Makefile.am
|
||||
@@ -26,8 +26,8 @@ AM_CFLAGS = \
|
||||
-DOPAL_CONFIGURE_HOST="\"@OPAL_CONFIGURE_HOST@\"" \
|
||||
-DOPAL_CONFIGURE_DATE="\"@OPAL_CONFIGURE_DATE@\"" \
|
||||
-DOMPI_BUILD_USER="\"$$USER\"" \
|
||||
- -DOMPI_BUILD_HOST="\"`hostname`\"" \
|
||||
- -DOMPI_BUILD_DATE="\"`date`\"" \
|
||||
+ -DOMPI_BUILD_HOST="\"$${HOSTNAME:-`hostname`}\"" \
|
||||
+ -DOMPI_BUILD_DATE="\"reproducibledate\"" \
|
||||
-DOMPI_BUILD_CFLAGS="\"@CFLAGS@\"" \
|
||||
-DOMPI_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \
|
||||
-DOMPI_BUILD_CXXFLAGS="\"@CXXFLAGS@\"" \
|
||||
Index: openmpi-2.1.1/orte/tools/orte-info/Makefile.am
|
||||
===================================================================
|
||||
--- openmpi-2.1.1.orig/orte/tools/orte-info/Makefile.am
|
||||
+++ openmpi-2.1.1/orte/tools/orte-info/Makefile.am
|
||||
@@ -23,8 +23,8 @@ AM_CFLAGS = \
|
||||
-DOPAL_CONFIGURE_HOST="\"@OPAL_CONFIGURE_HOST@\"" \
|
||||
-DOPAL_CONFIGURE_DATE="\"@OPAL_CONFIGURE_DATE@\"" \
|
||||
-DOMPI_BUILD_USER="\"$$USER\"" \
|
||||
- -DOMPI_BUILD_HOST="\"`hostname`\"" \
|
||||
- -DOMPI_BUILD_DATE="\"`date`\"" \
|
||||
+ -DOMPI_BUILD_HOST="\"$${HOSTNAME:-`hostname`}\"" \
|
||||
+ -DOMPI_BUILD_DATE="\"reproducibledate\"" \
|
||||
-DOMPI_BUILD_CFLAGS="\"@CFLAGS@\"" \
|
||||
-DOMPI_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \
|
||||
-DOMPI_BUILD_CXXFLAGS="\"@CXXFLAGS@\"" \
|
||||
Index: openmpi-2.1.1/oshmem/tools/oshmem_info/Makefile.am
|
||||
===================================================================
|
||||
--- openmpi-2.1.1.orig/oshmem/tools/oshmem_info/Makefile.am
|
||||
+++ openmpi-2.1.1/oshmem/tools/oshmem_info/Makefile.am
|
||||
@@ -15,8 +15,8 @@ AM_CPPFLAGS = \
|
||||
-DOPAL_CONFIGURE_HOST="\"@OPAL_CONFIGURE_HOST@\"" \
|
||||
-DOPAL_CONFIGURE_DATE="\"@OPAL_CONFIGURE_DATE@\"" \
|
||||
-DOMPI_BUILD_USER="\"$$USER\"" \
|
||||
- -DOMPI_BUILD_HOST="\"`hostname`\"" \
|
||||
- -DOMPI_BUILD_DATE="\"`date`\"" \
|
||||
+ -DOMPI_BUILD_HOST="\"$${HOSTNAME:-`hostname`}\"" \
|
||||
+ -DOMPI_BUILD_DATE="\"reproducibledate\"" \
|
||||
-DOMPI_BUILD_CFLAGS="\"@CFLAGS@\"" \
|
||||
-DOMPI_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \
|
||||
-DOMPI_BUILD_CXXFLAGS="\"@CXXFLAGS@\"" \
|
Loading…
Reference in New Issue
Block a user