1. 09 Sep, 2017 2 commits
  2. 30 Jul, 2017 1 commit
    • Lorenz Huedepohl's avatar
      Loop over all possible domain decompositions · fabb1c42
      Lorenz Huedepohl authored
      We got reports from a user that there were troubles with certain domain
      decompositions. So far the tests only looked at (approximately) square
      decompositions in column-major process order.
      
      Now, a new class of tests loops over all possible decompositions
      (row * col) for a given number of total tasks.
      
      So far, we can not confirm that there are any problems, all
      possibilities work as expected.
      fabb1c42
  3. 09 Jun, 2017 1 commit
  4. 19 May, 2017 1 commit
  5. 17 May, 2017 2 commits
  6. 04 Apr, 2017 1 commit
  7. 03 Apr, 2017 2 commits
    • Lorenz Huedepohl's avatar
      Initial version of new ELPA API · f91c0b4b
      Lorenz Huedepohl authored
      This attempt at a new, more flexible API for ELPA should hopefully
      result in less ABI/API breaking changes in the future.
      
      The new API features a generic key/value system for options that can be
      extended without changing any exported symbols or function signatures,
      so that new, optional features do not influence existing usage of ELPA.
      
      We hope this makes life easier for users of ELPA - at least in the long
      run when they migrated to this newest of ABI changes :)
      
      Example usage (explicit documentation to be done in a future commit):
      
         if (elpa_init(20170403) /= ELPA_OK) then
           error stop "ELPA API version not supported"
         endif
      
         e = elpa_create(na, nev, na_rows, na_cols, nblk, mpi_comm_world, my_prow, my_pcol, success)
      
         call e%set("solver", ELPA_SOLVER_2STAGE)
         call e%set("real_kernel", ELPA_2STAGE_REAL_GENERIC)
      
         call e%solve(a, ev, z, success)
      
         call e%destroy()
      
         call elpa_uninit()
      f91c0b4b
    • Lorenz Huedepohl's avatar
  8. 31 Mar, 2017 1 commit
  9. 15 Feb, 2017 1 commit
  10. 25 Nov, 2016 1 commit
  11. 06 Nov, 2016 1 commit
  12. 01 Nov, 2016 1 commit
  13. 12 Oct, 2016 1 commit
  14. 11 Oct, 2016 1 commit
  15. 02 Jul, 2016 3 commits
  16. 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
  17. 24 Feb, 2016 2 commits
    • Andreas Marek's avatar
      Add migration notice · 31a03aa2
      Andreas Marek authored
      31a03aa2
    • 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
  18. 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
  19. 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
  20. 04 Jan, 2016 1 commit
  21. 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)
      bb046d1c
  22. 11 Dec, 2015 2 commits
  23. 03 Nov, 2015 1 commit
    • 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
  24. 16 Jun, 2015 1 commit
    • Andreas Marek's avatar
      Start to remove assumed size arrays · b48cf00a
      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
      b48cf00a
  25. 16 Mar, 2015 1 commit
  26. 11 Mar, 2015 1 commit