Commit 777efdbb authored by Andreas Marek's avatar Andreas Marek

Merge branch 'ELPA_GPU_fix2' into fix_complex_kernel

parents 50289de2 2b6eb498
Changelog for release ELPA 2016.05.001
- fix problem with generated *.sh- check scripts
- name library differently if build without MPI support
- install only public modules
Changelog for release ELPA 2016.05.001
- support building without MPI for one node usage
- doxygen and man pages documentation for ELPA
- cleanup of documentation
......
......@@ -2,7 +2,7 @@
## Preamle ##
This file provides documentation on how to build the *ELPA* library in **version ELPA-2016.05.001**.
This file provides documentation on how to build the *ELPA* library in **version ELPA-2016.05.002**.
Although most of the documentation is generic to any *ELPA* release, some configure options
described in this document might be specific to the above mentioned version of *ELPA*.
......@@ -110,6 +110,9 @@ by applications, which do not have any MPI parallelisation. To set this version,
"--with-mpi=0" configure flag. It is strongly recommmended to also set the "--enable-openmp"
option, otherwise no parallelisation whatsoever will be present.
It is possible to install the different flavours of ELPA (with/without MPI, with/without OpenMP) in the same
directory, since the library is named differently for each build.
### Doxygen documentation ###
A doxygen documentation can be created with the "--enable-doxygen-doc" configure option
......
## A list of known (and hopefully soon solved) issues of ELPA ##
For more details and recent updates please visit the online [issue system] (https://gitlab.mpcdf.mpg.de/elpa/elpa/issues)
### ELPA 2016.05.002 release ###
- QR decomposition fails for certain combinations of matrix sizes, number of eigenvalues to compute and block size
### ELPA 2016.05.001 release ###
- QR decomposition fails for certain combinations of matrix sizes, number of eigenvalues to compute and block size
- The generated check-scripts (in the step "make check") do not call the binary with "mpiexec" when ELPA is build with
MPI
......@@ -37,6 +37,4 @@ https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
Compatible API change w.r.t. previous version: Interfaces have been added to unify
the naming conventions. The old interface are still available
The state of release 2016.05.001 defines this interface
The states of release 2016.05.001 and 2016.05.002 define this interface
......@@ -564,15 +564,16 @@ endif
endif
# test scripts
MPIEXEC ?= mpiexec -n 2
if WITH_MPI
wrapper=mpiexec -n 2
wrapper=$(MPIEXEC)
else
wrapper=
endif
TESTS = $(check_SCRIPTS)
%.sh: %
@echo $(wrapper) ./$^ '$$TEST_FLAGS' > $@
@chmod +x $@
echo '$(wrapper) ./$^ $$TEST_FLAGS' > $@
chmod +x $@
# Preprocessed files (just used for manual inspection)
mod_precision.i: $(top_srcdir)/src/mod_precision.F90
......
......@@ -2,7 +2,7 @@
## Current Release ##
The current release is ELPA 2016.05.001
The current release is ELPA 2016.05.002
## About *ELPA*
......@@ -87,7 +87,7 @@ the possible configure options.
## Using *ELPA*
Please have a look at the "**USERS_GUIDE**" file, to get a documentation or at the [online]
(http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2016.05.001/html/index.html) doygen
(http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2016.05.002/html/index.html) doygen
documentation, where you find the definition of the interfaces.
## Contributing to *ELPA*
......
This file contains the release notes for the ELPA 2016.05.001 version
This file contains the release notes for the ELPA 2016.05.002 version
What is new?
-------------
For changes since release ELPA 2015.11.011 please have a loog at the Changelog file
For changes since release ELPA 2016.05.001 please have a look at the Changelog file
a) ABI change
---------------------
Most importantly, the ABI of the ELPA library changed!
New interfaces have been added, the old ones still exists, thus a rebuild
of your code (build with ELPA 2015.11.001) should not be necessary. However,
it is not guaranteed whether your Fortran compiler produces compatible
Fortran modules if content is added to this modules. To be on the safe sight,
re-compiling your application with the new ELPA version is not a bad idea.
Since release 2016.05.001 the ABI has not changed
For details of the ABI changes (including the history of changes) please have a
look at the "LIBRARY_INTERFACE" file
Any incompatibilities to previous version?
---------------------------------------
As mentioned before, the ABI of ELPA was changed such, that there should be no
incompatibility with the previous version ELPA 2015.11.001. There is an
incompatibility with older versions than ELPA 2015.11.001 !
As mentioned before, the ABI of ELPA was not changed; There is no
incompatibility with the previous version ELPA 2016.05.001. and ELPA 2015.11.001 releases. There is, however, an incompatibility with older versions than ELPA 2015.11.001 !
......@@ -9,7 +9,7 @@ Local documentation (via man pages) should be available (if *ELPA* has been inst
For example "man get_elpa_communicators" should provide the documentation for the *ELPA* function which sets
the necessary communicators.
Also a [online doxygen documentation] (http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2016.05.001/html/index.html)
Also a [online doxygen documentation] (http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2016.05.002/html/index.html)
for each *ELPA* release is available.
### General concept of the *ELPA* library ###
......@@ -20,7 +20,7 @@ The *ELPA* library consists of two main parts:
Both variants of the *ELPA* solvers are available for real or complex valued matrices.
Thus *ELPA* provides the following user functions (see man pages or [online] (http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2016.05.001/html/index.html) for details):
Thus *ELPA* provides the following user functions (see man pages or [online] (http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2016.05.002/html/index.html) for details):
- get_elpa_communicators : set the row / column communicators for *ELPA*
- solve_evp_complex_1stage : solve a complex valued eigenvale proplem with the *ELPA 1stage* solver
......
AC_PREREQ([2.69])
# Remember to change the version also in elpa.spec
AC_INIT([elpa],[2016.05.001], [elpa-library@mpcdf.mpg.de])
AC_INIT([elpa],[2016.05.002], [elpa-library@mpcdf.mpg.de])
AC_SUBST([PACKAGE_VERSION])
......@@ -34,7 +34,7 @@ AM_SILENT_RULES([yes])
# by the current interface, as they are ABI compatible (e.g. only new symbols
# were added by the new interface)
#
AC_SUBST([ELPA_SO_VERSION], [5:0:1])
AC_SUBST([ELPA_SO_VERSION], [5:1:1])
#
......@@ -70,7 +70,7 @@ fi
dnl mpi
AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi=[[yes|no]]], [compile with MPI. Default: yes])],,[with_mpi=yes])
AM_CONDITIONAL([WITH_MPI],[test x"with_mpi" = x"yes"])
AM_CONDITIONAL([WITH_MPI],[test x"$with_mpi" = x"yes"])
if test x"${with_mpi}" = x"yes"; then
AC_DEFINE([WITH_MPI], [1], [use MPI])
fi
......@@ -923,9 +923,17 @@ DX_MAN_FEATURE(ON)
DX_HTML_FEATURE(ON)
DX_INIT_DOXYGEN([ELPA], [Doxyfile], [docs])
DESPERATELY_WANT_ASSUMED_SIZE=0
DESPERATELY_WANT_ASSUMED_SIZE=no
AC_MSG_CHECKING(whether --enable-assumed-size-arrays is specified)
AC_ARG_ENABLE([assumed-size],
AS_HELP_STRING([--enable-assumded-size-arrays],
[use assumed-size Fortran arrays]),
[],
[DESPERATELY_WANT_ASSUMED_SIZE=no])
AC_MSG_RESULT([${DESPERATELY_WANT_ASSUMED_SIZE}])
AM_CONDITIONAL([WITH_DESPERATELY_WANT_ASSUMED_SIZE],[test x"$DESPERATELY_WANT_ASSUMED_SIZE" = x"yes"])
if test x"${DESPERATELY_WANT_ASSUMED_SIZE}" = x"yes" ; then
AC_DEFINE([DESPERATELY_WANT_ASSUMED_SIZE],[1],[use assumed size arrays, even if not debuggable])
AC_DEFINE([DESPERATELY_WANT_ASSUMED_SIZE],[1],[use assumed size Fortran arrays, even if not debuggable])
fi
if test x"${want_single_precision}" = x"yes" ; then
......@@ -967,11 +975,20 @@ mkdir modules private_modules
# into "postdeps_FC" and causes linking errors later on.
postdeps_FC=$(echo $postdeps_FC | sed 's/-l //g')
if test x"${enable_openmp}" = x"yes"; then
if test x"${with_mpi}" = x"yes"; then
if test x"${enable_openmp}" = x"yes"; then
SUFFIX="_openmp"
else
else
SUFFIX=""
fi
else
if test x"${enable_openmp}" = x"yes"; then
SUFFIX="_onnode_openmp"
else
SUFFIX="_onenode"
fi
fi
AC_SUBST([SUFFIX])
AC_SUBST([PKG_CONFIG_FILE],[elpa${SUFFIX}-${PACKAGE_VERSION}.pc])
......
......@@ -150,9 +150,9 @@ program test_real2_default_kernel_qr_decomposition_double_precision
! stop 1
! endif
! nblk = 2
! na = 4000
! nev = 1500
nblk = 2
na = 4000
nev = 1500
! make sure na, nbl is even
if (mod(nblk,2 ) .ne. 0) then
......
......@@ -155,6 +155,9 @@ program test_real2_default_kernel_qr_decomposition_single_precision
nblk = 2
na = 4000
nev = 1500
! nblk = 32
! na = 4000
! nev = 1500
! make sure na, nbl is even
if (mod(nblk,2 ) .ne. 0) then
......
AC_PREREQ([2.69])
AC_INIT([elpa_test_project],[2016.05.001], elpa-library@rzg.mpg.de)
elpaversion="2016.05.001"
AC_INIT([elpa_test_project],[2016.05.002], elpa-library@rzg.mpg.de)
elpaversion="2016.05.002"
AC_CONFIG_SRCDIR([src/test_real.F90])
AM_INIT_AUTOMAKE([foreign -Wall subdir-objects])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment