update to 2015.11.001 release
- update URL and Source URL - fix AVX(2) support detection and usage
This commit is contained in:
parent
8ff2e04c9b
commit
51eb0a91cb
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/ELPA_2013.11.008_20140321.tar.gz
|
||||
/elpa-2015.02.002.tar.gz
|
||||
/elpa-2015.05.001.tar.gz
|
||||
/elpa-2015.11.001.tar.gz
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up mpich/configure.ac.avx mpich/configure.ac
|
||||
--- mpich/configure.ac.avx 2015-08-06 17:31:47.819635434 +0200
|
||||
+++ mpich/configure.ac 2015-08-07 12:42:07.817171493 +0200
|
||||
@@ -198,8 +198,12 @@ AC_MSG_RESULT([${can_compile_sse}])
|
||||
--- mpich/configure.ac.avx 2016-04-03 16:02:10.334634259 +0200
|
||||
+++ mpich/configure.ac 2016-04-03 16:03:45.419882924 +0200
|
||||
@@ -196,8 +196,12 @@ AC_MSG_RESULT([${can_compile_sse}])
|
||||
|
||||
dnl check whether one can compile with avx - gcc intrinsics
|
||||
|
||||
@ -14,7 +14,7 @@ diff -up mpich/configure.ac.avx mpich/configure.ac
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
#include <x86intrin.h>
|
||||
int main(int argc, char **argv){
|
||||
@@ -213,6 +217,8 @@ 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
|
||||
@ -23,7 +23,7 @@ diff -up mpich/configure.ac.avx mpich/configure.ac
|
||||
AC_MSG_CHECKING([whether we can compile AVX intrinsics in C++])
|
||||
AC_LANG_PUSH([C++])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
@@ -230,9 +236,14 @@ if test "${can_compile_avx}" = "yes" ; t
|
||||
@@ -228,10 +234,16 @@ 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])
|
||||
@ -35,10 +35,35 @@ diff -up mpich/configure.ac.avx mpich/configure.ac
|
||||
+CFLAGS=$save_CFLAGS
|
||||
+CXXFLAGS=$save_CXXFLAGS
|
||||
+
|
||||
AC_MSG_CHECKING([whether we can compile AVX2 intrinsics in C])
|
||||
+CFLAGS="$CFLAGS -mavx2 -mfma"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
#include <x86intrin.h>
|
||||
int main(int argc, char **argv){
|
||||
@@ -246,6 +258,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
)
|
||||
AC_MSG_RESULT([${can_compile_avx2}])
|
||||
if test "${can_compile_avx2}" = "yes" ; then
|
||||
+ 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
|
||||
fi
|
||||
|
||||
+CFLAGS=$save_CFLAGS
|
||||
+CXXFLAGS=$save_CXXFLAGS
|
||||
|
||||
if test "${can_compile_avx}" = "yes" ; then
|
||||
install_real_avx_block2=yes
|
||||
install_real_avx_block4=yes
|
||||
@@ -634,6 +645,8 @@ AC_SUBST([OPENMP_CFLAGS])
|
||||
@@ -669,6 +687,8 @@ AC_SUBST([OPENMP_CFLAGS])
|
||||
AC_SUBST([OPENMP_FCFLAGS])
|
||||
AC_SUBST([OPENMP_LDFLAGS])
|
||||
#AC_SUBST(OPT_FCFLAGS)
|
||||
@ -48,14 +73,14 @@ diff -up mpich/configure.ac.avx mpich/configure.ac
|
||||
rm -rf modules/ .fortran_dependencies/
|
||||
mkdir modules
|
||||
diff -up mpich/Makefile.am.avx mpich/Makefile.am
|
||||
--- mpich/Makefile.am.avx 2015-04-20 10:46:16.000000000 +0200
|
||||
+++ mpich/Makefile.am 2015-08-06 17:31:47.820635439 +0200
|
||||
--- mpich/Makefile.am.avx 2015-11-22 20:05:49.000000000 +0100
|
||||
+++ mpich/Makefile.am 2016-04-03 16:02:10.336634243 +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) $(AM_CFLAGS)
|
||||
+libelpa@SUFFIX@_la_CXXFLAGS = $(AVXCXXFLAGS) $(AM_CFLAGS)
|
||||
+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 \
|
28
elpa.spec
28
elpa.spec
@ -2,16 +2,16 @@
|
||||
|
||||
Summary: High-performance library for parallel solution of eigenvalue problems
|
||||
Name: elpa
|
||||
Version: 2015.05.001
|
||||
Release: 4%{?dist}
|
||||
URL: http://elpa.rzg.mpg.de/
|
||||
Source0: http://elpa.rzg.mpg.de/elpa-%{version}.tar.gz
|
||||
Version: 2015.11.001
|
||||
Release: 1%{?dist}
|
||||
URL: http://elpa.mpcdf.mpg.de/software
|
||||
Source0: http://elpa.mpcdf.mpg.de/elpa-%{version}.tar.gz
|
||||
# fix pkgconfig file
|
||||
Patch1: elpa-pc.patch
|
||||
# build against atlas instead of reference blas
|
||||
Patch2: elpa-atlas.patch
|
||||
# don't use AVX instructions in test binaries
|
||||
Patch3: elpa-no-avx.patch
|
||||
# fix detection of AVX(2) compiler support and use them only in the library
|
||||
Patch3: elpa-avx.patch
|
||||
License: LGPLv3+
|
||||
BuildRequires: atlas-devel
|
||||
BuildRequires: gcc-gfortran
|
||||
@ -129,10 +129,10 @@ mkdir _openmp
|
||||
cp -pr mpich openmpi _openmp/
|
||||
|
||||
%build
|
||||
export FCFLAGS=-ffree-line-length-none
|
||||
|
||||
%{_mpich_load}
|
||||
export LDFLAGS="-L%{_libdir}/atlas -L$MPI_LIB"
|
||||
export FCFLAGS="-ffree-line-length-none -I$MPI_FORTRAN_MOD_DIR"
|
||||
pushd mpich
|
||||
%configure --disable-silent-rules --disable-static \
|
||||
--libdir=%{_libdir}/mpich%{?_opt_cc_suffix}/lib
|
||||
@ -151,6 +151,7 @@ popd
|
||||
|
||||
%{_openmpi_load}
|
||||
export LDFLAGS="-L%{_libdir}/atlas -L$MPI_LIB"
|
||||
export FCFLAGS="-ffree-line-length-none -I$MPI_FORTRAN_MOD_DIR"
|
||||
pushd openmpi
|
||||
%configure --disable-silent-rules --disable-static \
|
||||
--libdir=%{_libdir}/openmpi%{?_opt_cc_suffix}/lib
|
||||
@ -231,8 +232,8 @@ popd
|
||||
%files mpich
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/bin/elpa2_print_kernels
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/bin/elpa2_print_kernels_openmp
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/lib/libelpa.so.3*
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/lib/libelpa_openmp.so.3*
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/lib/libelpa.so.4*
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/lib/libelpa_openmp.so.4*
|
||||
|
||||
%files mpich-devel
|
||||
%{_libdir}/mpich%{?_opt_cc_suffix}/lib/libelpa.so
|
||||
@ -245,8 +246,8 @@ popd
|
||||
%files openmpi
|
||||
%{_libdir}/openmpi%{?_opt_cc_suffix}/bin/elpa2_print_kernels
|
||||
%exclude %{_libdir}/openmpi%{?_opt_cc_suffix}/bin/elpa2_print_kernels_openmp
|
||||
%{_libdir}/openmpi%{?_opt_cc_suffix}/lib/libelpa.so.3*
|
||||
%exclude %{_libdir}/openmpi%{?_opt_cc_suffix}/lib/libelpa_openmp.so.3*
|
||||
%{_libdir}/openmpi%{?_opt_cc_suffix}/lib/libelpa.so.4*
|
||||
%exclude %{_libdir}/openmpi%{?_opt_cc_suffix}/lib/libelpa_openmp.so.4*
|
||||
|
||||
%files openmpi-devel
|
||||
%{_libdir}/openmpi%{?_opt_cc_suffix}/lib/libelpa.so
|
||||
@ -257,6 +258,11 @@ popd
|
||||
%exclude %{_fmoddir}/openmpi%{?_cc_name_suffix}/*_openmp.mod
|
||||
|
||||
%changelog
|
||||
* Sun Apr 03 2016 Dominik Mierzejewski <rpm@greysector.net> 2015.11.001-1
|
||||
- update to 2015.11.001 release
|
||||
- update URL and Source URL
|
||||
- fix AVX(2) support detection and usage
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2015.05.001-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user