SHA256
1
0
forked from pool/mvapich2

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

- Reenable arm compilation
- Rename and cleanup mvapich-s390_get_cycles.patch to
  mvapich2-s390_get_cycles.patch for coherency
- Cleanup mvapich2-pthread_yield.patch
- Add mvapich2-arm-support.patch to provide missing functions for
  armv7hl and aarch64

OBS-URL: https://build.opensuse.org/request/show/502493
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mvapich2?expand=0&rev=6
This commit is contained in:
Nicolas Morey-Chaisemartin 2017-06-09 07:27:29 +00:00 committed by Git OBS Bridge
parent 92e7148f57
commit b95e475e85
9 changed files with 78 additions and 28 deletions

View File

@ -0,0 +1,29 @@
diff --git src/mpid/ch3/channels/common/include/mv2_clock.h src/mpid/ch3/channels/common/include/mv2_clock.h
index ac117c2..335d07f 100644
--- src/mpid/ch3/channels/common/include/mv2_clock.h
+++ src/mpid/ch3/channels/common/include/mv2_clock.h
@@ -81,7 +81,24 @@ static inline cycles_t get_cycles()
asm volatile ("mov %0=ar.itc" : "=r" (ret));
return ret;
}
+#elif defined(__ARM_ARCH_7A__)
+typedef unsigned long long cycles_t;
+static inline cycles_t get_cycles(void)
+{
+ cycles_t clk;
+ asm volatile("mrrc p15, 0, %Q0, %R0, c14" : "=r" (clk));
+ return clk;
+}
+#elif defined(__aarch64__)
+typedef unsigned long cycles_t;
+static inline cycles_t get_cycles()
+{
+ cycles_t cval;
+ asm volatile("isb" : : : "memory");
+ asm volatile("mrs %0, cntvct_el0" : "=r" (cval));
+ return cval;
+}
#elif defined(__s390__) || defined(__s390x__)
typedef unsigned long cycles_t;
static inline cycles_t get_cycles()

View File

@ -1,4 +1,13 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jun 8 13:55:32 UTC 2017 - nmoreychaisemartin@suse.com
- Reenable arm compilation
- Rename and cleanup mvapich-s390_get_cycles.patch to
mvapich2-s390_get_cycles.patch for coherency
- Cleanup mvapich2-pthread_yield.patch
- Add mvapich2-arm-support.patch to provide missing functions for
armv7hl and aarch64
-------------------------------------------------------------------
Thu Jun 8 11:38:36 UTC 2017 - nmoreychaisemartin@suse.com Thu Jun 8 11:38:36 UTC 2017 - nmoreychaisemartin@suse.com
- Remove version dependencies to libibumad, libibverbs and librdmacm - Remove version dependencies to libibumad, libibverbs and librdmacm

View File

@ -33,8 +33,9 @@ Release: 0
Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz
Source1: mpivars.sh Source1: mpivars.sh
Source2: mpivars.csh Source2: mpivars.csh
Patch0: mvapich-s390_get_cycles.patch Patch0: mvapich2-s390_get_cycles.patch
Patch1: mvapich2-pthread_yield.patch Patch1: mvapich2-pthread_yield.patch
Patch2: mvapich2-arm-support.patch
Url: http://mvapich.cse.ohio-state.edu/overview/mvapich2/ Url: http://mvapich.cse.ohio-state.edu/overview/mvapich2/
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf BuildRequires: autoconf
@ -48,7 +49,7 @@ BuildRequires: libibmad-devel
BuildRequires: libibumad-devel BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel BuildRequires: librdmacm-devel
%ifnarch s390 s390x %ifnarch s390 s390x armv7hl
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
BuildRequires: libtool BuildRequires: libtool
@ -58,7 +59,7 @@ BuildRequires: python-devel
BuildRequires: sysfsutils BuildRequires: sysfsutils
BuildRequires: xorg-x11-devel BuildRequires: xorg-x11-devel
# mvapich needs asm/timex.h which seems to be missing from the glibc kernel headers # mvapich needs asm/timex.h which seems to be missing from the glibc kernel headers
ExcludeArch: aarch64 armv7hl #ExcludeArch: aarch64 armv7hl
%if "%{name}" == "mvapich2-psm" %if "%{name}" == "mvapich2-psm"
ExclusiveArch: %ix86 x86_64 ExclusiveArch: %ix86 x86_64
@ -115,6 +116,7 @@ is based on MPICH2 and MVICH. This package contains the static libraries
%setup -q -n mvapich2-%{version}%{?rc_ver} %setup -q -n mvapich2-%{version}%{?rc_ver}
%patch0 %patch0
%patch1 %patch1
%patch2
cp /usr/share/automake*/config.* . cp /usr/share/automake*/config.* .
%build %build

