1. 19 May, 2021 1 commit
  2. 13 May, 2021 1 commit
  3. 12 May, 2021 1 commit
    • Andreas Marek's avatar
      Check the provided threading level of the MPI library · 82ad3340
      Andreas Marek authored
      It turned out that users ignored the warnings of the test programs
      if their MPI library did not provide "MPI_THREAD_SERIALIED" or
      "MPI_THREAD_MULTIPLE".
      
      Thus for safty reasons, ELPA does from now on during the call to
      "elpa_setup" check the provided threading level of the MPI library.
      If the provided level is too low, ELPA will do the following
      
      - limit the number of OpenMP threads **internal** to ELPA to 1
      - print a warning about this
      - ignore the settings of the user via
      -- the OMP_NUM_THREADS variable
      -- calling the set-method set("omp_threads", value)
      
      These settings will **not** affect the run-time of a threaded
      blas and lapack library, **if** the number of threads for these
      libraries can be controlled independently of the OMP_NUM_THREADS
      variable (for example for Intel's MKL one can use MKL_NUM_THREADS)
      82ad3340
  4. 06 May, 2021 1 commit
  5. 05 May, 2021 1 commit
  6. 04 May, 2021 1 commit
    • Soheil Soltani's avatar
      Modify the autotuning levels · 5a031cf2
      Soheil Soltani authored
      expand the intervals between the levels to prevent the optimization algorithm from picking a value that bears insignificant improvement compared to one lower factor
      5a031cf2
  7. 03 May, 2021 1 commit
  8. 23 Mar, 2021 1 commit
  9. 11 Mar, 2021 1 commit
  10. 04 Mar, 2021 2 commits
  11. 03 Mar, 2021 1 commit
  12. 02 Mar, 2021 1 commit
  13. 26 Feb, 2021 1 commit
  14. 24 Feb, 2021 1 commit
  15. 15 Feb, 2021 1 commit
  16. 21 Jan, 2021 1 commit
  17. 18 Nov, 2020 1 commit
  18. 17 Nov, 2020 1 commit
  19. 10 Aug, 2020 1 commit
  20. 31 Jul, 2020 2 commits
  21. 03 Apr, 2020 1 commit
  22. 24 Mar, 2020 1 commit
  23. 02 Mar, 2020 1 commit
  24. 28 Feb, 2020 1 commit
  25. 28 Oct, 2019 1 commit
    • Pavel Kus's avatar
      partially addressing issues with the GPU kernel · ec5b3bec
      Pavel Kus authored
      This commit addresses several issues. It essentially forbids the use of
      the GPU kernel, which become obsolete and caused problems. But it
      does not complete remove the related code, nor does it forbid from
      explicitly selecting the GPU kernel. However, if the user does select
      it, the warning will be issued and the GENERIC kernel would be used
      instead. In the more details:
      * Commentin out operations in the GPU kernel, which do not compile with
        CUDA 10.1. This makes the kernel deffinitely not ussable (but it was
        true even before)
      * removing the gpu_tridiag_band option, sincie the tridiag->banded routine
        is actually not ported to GPU at all. This step will thus always be
        run on the CPU
      * removing the gpu_trans_ev_tridi_to_band option, since the GPU version
        of this step cannot run without the GPU kernel and it is not usable.
        This step will thus also be performed on the CPU
      * modifying REAL_GPU_KERNEL_ONLY_WHEN_GPU_IS_ACTIVE and
        COMPLEX_GPU_KERNEL_ONLY_WHEN_GPU_IS_ACTIVE such that the GPU kernel is
        not considered during the autotuning
      
      * TODO however, the GPU kernel can still be enforced by the user. In
        this case, during the calculation, a warning is issued and the kernel
        is switched to the GENERIC one. This should be improved and there
        should not even be the possibility to choose the GPU kernel at the
        begining.
      ec5b3bec
  26. 14 Oct, 2019 1 commit
  27. 26 Jun, 2019 1 commit
  28. 25 Apr, 2019 2 commits
  29. 06 Feb, 2019 1 commit
  30. 23 Jan, 2019 2 commits
    • Lorenz Huedepohl's avatar
      Fix error in elpa_index · fd2bb65c
      Lorenz Huedepohl authored
      lfind() expects a proper comparison function where the order of the
      arguments does not matter. Previously it was assumed that the first
      argument is always a pointer to an unspecific "key" object and the
      second argument a pointer to an array member to compare against.
      
      However, the standard requires the two arguments to be interchangeable
      pointers to array-member like objects.
      
      Surfaced as musl-libc does in fact call it the other way around,
      compared to glibc.
      fd2bb65c
    • Lorenz Huedepohl's avatar
      4be39b35
  31. 11 Dec, 2018 1 commit
  32. 03 Dec, 2018 1 commit
  33. 21 Nov, 2018 1 commit
    • Pavel Kus's avatar
      changed logic of setting mpi communicators · f3144dd9
      Pavel Kus authored
      mpi_comm_parent is allways requred (it was not required before, but
      actually the code internals expected it to be supplied, at least for
      ELPA 2 calculation OR whenever GPU was used)
      f3144dd9
  34. 13 Nov, 2018 2 commits
  35. 07 Nov, 2018 1 commit