Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
On Thursday, 7th July from 1 to 3 pm there will be a maintenance with a short downtime of GitLab.
Open sidebar
elpa
elpa
Commits
ce80e103
Commit
ce80e103
authored
May 24, 2016
by
Andreas Marek
Browse files
Merge branch 'master' of gitlab.mpcdf.mpg.de:elpa/elpa
parents
9519ede0
8f5c16b8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Makefile.am
View file @
ce80e103
...
...
@@ -2,43 +2,55 @@
ACLOCAL_AMFLAGS
=
${ACLOCAL_FLAGS}
-I
m4
AM_FCFLAGS
=
$(SCALAPACK_FCFLAGS)
@FC_MODINC@modules @FC_MOD
OUT@
modules
AM_FCFLAGS
=
$(SCALAPACK_FCFLAGS)
@FC_MODINC@modules @FC_MOD
INC@private_
modules
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_SOURCES
=
\
# parts with public interface
noinst_LTLIBRARIES
=
libelpa@SUFFIX@_public.la
libelpa@SUFFIX@
_public_la_FCFLAGS
=
$(AM_FCFLAGS)
@FC_MODOUT@modules
libelpa@SUFFIX@
_public_la_SOURCES
=
\
src/elpa1.F90
\
src/elpa2.F90
\
src/elpa2_utilities.F90
\
src/elpa_utilities.F90
# internal parts
noinst_LTLIBRARIES
+=
libelpa@SUFFIX@_private.la
libelpa@SUFFIX@
_private_la_FCFLAGS
=
$(AM_FCFLAGS)
@FC_MODOUT@private_modules
libelpa@SUFFIX@
_private_la_SOURCES
=
\
src/mod_precision.f90
\
src/mod_mpi.F90
\
src/mod_mpi_stubs.F90
\
src/elpa2_kernels/mod_fortran_interfaces.F90
\
src/elpa_utilities.F90
\
src/elpa1_compute.F90
\
src/elpa1.F90
\
src/elpa2_utilities.F90
\
src/mod_pack_unpack_real.F90
\
src/elpa2_kernels/mod_single_hh_trafo_real.F90
\
src/mod_compute_hh_trafo_real.F90
\
src/mod_compute_hh_trafo_complex.F90
\
src/mod_pack_unpack_complex.F90
\
src/aligned_mem.F90
\
src/elpa1_compute.F90
\
src/elpa2_compute.F90
\
src/elpa2.F90
\
src/elpa2_kernels/mod_fortran_interfaces.F90
\
src/elpa2_kernels/mod_single_hh_trafo_real.F90
\
src/elpa_c_interface.F90
\
src/elpa_qr/qr_utils.F90
\
src/elpa_qr/elpa_qrkernels.f90
\
src/elpa_qr/elpa_pdlarfb.F90
\
src/elpa_qr/elpa_pdgeqrf.F90
EXTRA_libelpa@SUFFIX@
_la_DEPENDENCIES
=
\
EXTRA_libelpa@SUFFIX@
_
private_
la_DEPENDENCIES
=
\
src/elpa_reduce_add_vectors.X90
\
src/elpa_transpose_vectors.X90
\
src/redist_band.X90
lib_LTLIBRARIES
=
libelpa@SUFFIX@.la
libelpa@SUFFIX@
_la_LINK
=
$(FCLINK)
$(AM_LDFLAGS)
-version-info
$(ELPA_SO_VERSION)
-lstdc
++
libelpa@SUFFIX@
_la_LIBADD
=
libelpa@SUFFIX@_public.la libelpa@SUFFIX@_private.la
libelpa@SUFFIX@
_la_SOURCES
=
if
HAVE_DETAILED_TIMINGS
libelpa@SUFFIX@
_la_SOURCES
+=
\
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
\
src/timer.F90
\
src/ftimings/ftimings.F90
\
src/ftimings/ftimings_type.F90
\
...
...
@@ -51,101 +63,101 @@ if HAVE_DETAILED_TIMINGS
endif
if
!WITH_MPI
libelpa@SUFFIX@
_la_SOURCES
+=
src/mod_time_c.F90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/mod_time_c.F90
if
!HAVE_DETAILED_TIMINGS
libelpa@SUFFIX@
_la_SOURCES
+=
src/ftimings/time.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/ftimings/time.c
endif
endif
if
WITH_REAL_GENERIC_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real.F90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real.F90
endif
if
WITH_COMPLEX_GENERIC_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex.F90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex.F90
endif
if
WITH_REAL_GENERIC_SIMPLE_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_simple.F90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_simple.F90
endif
if
WITH_COMPLEX_GENERIC_SIMPLE_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_simple.F90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_simple.F90
endif
if
WITH_REAL_BGP_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_bgp.f90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_bgp.f90
endif
if
WITH_REAL_BGQ_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_bgq.f90
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_bgq.f90
endif
if
WITH_REAL_SSE_ASSEMBLY_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_asm_x86_64.s
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_asm_x86_64.s
else
if
WITH_COMPLEX_SSE_ASSEMBLY_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_asm_x86_64.s
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_asm_x86_64.s
endif
endif
if
WITH_REAL_SSE_BLOCK2_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_sse_2hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_sse_2hv.c
endif
if
WITH_REAL_AVX_BLOCK2_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv.c
else
if
WITH_REAL_AVX2_BLOCK2_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv.c
endif
endif
if
WITH_REAL_SSE_BLOCK4_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_sse_4hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_sse_4hv.c
endif
if
WITH_REAL_AVX_BLOCK4_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv.c
else
if
WITH_REAL_AVX2_BLOCK4_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv.c
endif
endif
if
WITH_REAL_SSE_BLOCK6_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_sse_6hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_sse_6hv.c
endif
if
WITH_REAL_AVX_BLOCK6_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv.c
else
if
WITH_REAL_AVX2_BLOCK6_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv.c
endif
endif
if
WITH_COMPLEX_SSE_BLOCK1_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_sse_1hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_sse_1hv.c
endif
if
WITH_COMPLEX_AVX_BLOCK1_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv.c
else
if
WITH_COMPLEX_AVX2_BLOCK1_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv.c
endif
endif
if
WITH_COMPLEX_SSE_BLOCK2_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_sse_2hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_sse_2hv.c
endif
if
WITH_COMPLEX_AVX_BLOCK2_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv.c
else
if
WITH_COMPLEX_AVX2_BLOCK2_KERNEL
libelpa@SUFFIX@
_la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv.c
libelpa@SUFFIX@
_
private_
la_SOURCES
+=
src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv.c
endif
endif
...
...
configure.ac
View file @
ce80e103
...
...
@@ -855,11 +855,10 @@ AC_SUBST([FC_MODOUT])
AC_SUBST([OPENMP_CFLAGS])
AC_SUBST([OPENMP_FCFLAGS])
AC_SUBST([OPENMP_LDFLAGS])
#AC_SUBST(OPT_FCFLAGS)
AC_SUBST([DOXYGEN_OUTPUT_DIR], [docs])
rm -rf modules/ .fortran_dependencies/
mkdir modules
rm -rf modules/
private_modules/
.fortran_dependencies/
mkdir modules
private_modules
#gl_VISIBILITY
#AH_BOTTOM([#if HAVE_VISIBILITY
...
...
generated_headers.am
View file @
ce80e103
...
...
@@ -4,10 +4,10 @@ define extract_interface
endef
elpa test:
mkdir $@
@
mkdir $@
test/shared_sources: | test
mkdir $@
@
mkdir $@
config-f90.h: config.h
@echo "Generating $@...";
...
...
src/elpa1.F90
View file @
ce80e103
...
...
@@ -83,13 +83,7 @@
module
ELPA1
use
precision
use
elpa_utilities
use
elpa1_compute
#ifdef HAVE_DETAILED_TIMINGS
use
timings
#endif
use
elpa_mpi
implicit
none
PRIVATE
! By default, all routines contained are private
...
...
@@ -295,6 +289,8 @@ function solve_evp_real_1stage(na, nev, a, lda, ev, q, ldq, nblk, matrixCols, mp
#ifdef HAVE_DETAILED_TIMINGS
use
timings
#endif
use
elpa_mpi
use
elpa1_compute
implicit
none
integer
(
kind
=
ik
),
intent
(
in
)
::
na
,
nev
,
lda
,
ldq
,
nblk
,
matrixCols
,
mpi_comm_rows
,
mpi_comm_cols
...
...
@@ -397,6 +393,8 @@ function solve_evp_complex_1stage(na, nev, a, lda, ev, q, ldq, nblk, matrixCols,
use
timings
#endif
use
precision
use
elpa_mpi
use
elpa1_compute
implicit
none
integer
(
kind
=
ik
),
intent
(
in
)
::
na
,
nev
,
lda
,
ldq
,
nblk
,
matrixCols
,
mpi_comm_rows
,
mpi_comm_cols
...
...
src/elpa2.F90
View file @
ce80e103
...
...
@@ -67,13 +67,9 @@ module ELPA2
! Version 1.1.2, 2011-02-21
use
elpa_utilities
use
elpa1_compute
use
elpa1
,
only
:
elpa_print_times
,
time_evp_back
,
time_evp_fwd
,
time_evp_solve
use
elpa2_utilities
use
elpa2_compute
use
elpa_pdgeqrf
use
elpa_mpi
implicit
none
PRIVATE
! By default, all routines contained are private
...
...
@@ -135,6 +131,9 @@ function solve_evp_real_2stage(na, nev, a, lda, ev, q, ldq, nblk, &
#ifdef HAVE_DETAILED_TIMINGS
use
timings
#endif
use
elpa1_compute
use
elpa2_compute
use
elpa_mpi
use
precision
implicit
none
logical
,
intent
(
in
),
optional
::
useQR
...
...
@@ -375,6 +374,9 @@ function solve_evp_complex_2stage(na, nev, a, lda, ev, q, ldq, nblk, &
#ifdef HAVE_DETAILED_TIMINGS
use
timings
#endif
use
elpa1_compute
use
elpa2_compute
use
elpa_mpi
use
precision
implicit
none
integer
(
kind
=
ik
),
intent
(
in
),
optional
::
THIS_COMPLEX_ELPA_KERNEL_API
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment