Commit 80c67f22 authored by Lorenz Huedepohl's avatar Lorenz Huedepohl

Configure option '--enable-scalapack-tests'

with obvious meaning
parent 7f718e57
......@@ -462,9 +462,13 @@ libelpatest@SUFFIX@_la_SOURCES = \
test/shared/test_blacs_infrastructure.F90 \
test/shared/test_prepare_matrix.F90 \
test/shared/test_analytic.F90 \
test/shared/test_scalapack.F90 \
test/shared/test_output_type.F90
if WITH_SCALAPACK_TESTS
libelpatest@SUFFIX@_la_SOURCES += \
test/shared/test_scalapack.F90
endif
if HAVE_REDIRECT
libelpatest@SUFFIX@_la_SOURCES += \
test/shared/test_redir.c \
......
......@@ -50,10 +50,9 @@ AM_CONDITIONAL([ENABLE_LEGACY],[test x"$enable_legacy" = x"yes"])
m4_include([fdep/fortran_dependencies.m4])
FDEP_F90_GNU_MAKE_DEPS
###
dnl OpenMP
m4_include([m4/ax_elpa_openmp.m4])
AC_MSG_CHECKING(whether --enable-openmp is specified)
AC_ARG_ENABLE([openmp],
AS_HELP_STRING([--enable-openmp],
......@@ -66,6 +65,7 @@ if test x"${enable_openmp}" = x"yes"; then
AC_DEFINE([WITH_OPENMP], [1], [use OpenMP threading])
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"])
......@@ -73,7 +73,25 @@ if test x"${with_mpi}" = x"yes"; then
AC_DEFINE([WITH_MPI], [1], [use MPI])
fi
# C
dnl Scalapack tests
AC_MSG_CHECKING(whether --enable-scalapack-tests is specified)
AC_ARG_ENABLE([scalapack-tests],
AS_HELP_STRING([--enable-scalapack-tests],
[build SCALAPACK test cases for performance comparison, needs MPI, default no.]),
[],
[enable_scalapack_tests="no"])
AC_MSG_RESULT([$enable_scalapack_tests])
if test x"${enable_scalapack_tests}" = x"yes"; then
if test x"$with_mpi" = x"no"; then
AC_MSG_ERROR([You cannot build the SCALAPCK test cases without MPI])
fi
AC_DEFINE([WITH_SCALAPACK_TESTS], [1], [build SCALAPACK test cases])
fi
AM_CONDITIONAL([WITH_SCALAPACK_TESTS], [test x"$enable_scalapack_tests" = x"yes"])
dnl C
AC_LANG_PUSH([C])
AX_PROG_CC_MPI([test x"$with_mpi" = x"yes"],[found_mpi_c=yes],[found_mpi_c=no])
if test x"$with_mpi" = x"yes"; then
......
......@@ -69,6 +69,10 @@ for m, g, t, p, d, s, l in product(
print("if WITH_MPI")
endifs += 1
if (s == "scalapack_all"):
print("if WITH_SCALAPACK_TESTS")
endifs += 1
if kernel == "default_kernel":
extra_flags.append("-DTEST_KERNEL=ELPA_2STAGE_{0}_DEFAULT".format(d.upper()))
elif kernel == "all_kernels":
......
......@@ -48,8 +48,8 @@
! Define TEST_GPU \in [0, 1]
! Define either TEST_ALL_KERNELS or a TEST_KERNEL \in [any valid kernel]
#if !(defined(TEST_REAL) ^ defined(TEST_COMPLEX) )
error: define exactly one of TEST_REAL or TEST_COMPLEX
#if !(defined(TEST_REAL) ^ defined(TEST_COMPLEX))
error: define exactly one of TEST_REAL or TEST_COMPLEX
#endif
#if !(defined(TEST_SINGLE) ^ defined(TEST_DOUBLE))
......@@ -111,7 +111,9 @@ program test
use test_blacs_infrastructure
use test_check_correctness
use test_analytic
#ifdef WITH_SCALAPACK_TESTS
use test_scalapack
#endif
#ifdef HAVE_REDIRECT
use test_redirect
......
......@@ -61,7 +61,7 @@ contains
integer(kind=ik) :: info, lwork, liwork
real(kind=rk8), allocatable :: work(:)
integer, allocatable :: iwork(:)
allocate(work(1), iwork(1))
! query for required workspace
......@@ -69,11 +69,11 @@ contains
! write(*,*) "computed sizes", lwork, liwork, "required sizes ", work(1), iwork(1)
lwork = work(1)
liwork = iwork(1)
deallocate(work, iwork)
allocate(work(lwork), stat = info)
allocate(iwork(liwork), stat = info)
! the actuall call to the method
call pdsyevd('V', 'U', na, a, 1, 1, sc_desc, ev, z, 1, 1, sc_desc, work, lwork, iwork, liwork, info)
......
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