- 09 Feb, 2017 2 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
-
- 28 Jan, 2017 1 commit
-
-
Andreas Marek authored
-
- 10 Jan, 2017 1 commit
-
-
Pavel Kus authored
-
- 29 Nov, 2016 1 commit
-
-
Andreas Marek authored
-
- 22 Nov, 2016 3 commits
-
-
Pavel Kus authored
Conflicts: src/elpa1_auxiliary.F90 src/elpa1_tridiag_real_template.X90
-
Pavel Kus authored
some intent (in) or (out) added some comments added Conflicts: src/elpa1.F90 src/elpa1_compute_real_template.X90
-
Pavel Kus authored
added printing of test-suite.log to gitlab ci elpa 1 real/complex unification first part of elpa2 single/double next phase part 3 till line 2010 till line 2164 till line 2346 till line 2425 till line 2280 till line 2656, two fixes rest of elpa2_real_template shortened line Conflicts: .gitlab-ci.yml src/elpa1_compute_real_template.X90 src/elpa2_compute_real_template.X90
-
- 11 Nov, 2016 1 commit
-
-
Andreas Marek authored
-
- 25 Oct, 2016 1 commit
-
-
Andreas Marek authored
-
- 21 Oct, 2016 1 commit
-
-
Andreas Marek authored
-
- 13 Oct, 2016 1 commit
-
-
Andreas Marek authored
-
- 04 Oct, 2016 1 commit
-
-
Andreas Marek authored
-
- 28 Sep, 2016 1 commit
-
-
Andreas Marek authored
-
- 05 Aug, 2016 1 commit
-
-
Andreas Marek authored
-
- 04 Aug, 2016 1 commit
-
-
Andreas Marek authored
-
- 07 Jul, 2016 1 commit
-
-
Lorenz Huedepohl authored
Apparently in some compiler/MPI combinations (gcc with impi 5.1.3) the identifier 'mpi_status' is defined and exporeted in their MPI fortran module and it is thus not allowed to name one of your local variables also 'mpi_status'. The confusing error message I got was ../src/elpa2_compute.F90:5780:37: call mpi_wait(ireq_hv,mpi_status,mpierr) 1 Error: Invalid procedure argument at (1) even though everything seemed to be defined correctly
-
- 10 Jun, 2016 1 commit
-
-
Andreas Marek authored
These functions were made private with ELPA releases 2016.05.001 and 2016.05.002, but they should be public
-
- 18 Mar, 2016 1 commit
-
-
Andreas Marek authored
library It the configure option "--enable-single-precision" is specified, ELPA will also be build for single precision usage. The double precision and single precision will be available at the same time with names "solve_evp_real_1stage_double" or "solve_evp_real_1stage_single" and so on... This change immplied some major refactoring of the ELPA code: 1.) functions/procedures had to be renamed with suffix "_double" 2.) If necessary the same functions have to be available with suffix "_single" 3.) Variable kind definitions have to be consistent with the intented use To avoid uneccessary code duplication this is done (most of the time) with preprocessor string substitution. The documentation has been updated. NOT SUPPORTED are at the moment: - single precision usage of ELPA2 with kernels, others than "generic" and "generic_simple" - single precision usage of GPU
-
- 26 Feb, 2016 1 commit
-
-
Angerer, Christoph (cangerer) authored
moved declaration of istat and errorMessage outside #ifdef WITH_OPENMP because otherwise it doesn't compile
-
- 24 Feb, 2016 2 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
The configure flag "--enable-shared-memory-only" triggers a build of ELPA without MPI support: - all MPI calls are skipped (or overloaded) - all calls to scalapack functions are replaced by the corresponding lapack calls - all calls to blacs are skipped Using ELPA without MPI gives the same results as using ELPA with 1 MPI task! This version is not yet optimized for performance, here and there some unecessary copies are done. Ths version is intended for users, who do not have MPI in their application but still would like to use ELPA on one compute node
-
- 18 Feb, 2016 1 commit
-
-
Andreas Marek authored
-
- 17 Feb, 2016 2 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
ELPA2 can now be build (as ELPA1) for single precision calculations. The ELPA2 kernles which are implemented in assembler, C, or C++ have NOT yet been ported. Thus at the moment only the GENERIC and GENERIC_SIMPLE kernels support single precision calculations
-
- 11 Feb, 2016 1 commit
-
-
Andreas Marek authored
With the configure option "--enable-single-precision" ELPA1 is build with single-precision (half-words) only. The best precision in single-precision (float or complex) is 2^-23 ~ 1.2e-7. The accuracy of the error residual of ELPA1 in single-precision mode is of the order 1e-4 to 1e-5. The orthogonality of the EV's is fullfilled up to about ~1e-6. Thus the precision of ELPA1 in single-precision mode is roughly 100 - 1000 times less than the best achievable precison. This is consistent with the double-precision mode, where also a factor of 100 - 1000 less precision than the theoretical best one is found. The float EVs are identical to the double EVs to at least 1e-2, the precision of the EVs is thus about 1e-7/1e-2 = 1e5 times lower than the best theoretical precision. If the same holds for the double precision calculations, this implies that the double precision results can also be only trusted on the level 1e-11 (5 orders of magnitude larger than the best theoretical precision) The best speed-up compared to the double precision calculation is a factor of two. This is by far not achieved yet, since the singl precision version is not at all optimized at the moment
-
- 02 Feb, 2016 2 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
-
- 13 Jan, 2016 1 commit
-
-
Andreas Marek authored
-
- 08 Jan, 2016 1 commit
-
-
Andreas Marek authored
The assumed size definitions are not needed, and are removed. This will imply a chnage of the so-Versioning number
-
- 05 Jan, 2016 1 commit
-
-
Andreas Marek authored
All variables (real, integer, complex) are now declecared with the appropiate kind statement. The definition of the kind types is done in src/mod_precision.f90 To ensure interoperability with C, the kind types are decleared via iso_c_binding to C variables
-
- 22 Dec, 2015 1 commit
-
-
Andreas Marek authored
Similiar to commits 2998fac3 and 9710bf08 split elpa1.F90 and elpa2.F90 to make merge easier
-
- 16 Dec, 2015 1 commit
-
-
Andreas Marek authored
This commit does not change the interfaces defined in ELPA_2015.11.001 ! All functionality is available via the interface names and definitions as in ELPA_2015.11.001 But some new interfaces have been added, in order to unfiy the references from C and Fortran codes: - The procedures to create the ELPA (row/column) communicators are now available from C _and_ Fortran with the name "get_elpa_communicators". The old Fortran name "get_elpa_row_col_comms" and the old C name "elpa_get_communicators" are from now on deprecated but still available - The 1-stage solver routines are available from C _and_ Fortran via the names "solve_evp_real_1stage" and "solve_evp_complex_1stage". The old Fortran names "solve_evp_real" and "solve_evp_complex" are from now on deprecated but still functional. All documentation (man pages, doxygen, and example test programs) have been changed accordingly. This commit implies a change in the API versioning number, but no changes to codes calling ELPA (if they have been already updated to the API of ELPA_2015.11.001)
-
- 11 Dec, 2015 1 commit
-
-
Andreas Marek authored
- the contact email is now: elpa-library@mpcdf.mpg.de - the official website is now hosted at http://elpa.mpcdf.mpg.de
-
- 10 Dec, 2015 2 commits
-
-
Andreas Marek authored
The user functions of ELPA are now documented with doxygen tags. At the moment the interface of ELPA 2015.11.001 is decribed. The documentation has step by step to be implemented for all functions and test programms.
-
Andreas Marek authored
For automatic generation of documentation, the file elpa1.F90 has been splitted into two files, in order to have a lean, easy-to-understand user interface: elpa1.F90 the visible user functios, which provide the library calls. The usage is the same as always elpa1_compute.F90 all internal routines, which are used by ELPA1 and ELPA2, but which are never called by the user. These functions are now "hidden" in the module elpa1_compute, which is used by ELPA1 and ELPA2. The procedures in elpa1_compute.F90 are identical to the ones in elpa1.F90 before this split commit. The only -- but lot of -- changes are intendation.
-
- 05 Nov, 2015 1 commit
-
-
Andreas Marek authored
-
- 28 Oct, 2015 1 commit
-
-
Alexander Heinecke authored
- enabling fusing iterations of stage 5 in ELPA2 for every configuration - Changed reduction bandwidth in ELPA2 to be at least 64 - partial OpenMP parallelization of the QR factorization in bandred_real - OpenMP parallelization of SYMM - OpenMP parallelization of SYR2K in bandred_real - OpenMP parallelization for elpa1_reduce_add_vectors and elpa1_transpose_vectors - AVX2 support in backtransformation elpa2_kernels (FMA3 instructions introduced with Haswell microarchitecture)
-
- 16 Jun, 2015 2 commits
-
-
Andreas Marek authored
complex cases Create automatically two independent routines for real and complex valued matrices
-
Andreas Marek authored
This commit is not ABI compatible, since it changes the interfaces of some routines Also, introduce type checking for transpose and reduce_add routines
-