1. 08 Jul, 2016 2 commits
    • Lorenz Huedepohl's avatar
      Fix actual reason for linker problems · 2121b2e5
      Lorenz Huedepohl authored
      The actual reason for the linker problems was that the Fortran libraries
      where listed before the object files, by modifying the _LINK automake
      variables. The proper way to do is of course to add the necessary
      libraries after the object files by appending them to the _LDADD
      variables.
      
      As the MPI module was not responsible for the linker problems it is now
      used by default, unless explicitly switched off with
      
        --disable-mpi-module
      
      Also, the C test programs that had these linker errors where previously
      not compiled in the OpenMP case, for no obvious reason. Now they are
      also included there.
      2121b2e5
    • Lorenz Huedepohl's avatar
      Make 'use mpi' usage optional · 7a54b546
      Lorenz Huedepohl authored
      For some strange reason this causes linker errors on _some_
      openSUSE_Tumbleweed installations..
      7a54b546
  2. 07 Jul, 2016 1 commit
  3. 04 Jul, 2016 2 commits
  4. 22 Jun, 2016 1 commit
  5. 15 Jun, 2016 2 commits
    • Lorenz Huedepohl's avatar
      Cleanup of configure arguments · 0da56d61
      Lorenz Huedepohl authored
      It is now
      
        --enable-timing
        --enable-redirect
        --with-papi
      
      instead of the more confusing
      
        --with-ftimings
        --with-redirect
        --disable-papi
      
      For once, the --with versions of timing and redirect could not cope with
      --with-timing=no, --with-redirect=no (this was interpreted like =yes).
      Also, --with switches are supposed to be for optional dependencies on
      other software, not for configuring optional parts of the software
      itself.
      0da56d61
    • Andreas Marek's avatar
      e451b897
  6. 14 Jun, 2016 2 commits
  7. 30 May, 2016 7 commits
  8. 25 May, 2016 2 commits
  9. 24 May, 2016 1 commit
  10. 23 May, 2016 1 commit
  11. 10 May, 2016 2 commits
  12. 09 May, 2016 2 commits
  13. 04 May, 2016 1 commit
  14. 23 Apr, 2016 1 commit
  15. 22 Apr, 2016 1 commit
  16. 20 Apr, 2016 1 commit
    • Andreas Marek's avatar
      Additional configure check for gcc SSE intrinsics · 896388e9
      Andreas Marek authored
      It turned out that if a CPU supports SSE the already existing
      test for SSE assembly instructions always passes.
      However, the compilation of gcc SSE intrinic instructions might
      nevertheless fail if gcc is not called with one of the options
      "-msse3", "-msse4" , "-msse4.1", "-msse4.2", "-mavx", or "-mavx2"!
      
      Obviously gcc does still not consider SSE as a standard on X86_64
      Intel CPUs.
      
      An additional configure test has been introduced, which test for
      gcc intrinsic sse instructions. If this test fails, the corresponding
      kernels are switched off.
      896388e9
  17. 19 Apr, 2016 2 commits
  18. 08 Apr, 2016 1 commit
  19. 06 Apr, 2016 1 commit
  20. 05 Apr, 2016 1 commit
    • Andreas Marek's avatar
      Introduction of new SSE kernels with different blocking · 69792b15
      Andreas Marek authored
      The SSE kernels with blocking of 2,4,6 (real case) and 1,2 (complex)
      case are now available by default
      
      Thus the following changes have been done
      - introduce new macros in configure.ac and Makefile.am
      - renmae the AVX kernels in AVX_AVX2 (they also support AVX2)
      - introduce new files with SSE kernel
      - introduce new kernel parameters !
      - make the SSE kernels callable
      
      The results are identical with previous kernels
      69792b15
  21. 04 Apr, 2016 1 commit
  22. 01 Apr, 2016 1 commit
  23. 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
  24. 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
  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
      de6a4fde