Merge remote-tracking branch 'up/master' into master-riscv64

Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
David Abdurachmanov 2020-07-02 15:06:21 +03:00
commit 14627af2cb
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
5 changed files with 37 additions and 94 deletions

5
.gitignore vendored
View File

@ -47,3 +47,8 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-4.0.2rc1.tar.bz2
/openmpi-4.0.2rc2.tar.bz2
/openmpi-4.0.2.tar.bz2
/openmpi-4.0.3rc3.tar.bz2
/openmpi-4.0.3rc4.tar.bz2
/openmpi-4.0.3.tar.bz2
/openmpi-4.0.4rc1.tar.bz2
/openmpi-4.0.4.tar.bz2

View File

@ -1,77 +0,0 @@
From ea1355beae918b3acd67d5c0ccc44afbcc5b7ca9 Mon Sep 17 00:00:00 2001
From: Edgar Gabriel <egabriel@central.uh.edu>
Date: Tue, 29 Oct 2019 15:21:22 -0500
Subject: [PATCH] fcoll/two_phase: fix error in calculating aggregators in
32bit mode
In fcoll_two_phase_supprot_fns.c: calculation of the aggregator index
failed for large offsets on 32bit machine, due to improper handling of
64bit offsets.
Fixes Issue #7110
Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
---
.../two_phase/fcoll_two_phase_support_fns.c | 25 +++++++++++--------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/ompi/mca/fcoll/two_phase/fcoll_two_phase_support_fns.c b/ompi/mca/fcoll/two_phase/fcoll_two_phase_support_fns.c
index 777cf08b9ae..69a56f2c6c7 100644
--- a/ompi/mca/fcoll/two_phase/fcoll_two_phase_support_fns.c
+++ b/ompi/mca/fcoll/two_phase/fcoll_two_phase_support_fns.c
@@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
- * Copyright (c) 2008-2011 University of Houston. All rights reserved.
+ * Copyright (c) 2008-2019 University of Houston. All rights reserved.
* Copyright (c) 2014-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
@@ -156,23 +156,26 @@ int mca_fcoll_two_phase_calc_aggregator(ompio_file_t *fh,
{
- int rank_index, rank;
+ int rank_index, rank;
OMPI_MPI_OFFSET_TYPE avail_bytes;
-
- rank_index = (int) ((off - min_off + fd_size)/ fd_size - 1);
-
+ long long off_ll = (long long) off;
+ long long min_off_ll = (long long) min_off;
+ long long fd_size_ll = (long long) fd_size;
+ long long rank_index_ll;
+
+ rank_index_ll = (((off_ll - min_off_ll + fd_size_ll)/ fd_size_ll) - 1);
+ rank_index = (int) rank_index_ll;
if (striping_unit > 0){
rank_index = 0;
while (off > fd_end[rank_index]) rank_index++;
}
-
if (rank_index >= num_aggregators || rank_index < 0) {
fprintf(stderr,
- "Error in ompi_io_ompio_calcl_aggregator():");
+ "Error in mca_fcoll_two_phase_calc_aggregator:");
fprintf(stderr,
- "rank_index(%d) >= num_aggregators(%d)fd_size=%lld off=%lld\n",
- rank_index,num_aggregators,fd_size,off);
+ "rank_index(%d) >= num_aggregators(%d) fd_size=%ld off=%ld min_off=%ld striping_unit=%d\n",
+ rank_index, num_aggregators, fd_size, off, min_off, striping_unit);
ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1);
}
@@ -184,9 +187,9 @@ int mca_fcoll_two_phase_calc_aggregator(ompio_file_t *fh,
rank = aggregator_list[rank_index];
- #if 0
+#if 0
printf("rank : %d, rank_index : %d\n",rank, rank_index);
- #endif
+#endif
return rank;
}

View File

@ -1,6 +1,7 @@
%_openmpi_load \
. /etc/profile.d/modules.sh; \
module load mpi/openmpi-%{_arch};
module load mpi/openmpi-%{_arch}; \
export OMPI_MCA_rmaps_base_oversubscribe=1
%_openmpi_unload \
. /etc/profile.d/modules.sh; \
module unload mpi/openmpi-%{_arch};

View File

@ -19,7 +19,7 @@
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%if 0%{?fedora} >= 32
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8
%bcond_with python2
%else
%bcond_without python2
@ -40,8 +40,8 @@
%endif
Name: openmpi%{?_cc_name_suffix}
Version: 4.0.2
Release: 4.1.riscv64%{?dist}
Version: 4.0.4
Release: 1.0.riscv64%{?dist}
Summary: Open Message Passing Interface
License: BSD and MIT and Romio
URL: http://www.open-mpi.org/
@ -53,9 +53,6 @@ Source2: openmpi.pth.py2
Source3: openmpi.pth.py3
Source4: macros.openmpi
# fcoll/two_phase: fix error in calculating aggregators in 32bit mode
Patch0: https://patch-diff.githubusercontent.com/raw/open-mpi/ompi/pull/7126.patch
# Add support for riscv64
Patch10: openmpi-4.0.1-riscv64.patch
@ -149,11 +146,7 @@ Contains development headers and libraries for openmpi.
%package java
Summary: Java library
Requires: %{name} = %{version}-%{release}
%if 0%{?fedora} >= 20 || 0%{?rhel} >= 7
Requires: java-headless
%else
Requires: java
%endif
%description java
Java library.
@ -191,7 +184,7 @@ OpenMPI support for Python 3.
%prep
%autosetup -p1 -n openmpi-%{version}
%autosetup -p1
./autogen.pl --force
@ -393,13 +386,34 @@ make check
%changelog
* Sun Jan 18 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 4.0.2-4.1.riscv64
- Rebuilt
* Thu Jan 16 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 4.0.2-4.0.riscv64
* Thu Jul 02 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 4.0.4-1.0.riscv64
- Add OPAL patch to enable riscv64
- Switch to use %{valgrind_arches}
* Wed Jun 17 2020 Orion Poplawski <orion@nwra.com> - 4.0.4-1
- Update to 4.0.4
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 4.0.4-0.3.rc1
- Rebuilt for Python 3.9
* Sun May 24 2020 Orion Poplawski <orion@nwra.com> - 4.0.4-0.2.rc1
- Set OMPI_MCA_rmaps_base_oversubscribe=1 in %%_openmpi_load (bz#1839571)
* Sun May 10 2020 Orion Poplawski <orion@nwra.com> - 4.0.4-0.1.rc1
- Update to 4.0.4 rc1
* Thu Mar 05 2020 Orion Poplawski <orion@nwra.com> - 4.0.3x-1
- Update to 4.0.3 (use x to avoid epoch)
* Sun Mar 01 2020 Orion Poplawski <orion@nwra.com> - 4.0.3rc4-1
- Update to 4.0.3rc4
* Sat Feb 1 2020 Orion Poplawski <orion@nwra.com> - 4.0.3rc3-1
- Update to 4.0.3rc3
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 10 2019 Dominik Mierzejewski <rpm@greysector.net> - 4.0.2-4
- disable rdma on ARM 32-bit (bz#1780584)

View File

@ -1 +1 @@
SHA512 (openmpi-4.0.2.tar.bz2) = 634d45d989f1e0b8848bfb4eb4527c7edd76d4fccd77a5f8d85a46a5822f97ba653adf13df857c87ae56a8117b4ae2d45ec24249c6ee41a562446d4112ddb770
SHA512 (openmpi-4.0.4.tar.bz2) = 6c193b4b5cbfd9d48fa5efcef01372c424b51ae5e9727ccf4235e3b14556dfeb010865e41a9473419ccda16559139aa469086b1fff9abfd337e87387fdec1c64