View File

@ -1,15 +1,7 @@
From: Philipp Thomas <pth@suse.de> diff --git src/openpa/test/opa_test.h src/openpa/test/opa_test.h
Date: 2014-04-23 17:44:45+02:00 index 490b916..ec9c7f5 100644
Subject: Define GNU_SOURCE for pthrea_yield --- src/openpa/test/opa_test.h
+++ src/openpa/test/opa_test.h
---
src/openpa/test/opa_test.h | 1 +
1 file changed, 1 insertion(+)
Index: src/openpa/test/opa_test.h
===================================================================
--- src/openpa/test/opa_test.h.orig 2014-03-22 22:56:53.000000000 +0100
+++ src/openpa/test/opa_test.h 2014-04-23 17:43:18.697310735 +0200
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
#include <limits.h> #include <limits.h>
#include <time.h> #include <time.h>

View File

@ -1,10 +1,6 @@
--- diff --git src/mpid/ch3/channels/common/include/mv2_clock.h src/mpid/ch3/channels/common/include/mv2_clock.h
src/mpid/ch3/channels/common/include/mv2_clock.h | 6 ++++++ index 7edc148..ac117c2 100644
1 file changed, 6 insertions(+) --- src/mpid/ch3/channels/common/include/mv2_clock.h
Index: src/mpid/ch3/channels/common/include/mv2_clock.h
===================================================================
--- src/mpid/ch3/channels/common/include/mv2_clock.h.orig
+++ src/mpid/ch3/channels/common/include/mv2_clock.h +++ src/mpid/ch3/channels/common/include/mv2_clock.h
@@ -82,6 +82,14 @@ static inline cycles_t get_cycles() @@ -82,6 +82,14 @@ static inline cycles_t get_cycles()
return ret; return ret;

View File

@ -1,4 +1,13 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jun 8 13:55:32 UTC 2017 - nmoreychaisemartin@suse.com
- Reenable arm compilation
- Rename and cleanup mvapich-s390_get_cycles.patch to
mvapich2-s390_get_cycles.patch for coherency
- Cleanup mvapich2-pthread_yield.patch
- Add mvapich2-arm-support.patch to provide missing functions for
armv7hl and aarch64
-------------------------------------------------------------------
Thu Jun 8 11:38:36 UTC 2017 - nmoreychaisemartin@suse.com Thu Jun 8 11:38:36 UTC 2017 - nmoreychaisemartin@suse.com
- Remove version dependencies to libibumad, libibverbs and librdmacm - Remove version dependencies to libibumad, libibverbs and librdmacm

View File

