1. 13 May, 2016 1 commit
  2. 25 Apr, 2016 1 commit
  3. 23 Apr, 2016 1 commit
  4. 22 Apr, 2016 1 commit
  5. 20 Apr, 2016 1 commit
  6. 05 Apr, 2016 2 commits
  7. 04 Apr, 2016 1 commit
  8. 01 Apr, 2016 1 commit
  9. 18 Mar, 2016 1 commit
    • Andreas Marek's avatar
      Allow ELPA to be build with single and double precision symbols in one · 647aa5a8
      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
      647aa5a8
  10. 04 Mar, 2016 1 commit
  11. 26 Feb, 2016 2 commits
  12. 24 Feb, 2016 3 commits
    • Andreas Marek's avatar
      Add migration notice · 31a03aa2
      Andreas Marek authored
      31a03aa2
    • Andreas Marek's avatar
      Template for print messages of test programs · 296e4f48
      Andreas Marek authored
      The test programs include the same template now, the
      printed messages are thus unified
      296e4f48
    • Andreas Marek's avatar
      Optional build of ELPA without MPI · 49f119aa
      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
      49f119aa
  13. 17 Feb, 2016 1 commit
    • Andreas Marek's avatar
      Single precision support for ELPA2 · 940b8f26
      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
      940b8f26
  14. 12 Feb, 2016 1 commit
    • Andreas Marek's avatar
      Single precision support for ELPA2 · 56043bdc
      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
      56043bdc
  15. 11 Feb, 2016 1 commit
    • Andreas Marek's avatar
      Enable single-precision calculations for ELPA1 · de6a4fde
      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
      de6a4fde
  16. 04 Jan, 2016 2 commits
    • Andreas Marek's avatar
      Include forgotten header files · 0aa7e6be
      Andreas Marek authored
      In some C test programs the function declaration header files
      have been missing
      0aa7e6be
    • Andreas Marek's avatar
      Started to remove depecrated Fortran variable declerations · 0a05f7d3
      Andreas Marek authored
      The Fortran variable declerations "variable type*[4,8,16]" is non
      Fortran standard. It might cause problem in the future.
      Furthermore, the usage of Fortran and C togehther is more clean
      if variables are defined according to C variable types.
      
      This is done, now for all the test programs
      0a05f7d3
  17. 22 Dec, 2015 1 commit
  18. 16 Dec, 2015 2 commits
    • Lorenz Huedepohl's avatar
      Wrong argument order · 9edc719b
      Lorenz Huedepohl authored
      9edc719b
    • Andreas Marek's avatar
      Add interface to unify C and Fortran names · bb046d1c
      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)
      bb046d1c
  19. 11 Dec, 2015 2 commits
  20. 13 Nov, 2015 1 commit
  21. 03 Nov, 2015 2 commits
    • Andreas Marek's avatar
      Remove of Makefile.example · d86c8c96
      Andreas Marek authored
      A build without autotools is not officially supported anymore.
      Thus this --- broken since long time --- Makefile.example is removed
      d86c8c96
    • Andreas Marek's avatar
      Update of c test cases · 505004e7
      Andreas Marek authored
      The examples, how to invoke ELPA from a c program have been updated.
      There are now examples for ELPA1 and ELPA2 both real and complex case.
      The test cases are still with less functionality than their Fortran
      counter parts, they are just ment as a "proof-of-concept".
      505004e7
  22. 28 Oct, 2015 1 commit
    • Alexander Heinecke's avatar
      This commit improves ELPA's performance on Intel(R) Xeon(R) E5v2 and E5v3 series CPUs by: · fe63372d
      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)
      fe63372d
  23. 16 Jun, 2015 2 commits
  24. 01 Jun, 2015 1 commit
  25. 28 May, 2015 2 commits
  26. 24 Mar, 2015 1 commit
  27. 16 Mar, 2015 3 commits
  28. 11 Mar, 2015 1 commit