1. 22 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. 04 Mar, 2016 1 commit
  4. 26 Feb, 2016 1 commit
  5. 24 Feb, 2016 3 commits
    • Andreas Marek's avatar
      Add migration notice · 31a03aa2
      Andreas Marek authored
      31a03aa2
    • Andreas Marek's avatar
      Template for print messages of test programs · 296e4f48
      Andreas Marek authored
      The test programs include the same template now, the
      printed messages are thus unified
      296e4f48
    • 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
  6. 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
  7. 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
  8. 04 Jan, 2016 1 commit
    • Andreas Marek's avatar
      Started to remove depecrated Fortran variable declerations · 0a05f7d3
      Andreas Marek authored
      The Fortran variable declerations "variable type*[4,8,16]" is non
      Fortran standard. It might cause problem in the future.
      Furthermore, the usage of Fortran and C togehther is more clean
      if variables are defined according to C variable types.
      
      This is done, now for all the test programs
      0a05f7d3
  9. 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
  10. 11 Dec, 2015 2 commits
  11. 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
  12. 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
  13. 01 Jun, 2015 1 commit
  14. 28 May, 2015 2 commits
  15. 11 Mar, 2015 1 commit
  16. 09 Mar, 2015 2 commits
    • Andreas Marek's avatar
      Correct usage of MPI abort · ff61bd20
      Andreas Marek authored
      In the test programms "MPI_ABORT" has been used incorrectly.
      ff61bd20
    • Andreas Marek's avatar
      Change of get_elpa_row_col_comms to a function · fc80ad07
      Andreas Marek authored
      The procedure "get_elpa_row_col_comms" is now a function instead
      a subroutine and returns an error code.
      
      This should have been done previously when all the other ELPA
      function have been updated to return an error code.
      
      This requires an ABI change in the next ELPA release !
      fc80ad07
  17. 11 Feb, 2015 1 commit
    • Andreas Marek's avatar
      Abort on error in QR-decomposition · ff13970b
      Andreas Marek authored
      If the QR-decomposition is used wrongly (matrix size is not a
      multiple of block size) the the execution will abort, in
      order to prevent the wrong results, discussed in a previous commit
      
      Debug messages are now available by setting the environment variable
      "ELPA_DEBUG_MESSAGES" to "yes".
      ff13970b
  18. 03 Feb, 2015 1 commit
  19. 27 Jan, 2015 1 commit
  20. 25 Aug, 2014 2 commits
    • Andreas Marek's avatar
      ELPA 2014.06.004 Optional usage of detailed timings · ae473b44
      Andreas Marek authored
      At build time it can be specified that the ELPA test
      programs give more detailed timing information, which
      is usefull for performace measurements
      ae473b44
    • Andreas Marek's avatar
      ELPA 2014.06.003: Allow redirect of MPI task output · 7ddffdbd
      Andreas Marek authored
      If specified in the configure step, the test programs
      redirect their stdout and stderr output of each MPI
      task in a seperate file, which will be stored in a
      subdirectory "mpi_stdout".
      
      This will only be done if the environment variable
      "REDIRECT_ELPA_TEST_OUTPUT" is set to "true"
      7ddffdbd
  21. 01 Jul, 2014 1 commit
  22. 30 Jun, 2014 1 commit
    • Andreas Marek's avatar
      Another ABI change in ELPA_2014.06 pre-release · a2b2e6bf
      Andreas Marek authored
      Build servers recommend against calling "abort" functions in a
      library. Thus, from now on, ELPA  returns a success flag, which
      is a change of ABI!
      
      In order to force the user to honour this, the ELPA drivers
      are converted to functions, which implies an adaptation and
      rebuild of the user code. The driver functions return a
      logical "success", which, if it is false, indicates an
      error within the library.
      
      It is advised to check catch and check this
      return value in the user code, which calls ELPA.
      a2b2e6bf
  23. 26 May, 2014 2 commits
    • Andreas Marek's avatar
      ELPA_2014.06 prepare release · 53f2f2c6
      Andreas Marek authored
      Now it is possible
      - to choose the kernel (real and complex independently) at run-time
        via environment variables, or
      - to specify the kernel (real and complex independently) at runtime
        via specifing the kernel in the call to ELPA
      
      This has a few implications
      1) The ELPA 2014.06 release has a change in the API and is thus not
         binary compatible with previous versions
      2) if no kernels are specified, a default kernel is choosen
      3) if a wrong kernel is specified, a default kernel is choosen
      
      For sake of simplicity it is still possible to build ELPA with
      support for only one kernel, as in previous versions. However, it is
      still not binary compatible to previous versions
      53f2f2c6
    • Andreas Marek's avatar
      Cleanup of configure.ac ELPA_2013.11; Create ELPA_2014.06 · b3d47d1e
      Andreas Marek authored
      The configure.ac of ELPA_2013.11 is cleaned up a bit
      Also, ELPA_2013.11 is copied to ELPA_2014.06 in order to have
      the base for the next ELPA release
      b3d47d1e
  24. 21 Mar, 2014 1 commit
  25. 26 Feb, 2014 1 commit
    • Andreas Marek's avatar
      ELPA_2013.11 OpenMP tests return error code · 3d9c053b
      Andreas Marek authored
      If the ELPA library is compiled with OpenMP, the tests check
      whether the MPI library provides the neccessary threading level.
      
      There has been the error, that if the required threading level
      was not available the test programs aborted, put no explicit
      error code was set. This is changed now.
      3d9c053b
  26. 15 Nov, 2013 1 commit
    • Andreas Marek's avatar
      ELPA_2013.11 release (minor version 000) · ea970032
      Andreas Marek authored
      This is the release of the ELPA_development_version_OpenMP
      If OpenMP support is not used, this version has the same
      functionality as ELPA_2013.08.
      
      If OpenMP support is used, obviously, a hybrid version of ELPA will be
      build.
      
      Allthough this is a release, version ELPA_2013.11 is far from complete!
      During the next week optimizations of the OpenMP part will be published,
      however, the basic functionality is set by this commit
      ea970032
  27. 14 Nov, 2013 1 commit
  28. 31 Oct, 2013 1 commit
  29. 28 Oct, 2013 3 commits
    • Andreas Marek's avatar
      Introducing OpenMP functionality in ELPA_development_version_OpenMP · 48e712ef
      Andreas Marek authored
      This commit introduces OpenMP functionality in the
      ELPA_development_version_OpenMP branch.
      
      It contains several bugfixes to the OpenMP functionality in the
      branch "ELPA_development_version", the later will soon be deleted
      since the new branch is the new reference implementation.
      
      The current branch contains the following features/bugfixes:
      - building of the OpenMP version of ELPA via configure and the
        "--with-openmp" flag. The build library contains a "_mt"
        (multi-threaded) in its name.
        The configure procedure should (hopefully) determine for each
        compiler the neccessary OpenMP flags.
        If the "--with-openmp" flag is ommitted exactly the same code
        as in the ELPA 2013.08.001 release is used and build in the
        same way
      - The example test cases print which kernels have been used and
        how many OpenMP threads are used at runtime
      - correct handling of OpenMP stack arrays: the previous implementation
        caused compiler dependent segmentation faults
      - OpenMP capability with all available kernels: the correctness of
        the computations have been checked for all kernels except the
        Bluegene (P/Q) versions
      48e712ef
    • Andreas Marek's avatar
      Creating of ELPA_development_version_OpenMP · bc9a3d07
      Andreas Marek authored
      Based on the ELPA 2013.08.001 a development version for ELPA OpenMP
      has been created
      bc9a3d07
    • Andreas Marek's avatar
      Debug output of test cases · 50a000db
      Andreas Marek authored
      For debugging purposes the test examples of the ELPA library can
      now write the Eigenvectors in an ascii file, e.g
      a call of "test_real 4000 1500 16 output" will envoke the test
      case for real matrices of the ELPA1 library. A matrix of 4000x4000
      values will be created an 1500 EV's will be computet with a 16 blocking.
      And the results will be --- due to the output flag --- written to a
      text file
      50a000db
  30. 08 Aug, 2013 1 commit
    • Andreas Marek's avatar
      Elpa release 2013.08 · b015b6e1
      Andreas Marek authored
      This commit releases ELPA version 2013.08
      
      It is identical with the latest commit version 2013.02_BETA, except:
      
      - rename ELPA_2013.02.BETA -> ELPA_2013.08
      - update of configure.ac
      - remove of src/elpa2.f90_save
      - remove of test/Makefile
      
      This version has been tested extensivly, however, there might always
      be some bugs.
      In case of questions please contact elpa-library@rzg.mpg.de or via
      the ELPA forum on http://elpa-lib.fhi-berlin.mpg.de/forum/index.php
      b015b6e1
  31. 25 Jul, 2013 1 commit