Release version of ELPA_2015.02

As obvious from the previous commits, this release of ELPA
introduces a (optional) QR-decomposition for real valued
matrices. This option can be used at run-time by either setting
an environment variable, or by calling the ELPA-2 solver for
real matrices with an additional flag.

Thus the ABI changed, w.r.t. previous versions.

Furthermore, the build process of ELPA has been made more
consistent. All optimization flags (especially O1, O2 etc.)
have to be set at build time by the user via the CFLAGS, FCFLAGS,
and CXXFLAGS variables. The configure script does not set
automatically the "O-Flags" anymore.
parent fff8ea1c
......@@ -80,12 +80,22 @@ The configure installation is best done in four steps
variable "FCFLAGS", "CFLAGS", and "CXXFLAGS", e.g. FCFLAGS="-O3 -xAVX",
please see "./src/elpa2_kernels/README_elpa2_kernels.txt".
Note that _NO_ compiler omptimization flags are set automatically. It
is always adviced to set the by e.g.:
CFLAGS="-O2" CXXFLAGS="-O2" FCFLAGS="-O2" ./configure
Setting the optimization flags for the AVX kernels can be a hazel. If AVX
kernels are build for your system, you can set the configure option
"--with-avx-optimizations=yes". This will automatically set a few compiler
optimization flags which turned out to be beneficial for AVX support.
However, it might be that on your system/compiler version etc. other flags
are the better choice.
are the better choice. AND this thus _not_ set the above mentioned flags,
which you should still set by hand:
CFLAGS="-O2" CXXFLAGS="-O2" FCFLAGS="-O2" ./configure
1.4 Installation location
......
......@@ -30,6 +30,12 @@ Furthernote, that if neither the environment variable or the API keyword are not
set, or set to "no" or ".false.", respectively, then no qr decomposition is used
(i.e. the previous behaviour is maintained).
c)
The configure procedure was adapted to be more consistent. No compiler omptimization
flags are set automatically anymore, this is up to the user at build time
Any incompatibles to previous version?
---------------------------------------
......
......@@ -3278,68 +3278,10 @@ include ${srcdir}/fdep/fortran_dependencies.mk
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
enableval=$enable_dependency_tracking;
fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
AMDEP_TRUE='#'
AMDEP_FALSE=
fi
: ${CFLAGS=""}
: ${CXXFLAGS=""}
#: ${FCLAGS="-O2"}
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
......@@ -4188,6 +4130,69 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
enableval=$enable_dependency_tracking;
fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
AMDEP_TRUE='#'
AMDEP_FALSE=
fi
depcc="$CC" am_compiler_list=
......@@ -4317,7 +4322,7 @@ else
fi
#AM_PROG_CC_C_O
if test -n "$ac_tool_prefix"; then
for ac_prog in ar lib "link -lib"
......@@ -4623,7 +4628,6 @@ else
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
......
......@@ -53,10 +53,15 @@ m4_include([fdep/fortran_dependencies.m4])
FDEP_F90_GNU_MAKE_DEPS
AC_PROG_INSTALL
AM_PROG_CC_C_O
: ${CFLAGS=""}
: ${CXXFLAGS=""}
#: ${FCLAGS="-O2"}
AC_PROG_CC
#AM_PROG_CC_C_O
AM_PROG_AR
AM_PROG_AS
AC_PROG_CXX
dnl variables needed for the tests
......
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