1. 01 Apr, 2016 1 commit
  2. 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
  3. 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
  4. 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
  5. 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
  6. 04 Feb, 2016 1 commit
  7. 02 Feb, 2016 3 commits
    • Andreas Marek's avatar
      Remove assumend size arrays from real simple kernel · 7a564731
      Andreas Marek authored
      This commit might be performance critical, it has to be timed
      carefully. Thus one can switch back to the old implementation.
      The new one, however, is more safe and better to debug
      7a564731
    • Andreas Marek's avatar
      Remove assumed size arrays from generic complex kernel · 1da1bd50
      Andreas Marek authored
      This change might be performance critical and has to be timed
      carefully. Thus it is possible to switch back to the old
      implementation. The new one, however, can actually be debbuged
      1da1bd50
    • Andreas Marek's avatar
      Remove assumed size from generic real kernel · cb4c4ae7
      Andreas Marek authored
      The generic real kernel is now contained in a module, this allows
      strict interface checking! It also does not use assumed size arrays
      anymore. Both points increase the possibility to debug and find errors.
      
      However, this might be performance critical! It is possible to
      switch back to the old implementation if that turns out to
      be beneficial w.r.t. performance. Timings with gfortran 4.9 on Intel
      Haswell showed that the new implementation is about 30 percent faster
      then the previous one
      cb4c4ae7
  8. 19 Jan, 2016 1 commit