Commit fe4aeddb authored by Andreas Marek's avatar Andreas Marek
Browse files

Merge branch 'loh/master' into 'master'

loh/master

This includes the proper passing around lcov packages as artifacts and fixes a small error in the RPM spec file for SLES-11 SP4

See merge request !3
parents 3d8ee7a4 0da56d61
This diff is collapsed.
......@@ -250,27 +250,23 @@ endif
if !WITH_OPENMP
elpa1_test_real_c_version@SUFFIX@_SOURCES = test/c_test_programs/elpa1_test_real_c_version.c
elpa1_test_real_c_version@SUFFIX@_LDADD = $(build_lib)
elpa1_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
elpa1_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
elpa1_test_real_c_version@SUFFIX@_LINK = $(LINK) $(FCLIBS)
EXTRA_elpa1_test_real_c_version@SUFFIX@_DEPENDENCIES = test/fortran_test_programs/elpa_test_programs_print_headers.X90
elpa1_test_complex_c_version@SUFFIX@_SOURCES = test/c_test_programs/elpa1_test_complex_c_version.c
elpa1_test_complex_c_version@SUFFIX@_LDADD = $(build_lib)
elpa1_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
elpa1_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
elpa1_test_complex_c_version@SUFFIX@_LINK = $(LINK) $(FCLIBS)
EXTRA_elpa1_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/fortran_test_programs/elpa_test_programs_print_headers.X90
elpa2_test_real_c_version@SUFFIX@_SOURCES = test/c_test_programs/elpa2_test_real_c_version.c
elpa2_test_real_c_version@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
elpa2_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
elpa2_test_real_c_version@SUFFIX@_LINK = $(LINK) $(FCLIBS)
EXTRA_elpa2_test_real_c_version@SUFFIX@_DEPENDENCIES = test/fortran_test_programs/elpa_test_programs_print_headers.X90
elpa2_test_complex_c_version@SUFFIX@_SOURCES = test/c_test_programs/elpa2_test_complex_c_version.c
elpa2_test_complex_c_version@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
elpa2_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
elpa2_test_complex_c_version@SUFFIX@_LINK = $(LINK) $(FCLIBS)
EXTRA_elpa2_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/fortran_test_programs/elpa_test_programs_print_headers.X90
endif
......
#!/bin/bash
cov_dir=coverage_data
cov_file=$cov_dir/coverage_${CI_BUILD_REF}_${CI_BUILD_NAME}.info
prefix=$cov_dir/coverage_${CI_BUILD_REF}_${CI_BUILD_NAME}
mkdir -p $cov_dir/
lcov --capture \
$(find src/ -name "*.gcn[ao]" | xargs -n 1 dirname | sort -u | grep -v ftimings | xargs -n 1 echo --directory) \
--output-file $cov_file
lcov -r $cov_file "/usr/*" -o $cov_file
lcov -r $cov_file "/afs/*" -o $cov_file
lcov -r $cov_file "src/ftimings" -o $cov_file
for dir in $(find -name "*.gcno" -print0 | xargs -0 -n 1 dirname | sort -u); do
dir=${dir#./};
lcov -c -b $PWD -d $dir --to-package $prefix.${dir//\//_}.package;
done
#!/bin/bash
for p in coverage_data/coverage_${CI_BUILD_REF}*.package ; do
cov_file=${p%.package}.info
lcov -c -b $PWD --from-package $p --output-file $cov_file
lcov -r $cov_file "/usr/*" -o $cov_file
lcov -r $cov_file "/afs/*" -o $cov_file
lcov -r $cov_file "src/ftimings" -o $cov_file
done
lcov $(for i in coverage_data/coverage_${CI_BUILD_REF}_*.info; do echo -a $i; done) -o coverage_data/coverage_${CI_BUILD_REF}.info
lcov --summary coverage_data/coverage_${CI_BUILD_REF}.info 2>&1 | \
awk '/lines|functions/ {
......@@ -11,4 +19,6 @@ lcov --summary coverage_data/coverage_${CI_BUILD_REF}.info 2>&1 | \
print "";
}' | \
sed 's/^/__COVERAGE__:/; s/, $//;'
genhtml coverage_data/coverage_${CI_BUILD_REF}.info -o coverage_data
mkdir coverage_summary
genhtml coverage_data/coverage_${CI_BUILD_REF}.info -o coverage_summary
AC_PREREQ([2.69])
# Remember to change the version also in elpa.spec
AC_INIT([elpa],[2016.05.002], [elpa-library@mpcdf.mpg.de])
# The version is set in elpa.spec, to have a single point of reference
AC_INIT([elpa],m4_esyscmd_s([awk '/^ *Version:/ {print $2;}' elpa.spec]), [elpa-library@mpcdf.mpg.de])
AC_SUBST([PACKAGE_VERSION])
......@@ -95,6 +95,7 @@ fi
AC_PROG_INSTALL
AM_PROG_AR
AM_PROG_AS
AM_PROG_CC_C_O
# Fortran
AC_LANG([Fortran])
......@@ -150,53 +151,54 @@ install_complex_generic_simple=yes
AC_LANG([C])
dnl build with ftimings support
AC_MSG_CHECKING(whether ELPA should be build with ftimings support)
AC_ARG_WITH([ftimings],
AS_HELP_STRING([--with-ftimings],
[detailed timings, default no.]),
[with_ftimings=yes],
[with_ftimings=no])
AC_MSG_RESULT([${with_ftimings}])
dnl build with the possibilty to redirect stdout and stderr
dnl per MPI task in a file
AC_MSG_CHECKING(whether stdout/stderr file redirect should be enabled)
AC_ARG_WITH([redirect],
AS_HELP_STRING([--with-redirect],
[for test programs, allow redirection of stdout/stderr per MPI taks in a file (useful for ftimings), default no.]),
[with_redirect=yes],
[with_redirect=no])
AC_MSG_RESULT([${with_redirect}])
if test x"${with_redirect}" = x"yes"; then
AC_ARG_ENABLE([redirect],
AS_HELP_STRING([--enable-redirect],
[for test programs, allow redirection of stdout/stderr per MPI taks in a file (useful for timing), default no.]),
[],
[enable_redirect=no])
AC_MSG_RESULT([${enable_redirect}])
dnl redirect
if test x"${enable_redirect}" = x"yes"; then
AC_DEFINE([HAVE_REDIRECT], [1], [Redirect stdout and stderr of test programs per MPI tasks to a file])
fi
AM_CONDITIONAL([HAVE_REDIRECT],[test x"$with_redirect" = x"yes"])
if test x"${with_ftimings}" = x"yes"; then
AC_DEFINE([HAVE_DETAILED_TIMINGS], [1], [Enable more timings])
AC_ARG_ENABLE([papi],
[AS_HELP_STRING([--disable-papi],[Do not use PAPI to also measure flop count, autodetected by default])],
[want_papi=$enableval],[want_papi="auto"])
papi_found=unknown
if test x"$want_papi" != x"no" ; then
AC_CHECK_LIB([papi],[PAPI_library_init],[papi_found="yes"],[papi_found="no"])
if test x"$want_papi" = x"yes" ; then
if test x"$papi_found" = x"no" ; then
AC_MSG_ERROR(["Could not find usable PAPI installation, please adjust CFLAGS, LDFLAGS"])
fi
AM_CONDITIONAL([HAVE_REDIRECT],[test x"$enable_redirect" = x"yes"])
dnl build with ftimings support
AC_MSG_CHECKING(whether ELPA should be build with more detailed timing support)
AC_ARG_ENABLE([timing],
AS_HELP_STRING([--enable-timing],
[more detailed timing, default no.]),
[],
[enable_timings=no])
AC_MSG_RESULT([${enable_timings}])
if test x"${enable_timings}" = x"yes"; then
AC_DEFINE([HAVE_DETAILED_TIMINGS], [1], [Enable more timing])
fi
AM_CONDITIONAL([HAVE_DETAILED_TIMINGS],[test x"$enable_timings" = x"yes"])
dnl PAPI for ftimings
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])],
[],
[with_papi="no"])
if test x"${enable_timings}" = x"yes"; then
if test x"$with_papi" = x"yes" ; then
AC_SEARCH_LIBS([PAPI_library_init],[papi],
[papi_found=yes],[papi_found=no])
if test x"$papi_found" = x"no" ; then
AC_MSG_ERROR(["Could not find usable PAPI installation, please install or adjust CFLAGS, LDFLAGS"])
fi
fi
if test x"$papi_found" = x"yes"; then
AC_DEFINE([HAVE_LIBPAPI], [1], [Use the PAPI library])
LIBS="-lpapi $LIBS"
fi
fi
AM_CONDITIONAL([HAVE_DETAILED_TIMINGS],[test x"$with_ftimings" = x"yes"])
dnl SSE assembly kernel
AC_MSG_CHECKING(whether SSE assembly kernel can be compiled)
$CC -c $srcdir/src/elpa2_kernels/elpa2_kernels_asm_x86_64.s -o test.o 2>/dev/null
if test "$?" == 0; then
can_compile_sse_assembly=yes
......
......@@ -31,16 +31,15 @@ Requires: openmpi
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: openmpi-devel
BuildRequires: blas
BuildRequires: blas-devel
BuildRequires: lapack
BuildRequires: lapack-devel
BuildRequires: pkg-config
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%if %{defined fedora}
BuildRequires: scalapack-openmpi
BuildRequires: scalapack-openmpi-devel
BuildRequires: blacs-openmpi
BuildRequires: blacs-openmpi-devel
BuildRequires: environment-modules
%endif
......@@ -176,6 +175,18 @@ that use %{name}_openmp.
%if %{defined fedora}
module load mpi/openmpi-%{_arch}
%endif
if [ ! -e configure ] ; then
# It is possible to use the Open Build Server to automatically
# checkout from git directly, extract this spec file and set the
# version of the extracted spec file to some autogenerated
# string based on the date and git hash of the checkout commit.
# This line ensures that the spec file in the tar-ball has
# that same version, so that autogen will inserted that version
# in the configure script
perl -pi -e "s/^Version:.*/Version: %{version}/" elpa.spec
./autogen.sh
fi
mkdir build
pushd build
%define _configure ../configure
......
Supports Markdown
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