update to 2017.05.003 (ABI and API break)

drop obsolete openblas patch
re-enable OpenMPI OpenMP builds
enable papi on supported arches
build and ship non-MPI version (without _onenode suffix)
provide a man-link for openmp version of elpa2_print_kernels
execstack is now available everywhere
include and verify GPG signature
conditionalize running tests and disable by default as they take too long
This commit is contained in:
Dominik 'Rathann' Mierzejewski 2017-11-14 10:16:56 +01:00
parent 7a75eac094
commit 628963a739
8 changed files with 261 additions and 154 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@
/elpa-2015.02.002.tar.gz
/elpa-2015.05.001.tar.gz
/elpa-2015.11.001.tar.gz
/elpa-2017.05.003.tar.gz
/elpa-2017.05.003.tar.gz.asc

View File

@ -1,12 +0,0 @@
diff -up mpich/configure.ac.atlas mpich/configure.ac
--- mpich/configure.ac.atlas 2015-03-19 12:45:07.946282074 +0100
+++ mpich/configure.ac 2015-03-19 12:45:07.955282120 +0100
@@ -335,7 +335,7 @@ if test x"${have_mkl}" = x"yes" ; then
else
dnl first check blas
- AC_SEARCH_LIBS([dgemm],[blas],[have_blas=yes],[have_blas=no])
+ AC_SEARCH_LIBS([dgemm],[openblas satlas blas],[have_blas=yes],[have_blas=no])
AC_MSG_CHECKING([whether we can link a program with a blas lib])
AC_MSG_RESULT([${have_blas}])

36
elpa-onenode.patch Normal file
View File

@ -0,0 +1,36 @@
diff -up mpich/configure.ac.onenode mpich/configure.ac
--- mpich/configure.ac.onenode 2017-09-01 08:54:37.000000000 +0200
+++ mpich/configure.ac 2017-10-30 15:23:40.886476457 +0100
@@ -948,19 +948,11 @@ mkdir -p modules private_modules test_mo
# into "postdeps_FC" and causes linking errors later on.
postdeps_FC=$(echo $postdeps_FC | sed 's/-l //g')
-if test x"${with_mpi}" = x"yes"; then
if test x"${enable_openmp}" = x"yes"; then
SUFFIX="_openmp"
else
SUFFIX=""
fi
-else
- if test x"${enable_openmp}" = x"yes"; then
- SUFFIX="_onenode_openmp"
- else
- SUFFIX="_onenode"
- fi
-fi
AC_SUBST([SUFFIX])
AC_SUBST([PKG_CONFIG_FILE],[elpa${SUFFIX}-${PACKAGE_VERSION}.pc])
diff -up mpich/INSTALL.md.onenode mpich/INSTALL.md
--- mpich/INSTALL.md.onenode 2017-09-01 08:54:37.000000000 +0200
+++ mpich/INSTALL.md 2017-10-30 15:23:40.886476457 +0100
@@ -151,9 +151,6 @@ configure FC=gfortran --with-mpi=0
DO NOT specify a MPI compiler here!
-Note, that the the installed *ELPA* library files will be suffixed with
-"_onenode", in order to descriminate this build from possible ones with MPI.
-
Please continue reading at "C) Enabling GPU support"

19
elpa-papi.patch Normal file
View File

