1. 03 Aug, 2017 1 commit
  2. 18 May, 2017 2 commits
  3. 22 Apr, 2017 1 commit
  4. 18 Apr, 2017 1 commit
  5. 08 Apr, 2017 1 commit
  6. 06 Apr, 2017 2 commits
  7. 05 Apr, 2017 1 commit
  8. 09 Feb, 2017 1 commit
  9. 10 Jan, 2017 1 commit
  10. 29 Nov, 2016 4 commits
  11. 23 Nov, 2016 1 commit
  12. 22 Nov, 2016 2 commits
    • Pavel Kus's avatar
      elpa1_template splitted · f59e2758
      Pavel Kus authored
      some intent (in) or (out) added
      some comments added
    • Pavel Kus's avatar
      unification of single/double precission for real elpa1 and elpa2 compute templates · 1605e66c
      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
  13. 18 Nov, 2016 1 commit
  14. 28 Oct, 2016 1 commit
  15. 25 Oct, 2016 1 commit
  16. 04 Aug, 2016 1 commit
  17. 10 Jun, 2016 1 commit
  18. 09 Jun, 2016 1 commit
  19. 19 May, 2016 1 commit
    • Andreas Marek's avatar
      Start to work on issue #9 · ed5d94d0
      Andreas Marek authored
      The ELPA1 gpu version changes from branch "ELPA_development_version_GPU"
      have been integrated in the branch "ELPA_GPU".
      However, at the moment these changes exist only as a comment (and are
      deactivated), due to the following missing points:
      - the flag useGPU must be passed along the ELPA1 function calls
      - the GPU device arrays must be allocated as pointers (and not use
        the deprecated Cuda Fortran style)
      - the calls to cublas have to be changed from the cublasFortran API
        to the cublas C API
  20. 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
      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
      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
  21. 26 Feb, 2016 1 commit
  22. 24 Feb, 2016 2 commits
    • Andreas Marek's avatar
      Add migration notice · 31a03aa2
      Andreas Marek authored
    • 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
      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
  23. 18 Feb, 2016 1 commit
  24. 17 Feb, 2016 2 commits
  25. 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
  26. 02 Feb, 2016 2 commits
  27. 13 Jan, 2016 1 commit
  28. 08 Jan, 2016 1 commit
  29. 05 Jan, 2016 1 commit
    • Andreas Marek's avatar
      Updated all variable types · 62a29931
      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
  30. 22 Dec, 2015 1 commit
  31. 16 Dec, 2015 1 commit
    • 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)