@ -33,8 +33,9 @@ Release: 0
Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz
Source1: mpivars.sh Source1: mpivars.sh
Source2: mpivars.csh Source2: mpivars.csh
Patch0: mvapich-s390_get_cycles.patch Patch0: mvapich2-s390_get_cycles.patch
Patch1: mvapich2-pthread_yield.patch Patch1: mvapich2-pthread_yield.patch
Patch2: mvapich2-arm-support.patch
Url: http://mvapich.cse.ohio-state.edu/overview/mvapich2/ Url: http://mvapich.cse.ohio-state.edu/overview/mvapich2/
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf BuildRequires: autoconf
@ -48,7 +49,7 @@ BuildRequires: libibmad-devel
BuildRequires: libibumad-devel BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel BuildRequires: librdmacm-devel
%ifnarch s390 s390x %ifnarch s390 s390x armv7hl
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
BuildRequires: libtool BuildRequires: libtool
@ -58,7 +59,7 @@ BuildRequires: python-devel
BuildRequires: sysfsutils BuildRequires: sysfsutils
BuildRequires: xorg-x11-devel BuildRequires: xorg-x11-devel
# mvapich needs asm/timex.h which seems to be missing from the glibc kernel headers # mvapich needs asm/timex.h which seems to be missing from the glibc kernel headers
ExcludeArch: aarch64 armv7hl #ExcludeArch: aarch64 armv7hl
%if "%{name}" == "mvapich2-psm" %if "%{name}" == "mvapich2-psm"
ExclusiveArch: %ix86 x86_64 ExclusiveArch: %ix86 x86_64
@ -115,6 +116,7 @@ is based on MPICH2 and MVICH. This package contains the static libraries
%setup -q -n mvapich2-%{version}%{?rc_ver} %setup -q -n mvapich2-%{version}%{?rc_ver}
%patch0 %patch0
%patch1 %patch1
%patch2
cp /usr/share/automake*/config.* . cp /usr/share/automake*/config.* .
%build %build

View File

@ -1,4 +1,13 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jun 8 13:55:32 UTC 2017 - nmoreychaisemartin@suse.com
- Reenable arm compilation
- Rename and cleanup mvapich-s390_get_cycles.patch to
mvapich2-s390_get_cycles.patch for coherency
- Cleanup mvapich2-pthread_yield.patch
- Add mvapich2-arm-support.patch to provide missing functions for
armv7hl and aarch64
-------------------------------------------------------------------
Thu Jun 8 11:38:36 UTC 2017 - nmoreychaisemartin@suse.com Thu Jun 8 11:38:36 UTC 2017 - nmoreychaisemartin@suse.com
- Remove version dependencies to libibumad, libibverbs and librdmacm - Remove version dependencies to libibumad, libibverbs and librdmacm

View File

@ -33,8 +33,9 @@ Release: 0
Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz
Source1: mpivars.sh Source1: mpivars.sh
Source2: mpivars.csh Source2: mpivars.csh
Patch0: mvapich-s390_get_cycles.patch Patch0: mvapich2-s390_get_cycles.patch
Patch1: mvapich2-pthread_yield.patch Patch1: mvapich2-pthread_yield.patch
Patch2: mvapich2-arm-support.patch
Url: http://mvapich.cse.ohio-state.edu/overview/mvapich2/ Url: http://mvapich.cse.ohio-state.edu/overview/mvapich2/
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf BuildRequires: autoconf
@ -48,7 +49,7 @@ BuildRequires: libibmad-devel
BuildRequires: libibumad-devel BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel BuildRequires: librdmacm-devel
%ifnarch s390 s390x %ifnarch s390 s390x armv7hl
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
BuildRequires: libtool BuildRequires: libtool
@ -58,7 +59,7 @@ BuildRequires: python-devel
BuildRequires: sysfsutils BuildRequires: sysfsutils
BuildRequires: xorg-x11-devel BuildRequires: xorg-x11-devel
# mvapich needs asm/timex.h which seems to be missing from the glibc kernel headers # mvapich needs asm/timex.h which seems to be missing from the glibc kernel headers
ExcludeArch: aarch64 armv7hl #ExcludeArch: aarch64 armv7hl
%if "%{name}" == "mvapich2-psm" %if "%{name}" == "mvapich2-psm"
ExclusiveArch: %ix86 x86_64 ExclusiveArch: %ix86 x86_64
@ -115,6 +116,7 @@ is based on MPICH2 and MVICH. This package contains the static libraries
%setup -q -n mvapich2-%{version}%{?rc_ver} %setup -q -n mvapich2-%{version}%{?rc_ver}
%patch0 %patch0
%patch1 %patch1
%patch2
cp /usr/share/automake*/config.* . cp /usr/share/automake*/config.* .
%build %build