@ -0,0 +1,19 @@
diff -up mpich/configure.ac.papi mpich/configure.ac
--- mpich/configure.ac.papi 2017-09-01 08:54:37.000000000 +0200
+++ mpich/configure.ac 2017-10-18 00:25:55.531438089 +0200
@@ -188,6 +188,7 @@ fi
AM_CONDITIONAL([HAVE_DETAILED_TIMINGS], [test x"$enable_timings" = x"yes"])
dnl PAPI for ftimings
+AC_LANG_PUSH([C])
AC_ARG_WITH([papi],
[AS_HELP_STRING([--with-papi],
[Use PAPI to also measure flop count in the detailed timing (--enable-timing), disabled by default])],
@@ -202,6 +203,7 @@ if test x"${enable_timings}" = x"yes"; t
AC_DEFINE([HAVE_LIBPAPI], [1], [Use the PAPI library])
fi
fi
+AC_LANG_POP([C])
save_FCFLAGS=$FCFLAGS
save_LDFLAGS=$LDFLAGS

View File

@ -1,85 +1,77 @@
diff -up mpich/configure.ac.simd mpich/configure.ac
--- mpich/configure.ac.simd 2017-06-12 15:45:53.001455666 +0200
+++ mpich/configure.ac 2017-06-12 15:46:18.131946972 +0200
@@ -196,6 +196,10 @@ AC_MSG_RESULT([${can_compile_sse}])
--- mpich/configure.ac.simd 2017-10-30 14:41:22.320909606 +0100
+++ mpich/configure.ac 2017-10-30 14:41:22.322909621 +0100
@@ -668,6 +668,8 @@ m4_foreach_w([elpa_m4_kind],[real comple
dnl check whether one can compile with avx - gcc intrinsics
AC_LANG_PUSH([C])
+save_CFLAGS="$CFLAGS"
+save_CXXFLAGS="$CXXFLAGS"
+CFLAGS="$CFLAGS -mavx"
+
dnl first pass: try with specified CFLAGS and CXXFLAGS
AC_MSG_CHECKING([whether we can compile AVX intrinsics in C])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
@@ -211,6 +215,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
)
AC_MSG_RESULT([${can_compile_avx}])
if test "${can_compile_avx}" = "yes" ; then
+CFLAGS="$CFLAGS -msse3"
if test x"${need_sse}" = x"yes"; then
AC_MSG_CHECKING(whether we can compile SSE3 with gcc intrinsics in C)
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
@@ -686,7 +688,9 @@ int main(int argc, char **argv) {
AC_MSG_ERROR([Could not compile test program, try with --disable-sse, or adjust the C compiler or CFLAGS])
fi
AC_DEFINE([HAVE_SSE_INTRINSICS],[1],[gcc intrinsics SSE is supported on this CPU])
+ SSE3CFLAGS="-msse3"
fi
+CFLAGS="$save_CFLAGS"
if test x"${need_sse_assembly}" = x"yes"; then
@@ -728,6 +732,8 @@ fi
if test x"${need_avx}" = x"yes"; then
dnl check whether one can compile AVX gcc intrinsics
AC_MSG_CHECKING([whether we can compile AVX gcc intrinsics in C])
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -mavx"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <x86intrin.h>
int main(int argc, char **argv){
@@ -744,11 +750,15 @@ if test x"${need_avx}" = x"yes"; then
AC_MSG_ERROR([Could not compile a test program with AVX, try with --disable-avx, or adjust the C compiler or CFLAGS])
fi
AC_DEFINE([HAVE_AVX],[1],[AVX is supported on this CPU])
+ AVXCFLAGS="-mavx"
+ CXXFLAGS="$CXXFLAGS -mavx"
AC_MSG_CHECKING([whether we can compile AVX intrinsics in C++])
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
@@ -228,9 +234,15 @@ if test "${can_compile_avx}" = "yes" ; t
AC_MSG_RESULT([${can_compile_avx}])
if test "${can_compile_avx}" = "no" ; then
AC_MSG_WARN([Cannot compile C++ with AVX: disabling AVX alltogether])
+ else
+ AVXCXXFLAGS="-mavx"
fi
+ CFLAGS="$save_CFLAGS"
fi
+CFLAGS=$save_CFLAGS
+CXXFLAGS=$save_CXXFLAGS
+CFLAGS="$CFLAGS -mavx2 -mfma"
+
AC_MSG_CHECKING([whether we can compile AVX2 intrinsics in C])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <x86intrin.h>
@@ -246,6 +258,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
)
AC_MSG_RESULT([${can_compile_avx2}])
if test "${can_compile_avx2}" = "yes" ; then
if test x"${need_avx2}" = x"yes"; then
AC_MSG_CHECKING([whether we can compile AVX2 gcc intrinsics in C])
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -mavx2 -mfma"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <x86intrin.h>
int main(int argc, char **argv){
@@ -766,6 +776,8 @@ if test x"${need_avx2}" = x"yes"; then
AC_MSG_ERROR([Could not compile a test program with AVX2, try with --disable-avx2, or adjust the C compiler or CFLAGS])
fi
AC_DEFINE([HAVE_AVX2],[1],[AVX2 is supported on this CPU])
+ AVX2CFLAGS="-mavx2 -mfma"
+ CXXFLAGS="$CXXFLAGS -mavx2 -mfma"
AC_MSG_CHECKING([whether we can compile AVX2 intrinsics in C++])
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
@@ -264,9 +278,13 @@ if test "${can_compile_avx2}" = "yes" ;
AC_MSG_RESULT([${can_compile_avx2}])
if test "${can_compile_avx2}" = "no" ; then
AC_MSG_WARN([Cannot compile C++ with AVX2!])
+ else
+ AVX2CXXFLAGS="-mavx2 -mfma"
fi
+ CFLAGS="$save_CFLAGS"
fi
+CFLAGS=$save_CFLAGS
+CXXFLAGS=$save_CXXFLAGS
if test "${can_compile_avx}" = "yes" ; then
install_real_avx_block2=yes
@@ -669,6 +687,10 @@ AC_SUBST([OPENMP_CFLAGS])
@@ -923,6 +935,9 @@ AC_SUBST([WITH_MKL])
AC_SUBST([WITH_BLACS])
AC_SUBST([FC_MODINC])
AC_SUBST([FC_MODOUT])
+AC_SUBST([SSE3CFLAGS])
+AC_SUBST([AVXCFLAGS])
+AC_SUBST([AVX2CFLAGS])
AC_SUBST([OPENMP_CFLAGS])
AC_SUBST([OPENMP_FCFLAGS])
AC_SUBST([OPENMP_LDFLAGS])
#AC_SUBST(OPT_FCFLAGS)
+AC_SUBST([AVXCFLAGS])
+AC_SUBST([AVXCXXFLAGS])
+AC_SUBST([AVX2CFLAGS])
+AC_SUBST([AVX2CXXFLAGS])
rm -rf modules/ .fortran_dependencies/
mkdir modules
diff -up mpich/Makefile.am.simd mpich/Makefile.am
--- mpich/Makefile.am.simd 2015-11-22 20:05:49.000000000 +0100
+++ mpich/Makefile.am 2017-06-12 15:45:53.002455686 +0200
@@ -8,6 +8,8 @@ AM_LDFLAGS = $(SCALAPACK_LDFLAGS)
# libelpa
lib_LTLIBRARIES = libelpa@SUFFIX@.la
libelpa@SUFFIX@_la_LINK = $(FCLINK) $(AM_LDFLAGS) -version-info $(ELPA_SO_VERSION) -lstdc++
+libelpa@SUFFIX@_la_CFLAGS = $(AVXCFLAGS) $(AVX2CFLAGS) $(AM_CFLAGS)
+libelpa@SUFFIX@_la_CXXFLAGS = $(AVXCXXFLAGS) $(AVX2CXXFLAGS) $(AM_CFLAGS)
libelpa@SUFFIX@_la_SOURCES = src/elpa_utilities.F90 \
src/elpa1.F90 \
--- mpich/Makefile.am.simd 2017-09-01 08:54:37.000000000 +0200
+++ mpich/Makefile.am 2017-10-30 14:41:22.322909621 +0100
@@ -33,6 +33,7 @@ endif
# internal parts
noinst_LTLIBRARIES += libelpa@SUFFIX@_private.la
libelpa@SUFFIX@_private_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
+libelpa@SUFFIX@_private_la_CFLAGS = $(SSE3CFLAGS) $(AVXCFLAGS) $(AVX2CFLAGS) $(AM_CFLAGS)
libelpa@SUFFIX@_private_la_SOURCES = \
src/elpa_impl.F90 \
src/elpa_abstract_impl.F90 \

209
elpa.spec
View File

@ -1,33 +1,29 @@
%if 0%{?fedora} >= 26
%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64
%{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64 s390x}
%ifnarch %{openblas_arches}
# matches openblas/scalapack ExclusiveArch
%global with_atlas 1
%endif
%else
%global with_atlas 1
%ifnarch s390 s390x
%global with_papi 1
%endif
%if 0%{?rhel}
# execstack (prelink) is built only for x86_64 and ppc64 on RHEL
%ifarch x86_64 ppc64
%global with_execstack 1
%endif
%else
%global with_execstack 1
%endif
%bcond_with check
%global sover 4
%global sover 8
Summary: High-performance library for parallel solution of eigenvalue problems
Name: elpa
Version: 2015.11.001
Release: 8%{?dist}
Version: 2017.05.003
Release: 1%{?dist}
URL: https://elpa.mpcdf.mpg.de/software
Source0: https://elpa.mpcdf.mpg.de/html/Releases/%{version}/elpa-%{version}.tar.gz
# fix pkgconfig file
Patch1: elpa-pc.patch
# build against atlas instead of reference blas
Patch2: elpa-blas.patch
Source1: https://elpa.mpcdf.mpg.de/html/Releases/%{version}/elpa-%{version}.tar.gz.asc
Source2: gpg-keyring-05288C27E0CF6B3D7F4FEF6A52C18F6F0A355F25.gpg
# drop _onenode suffix from non-MPI builds
Patch1: elpa-onenode.patch
# fix detection of papi
Patch2: elpa-papi.patch
# fix detection of AVX(2) compiler support and use them only in the library
Patch3: elpa-simd.patch
License: LGPLv3+
@ -37,10 +33,13 @@ BuildRequires: atlas-devel
BuildRequires: openblas-devel
%endif
BuildRequires: gcc-gfortran
BuildRequires: gnupg2
BuildRequires: libtool
%if %{with execstack}
BuildRequires: /usr/bin/execstack
%if %{with papi}
BuildRequires: papi-devel
%endif
Requires: %{name}-common = %{version}-%{release}
%description
ELPA is a Fortran-based high-performance computational library for the
@ -68,16 +67,15 @@ eigenvalue problems.
This package contains common files for ELPA.
%package devel
Summary: C header files for ELPA
BuildArch: noarch
Requires: %{name}-mpi-devel = %{version}-%{release}
Summary: Development files for ELPA (non-MPI version)
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
ELPA is a Fortran-based high-performance computational library for the
(massively) parallel solution of symmetric or Hermitian, standard or generalized
eigenvalue problems.
This package contains the C header files for ELPA.
This package contains the development files for ELPA (non-MPI version).
%package mpich
Summary: Fast library for parallel solution of eigenvalue problems (MPICH version)
@ -110,7 +108,9 @@ This package contains the development files for ELPA (MPICH version).
%package openmpi
Summary: Fast library for parallel solution of eigenvalue problems (OpenMPI version)
# required for running the testsuite
%if %{with check}
BuildRequires: rsh
%endif
BuildRequires: openmpi-devel
BuildRequires: blacs-openmpi-devel
BuildRequires: scalapack-openmpi-devel
@ -138,17 +138,19 @@ eigenvalue problems.
This package contains the development files for ELPA (OpenMPI version).
%prep
gpgv2 --keyring %{S:2} %{S:1} %{S:0}
%setup -q -c -T -a 0
mv elpa-%{version} mpich
pushd mpich
%patch1 -p1 -b .r
%patch2 -p1 -b .blas
%patch1 -p1 -b .onenode
%patch2 -p1 -b .papi
%patch3 -p1 -b .simd
autoreconf -vifs
popd
cp -pr mpich openmpi
cp -pr mpich serial
mkdir _openmp
cp -pr mpich openmpi _openmp/
cp -pr mpich openmpi serial _openmp/
%build
%global defopts --disable-silent-rules --disable-static --docdir=%{_pkgdocdir}
@ -160,70 +162,108 @@ cp -pr mpich openmpi _openmp/
. /etc/profile.d/modules.sh
for mpi in mpich openmpi ; do
module load mpi/${mpi}-%{_arch}
for mpi in '' mpich openmpi ; do
export CFLAGS="%{optflags}"
export LDFLAGS="%{ldflags} -L$MPI_LIB"
export FCFLAGS="%{fcflags} -I$MPI_FORTRAN_MOD_DIR"
export LDFLAGS="%{ldflags}"
export FCFLAGS="%{fcflags}"
if [ -n "$mpi" ]; then
module load mpi/${mpi}-%{_arch}
export LDFLAGS="${LDFLAGS} -L$MPI_LIB"
export FCFLAGS="${FCFLAGS} -I$MPI_FORTRAN_MOD_DIR"
fi
for s in '' _openmp ; do
pushd ${s:-.}/${mpi}
sed -i -e "s,@MPI_FORTRAN_MOD_DIR@,$MPI_FORTRAN_MOD_DIR," elpa.pc.in
pushd ${s:-.}/${mpi:-serial}
if [ -n "$mpi" ]; then
fmoddir="$MPI_FORTRAN_MOD_DIR"
mpiflag="--libdir=$MPI_LIB"
else
fmoddir="%{_fmoddir}"
mpiflag="--with-mpi=no"
fi
sed -i -e "s,\${includedir}/elpa@SUFFIX@-@PACKAGE_VERSION@/modules,${fmoddir}," elpa.pc.in
%configure %{defopts} \
%ifnarch x86_64
--disable-sse-assembly \
--disable-sse \
--disable-avx2 \
%endif
%ifnarch i686 x86_64
--disable-avx \
%endif
${s:+--enable-openmp} \
--libdir=$MPI_LIB
%if %{with papi}
--with-papi \
%endif
$mpiflag || cat config.log
make %{?_smp_mflags} V=1
popd
done
if [ -n "$mpi" ]; then
module unload mpi/${mpi}-%{_arch}
fi
done
%install
. /etc/profile.d/modules.sh
for s in '' _openmp ; do
for mpi in mpich openmpi ; do
module load mpi/${mpi}-%{_arch}
pushd ${s:-.}/${mpi}
# install serial last to avoid overwriting non-MPI binaries in _bindir
for mpi in mpich openmpi '' ; do
pushd ${s:-.}/${mpi:-serial}
make DESTDIR=%{buildroot} install
rm %{buildroot}%{_bindir}/elpa?_test_*
if [ -n "$mpi" ]; then
module load mpi/${mpi}-%{_arch}
libdir=%{_libdir}/${mpi}/lib
fmoddir=$MPI_FORTRAN_MOD_DIR
mkdir -p %{buildroot}$MPI_BIN
mv %{buildroot}%{_bindir}/elpa2_print_kernels${s} %{buildroot}$MPI_BIN
%if %{with execstack}
execstack -c .libs/libelpa${s}.so.%{sover}.* %{buildroot}%{_libdir}/${mpi}/lib/libelpa${s}.so.%{sover}.*
%endif
mkdir -p %{buildroot}$MPI_FORTRAN_MOD_DIR
module unload mpi/${mpi}-%{_arch}
else
libdir=%{_libdir}
fmoddir=%{_fmoddir}
fi
execstack -c .libs/libelpa${s}.so.%{sover}.* %{buildroot}${libdir}/libelpa${s}.so.%{sover}.*
mkdir -p %{buildroot}${fmoddir}
for f in $(ls -1 %{buildroot}%{_includedir}/elpa${s}-%{version}/modules/*.mod) ; do
m=$(basename ${f} .mod)
mv %{buildroot}%{_includedir}/elpa${s}-%{version}/modules/${m}.mod %{buildroot}$MPI_FORTRAN_MOD_DIR/${m}${s}.mod
mv %{buildroot}%{_includedir}/elpa${s}-%{version}/modules/${m}.mod %{buildroot}${fmoddir}/${m}${s}.mod
done
rmdir %{buildroot}%{_includedir}/elpa${s}-%{version}/modules
rm %{buildroot}%{_libdir}/${mpi}/lib/libelpa${s}.la
rm %{buildroot}${libdir}/libelpa${s}.la
popd
module unload mpi/${mpi}-%{_arch}
done
done
echo ".so elpa2_print_kernels.1" > %{buildroot}%{_mandir}/man1/elpa2_print_kernels_openmp.1
# testsuite takes 6.5 hours on ARMv7
%ifnarch %{arm}
%if 1
# testsuite takes:
# 24 hours on aarch64 (all PASS)
# 36 hours on armv7hl (all PASS)
# 30 hours on i686 (openmpi hang)
# 6 hours on ppc64le (18/50 FAIL for serial+openmp, 25/73 FAIL for mpich+openmp)
# 8 hours on ppc64 (all PASS)
# 11 hours on s390x (25/50 FAIL for serial, 39/73 FAIL for mpi)
# 16 hours on x86_64 (all PASS)
%if %{with check}
%check
%{_mpich_load}
pushd mpich
. /etc/profile.d/modules.sh
for s in '' _openmp ; do
for mpi in '' mpich openmpi ; do
pushd ${s:-.}/${mpi:-serial}
if [ -n "$mpi" ]; then
module load mpi/${mpi}-%{_arch}
fi
make check V=1 || cat ./test-suite.log
if [ -n "$mpi" ]; then
module unload mpi/${mpi}-%{_arch}
fi
popd
pushd _openmp/mpich
make check V=1 || cat ./test-suite.log
popd
%{_mpich_unload}
done
done
%endif
# only non-mt openmpi build can be tested, see bug #1105902
%{_openmpi_load}
pushd openmpi
make check V=1 || cat ./test-suite.log
popd
%{_openmpi_unload}
%endif
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post mpich -p /sbin/ldconfig
@ -233,16 +273,36 @@ popd
%postun openmpi -p /sbin/ldconfig
%files
%{_bindir}/elpa2_print_kernels
%{_bindir}/elpa2_print_kernels_openmp
%{_libdir}/libelpa.so.%{sover}*
%{_libdir}/libelpa_openmp.so.%{sover}*
%files common
%license %{_pkgdocdir}/COPYING
%license %{_pkgdocdir}/LICENSE
%license %{_pkgdocdir}/gpl.txt
%license %{_pkgdocdir}/lgpl.txt
%{_pkgdocdir}/README
%{_pkgdocdir}/README.md
%{_mandir}/man1/elpa2_print_kernels.1*
%{_mandir}/man1/elpa2_print_kernels_openmp.1*
%files devel
%{_includedir}/elpa-%{version}
%{_includedir}/elpa_openmp-%{version}
%{_pkgdocdir}/examples
%{_pkgdocdir}/Changelog
%{_pkgdocdir}/CONTRIBUTING.md
%exclude %{_pkgdocdir}/INSTALL.md
%{_pkgdocdir}/USERS_GUIDE.md
%{_mandir}/man3/elpa_*.3*
%{_mandir}/man3/get_elpa_*.3*
%{_mandir}/man3/solve_evp_*.3*
%{_libdir}/libelpa.so
%{_libdir}/libelpa_openmp.so
%{_libdir}/pkgconfig/elpa-%{version}.pc
%{_libdir}/pkgconfig/elpa_openmp-%{version}.pc
%{_fmoddir}/*.mod
%files mpich
%{_libdir}/mpich/bin/elpa2_print_kernels
@ -257,22 +317,31 @@ popd
%{_libdir}/mpich/lib/pkgconfig/elpa_openmp-%{version}.pc
%{_fmoddir}/mpich*/*.mod
# only non-mt openmpi build, see bug #1105902
%files openmpi
%{_libdir}/openmpi/bin/elpa2_print_kernels
%exclude %{_libdir}/openmpi/bin/elpa2_print_kernels_openmp
%{_libdir}/openmpi/bin/elpa2_print_kernels_openmp
%{_libdir}/openmpi/lib/libelpa.so.%{sover}*
%exclude %{_libdir}/openmpi/lib/libelpa_openmp.so.%{sover}*
%{_libdir}/openmpi/lib/libelpa_openmp.so.%{sover}*
%files openmpi-devel
%{_libdir}/openmpi/lib/libelpa.so
%exclude %{_libdir}/openmpi/lib/libelpa_openmp.so
%{_libdir}/openmpi/lib/libelpa_openmp.so
%{_libdir}/openmpi/lib/pkgconfig/elpa-%{version}.pc
%exclude %{_libdir}/openmpi/lib/pkgconfig/elpa_openmp-%{version}.pc
%{_libdir}/openmpi/lib/pkgconfig/elpa_openmp-%{version}.pc
%{_fmoddir}/openmpi*/*.mod
%exclude %{_fmoddir}/openmpi*/*_openmp.mod
%changelog
* Fri Nov 10 2017 Dominik Mierzejewski <rpm@greysector.net> 2017.05.003-1
- update to 2017.05.003 (ABI and API break)
- drop obsolete openblas patch
- re-enable OpenMPI OpenMP builds
- enable papi on supported arches
- build and ship non-MPI version (without _onenode suffix)
- provide a man-link for openmp version of elpa2_print_kernels
- execstack is now available everywhere
- include and verify GPG signature
- conditionalize running tests and disable by default as they take too long
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2015.11.001-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

View File

@ -1 +1,2 @@
de0f35b7ee7c971fd0dca35c900b87e6 elpa-2015.11.001.tar.gz
SHA512 (elpa-2017.05.003.tar.gz) = 0d8876af09e45050319a047989ae5312859ec5d0cc09cdf349737235a9d9b815a46774a192cdd3bb2d87e223733c60fc196b21f8671c6cc56666ad9ef3d72676
SHA512 (elpa-2017.05.003.tar.gz.asc) = b3e62fe83ea31885ab9396e3d072abe07b4fc0ed7729261d6b1a8a868113e935a33734591b80af841b392657b33a702028d67278803691e43641bb2d4202c57a