elpa

A scalable eigensolver for dense, symmetric (hermitian) matrices (fork of https://gitlab.mpcdf.mpg.de/elpa/elpa.git)

https://github.com/marekandreas/elpa

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A scalable eigensolver for dense, symmetric (hermitian) matrices (fork of https://gitlab.mpcdf.mpg.de/elpa/elpa.git)

Basic Info
  • Host: GitHub
  • Owner: marekandreas
  • License: other
  • Language: Fortran
  • Default Branch: master
  • Homepage:
  • Size: 22.7 MB
Statistics
  • Stars: 32
  • Watchers: 5
  • Forks: 15
  • Open Issues: 10
  • Releases: 22
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Eigenvalue SoLvers for Petaflop-Applications (ELPA)

Current Release

The current release is ELPA 2025.06.001. The current supported API version is 20250131. This release supports the earliest API version 20170403. The current version for autotuning is also 20250131 and down to version 20170403 ist supported for autotuning. When the autotune version is set to a value below 20211125 the old autotuning implementation is used, and for 20211125 and higher the new implementation is used.

Build 
status

Code 
coverage

License LGPL v3

About ELPA

The computation of selected or all eigenvalues and eigenvectors of a symmetric (Hermitian) matrix has high relevance for various scientific disciplines. For the calculation of a significant part of the eigensystem typically direct eigensolvers are used. For large problems, the eigensystem calculations with existing solvers can become the computational bottleneck.

As a consequence, the ELPA project was initiated with the aim to develop and implement an efficient eigenvalue solver for petaflop applications, supported by the German Federal Government, through BMBF Grant 01IH08007, from Dec 2008 to Nov 2011.

The challenging task has been addressed through a multi-disciplinary consortium of partners with complementary skills in different areas.

The ELPA library was originally created by the ELPA consortium, consisting of the following organizations:

  • Max Planck Computing and Data Facility (MPCDF), formerly known as Rechenzentrum Garching der Max-Planck-Gesellschaft (RZG),
  • Bergische Universität Wuppertal, Lehrstuhl für angewandte Informatik,
  • Technische Universität München, Lehrstuhl für Informatik mit Schwerpunkt Wissenschaftliches Rechnen ,
  • Fritz-Haber-Institut, Berlin, Abt. Theorie,
  • Max-Plack-Institut für Mathematik in den Naturwissenschaften, Leipzig, Abt. Komplexe Strukutren in Biologie und Kognition, and
  • IBM Deutschland GmbH

ELPA is distributed under the terms of version 3 of the license of the GNU Lesser General Public License as published by the Free Software Foundation.

Obtaining ELPA

There exist several ways to obtain the ELPA library either as sources or pre-compiled packages:

  • official release tar-gz sources from the ELPA webpage
  • from the ELPA git repository
  • as packaged software for several Linux distributions (e.g. Debian, Fedora, OpenSuse)

Terms of usage

Your are free to obtain and use the ELPA library, as long as you respect the terms of version 3 of the license of the GNU Lesser General Public License.

No other conditions have to be met.

Nonetheless, we are grateful if you cite the following publications:

If you use ELPA in general:

T. Auckenthaler, V. Blum, H.-J. Bungartz, T. Huckle, R. Johanni, L. Krämer, B. Lang, H. Lederer, and P. R. Willems, "Parallel solution of partial symmetric eigenvalue problems from electronic structure calculations", Parallel Computing 37, 783-794 (2011). doi:10.1016/j.parco.2011.05.002.

Marek, A.; Blum, V.; Johanni, R.; Havu, V.; Lang, B.; Auckenthaler, T.; Heinecke, A.; Bungartz, H.-J.; Lederer, H. "The ELPA library: scalable parallel eigenvalue solutions for electronic structure theory and computational science", Journal of Physics Condensed Matter, 26, 213201 (2014) doi:10.1088/0953-8984/26/21/213201

If you use the GPU version of ELPA:

Kus, P; Marek, A.; Lederer, H. "GPU Optimization of Large-Scale Eigenvalue Solver", In: Radu F., Kumar K., Berre I., Nordbotten J., Pop I. (eds) Numerical Mathematics and Advanced Applications ENUMATH 2017. ENUMATH 2017. Lecture Notes in Computational Science and Engineering, vol 126. Springer, Cham

Yu, V.; Moussa, J.; Kus, P.; Marek, A.; Messmer, P.; Yoon, M.; Lederer, H.; Blum, V. "GPU-Acceleration of the ELPA2 Distributed Eigensolver for Dense Symmetric and Hermitian Eigenproblems", Computer Physics Communications, 262, 107808 (2021) doi:10.1016/j.cpc.2020.107808

If you use the new API and/or autotuning:

Kus, P.; Marek, A.; Koecher, S. S.; Kowalski H.-H.; Carbogno, Ch.; Scheurer, Ch.; Reuter, K.; Scheffler, M.; Lederer, H. "Optimizations of the Eigenvaluesolvers in the ELPA Library", Parallel Computing 85, 167-177 (2019)

If you use the new support for skew-symmetric matrices:

Penke C.; Marek, A.; Vorwerk, C.; Draxl, C.; Benner, P.; "High Performance Solution of Skew-symmetric Eigenvalue Problems with Applications in Solving the Bethe-Salpeter Eigenvalue Problem", Parallel Computing 96, 102639 (2020) doi:10.1016/j.parco.2020.102639

Installation of the ELPA library

ELPA is shipped with a standard autotools automake installation infrastructure. Some other libraries are needed to install ELPA (the details depend on how you configure ELPA):

  • Basic Linear Algebra Subroutines (BLAS)
  • Lapack routines
  • Basic Linear Algebra Communication Subroutines (BLACS)
  • Scalapack routines
  • a working MPI library

Please refer to the INSTALL document on details of the installation process and the possible configure options.

Using ELPA

Since July 2024 we provide a complete User Guide that contains full information about installation, usage, best practices, and troubleshooting of ELPA.

For the older version, please have a look at the USERS_GUIDE file and the PERFORMANCE tuning document.

We also provide doxygen online documentation, where you can find the definition of the interfaces.

Contributing to ELPA

It has been, and is, a tremendous effort to develop and maintain the ELPA library. A lot of things can still be done, but our man-power is limited.

Thus every effort and help to improve the ELPA library is highly appreciated. For details please see the CONTRIBUTING document.

Citation (CITATION.cff)

cff-version: 1.2.0

message: "Your are free to obtain and use the ELPA library, as long as you respect the terms of version 3 of the license of the GNU Lesser General Public License. No other conditions have to be met. Nonetheless, we are grateful if you cite the following publications. If you use ELPA in general: T. Auckenthaler et al (2011), A. Marek et al (2014). If you use the GPU version of ELPA: P. Kus et al (2017), V. Yu et al (2021). If you use the new API and/or autotuning: P. Kus et al (2019). If you use the new support for skew-symmetric matrices: C. Penke et al (2020)."

title: "The ELPA Library"

authors:
  - family-names: "Auckenthaler"
    given-names: "Thomas"
  - family-names: "Blum"
    given-names: "Volker"
  - family-names: "Heinecke"
    given-names: "Alexander"
  - family-names: "Johanni"
    given-names: "Rainer"
  - family-names: "Marek"
    given-names: "Andreas"
  - family-names: "Soheil"
    given-names: "Soltani"
  - family-names: "Huedepohl"
    given-names: "Lorenz"
  - family-names: "Kus"
    given-names: "Pavel"
  - family-names: "Karpov"
    given-names: "Peter"
  - family-names: "Ohlmann"
    given-names: "Sebastian"
  - family-names: "Yu"
    given-names: "Victor"
  - family-names: "Penke"
    given-names: "Carolin"
  - family-names: "Melson"
    given-names: "Tobias"
  - family-names: "Juergens"
    given-names: "Werner"
  - family-names: "Kangowski"
    given-names: "Steffen"
  - family-names: "Weimer"
    given-names: "Florian"

url: "https://elpa.mpcdf.mpg.de/"

references:

  - type: article
    authors:
    - family-names: "Auckenthaler"
      given-names: "T."
    - family-names: "Blum"
      given-names: "V."
    - family-names: "Bungartz"
      given-names: "H.-J."
    - family-names: "Huckle"
      given-names: "T."
    - family-names: "Johanni"
      given-names: "R."
    - family-names: "Krämer"
      given-names: "L."
    - family-names: "Lang"
      given-names: "B."
    - family-names: "Lederer"
      given-names: "H."
    - family-names: "Willems"
      given-names: "P. R."
    title: "Parallel solution of partial symmetric eigenvalue problems from electronic structure calculations"
    journal: "Parallel Computing"
    volume: 37
    start: 783
    year: 2011
    doi: "10.1016/j.parco.2011.05.002"

  - type: article
    authors:
    - family-names: "Marek"
      given-names: "Andreas"
    - family-names: "Blum"
      given-names: "Volker"
    - family-names: "Johanni"
      given-names: "Rainer"
    - family-names: "Havu"
      given-names: "Ville"
    - family-names: "Lang"
      given-names: "Bruno"
    - family-names: "Auckenthaler"
      given-names: "Thomas"
    - family-names: "Heinecke"
      given-names: "Alexander"
    - family-names: "Bungartz"
      given-names: "Hans-Joachim"
    - family-names: "Lederer"
      given-names: "Hermann"
    title: "The ELPA library: scalable parallel eigenvalue solutions for electronic structure theory and computational science"
    journal: "Journal of Physics: Condensed Matter"
    volume: 26
    start: 213201
    year: 2014
    doi: "10.1088/0953-8984/26/21/213201"

  - type: edited-work
    authors:
    - family-names: "Kus"
      given-names: "Pavel"
    - family-names: "Marek"
      given-names: "Andreas"
    - family-names: "Lederer"
      given-names: "Hermann"
    title: "GPU Optimization of Large-Scale Eigenvalue Solver"
    journal: "Numerical Mathematics and Advanced Applications ENUMATH 2017. ENUMATH 2017. Lecture Notes in Computational Science and Engineering. Radu F., Kumar K., Berre I., Nordbotten J., Pop I. (eds)"
    volume: 126
    year: 2017
    publisher:
      name: Springer

  - type: article
    authors:
    - family-names: "Yu"
      given-names: "Victor When-zhe"
    - family-names: "Moussa"
      given-names: "Jonathan"
    - family-names: "Kus"
      given-names: "Pavel"
    - family-names: "Marek"
      given-names: "Andreas"
    - family-names: "Messmer"
      given-names: "Peter"
    - family-names: "Yoon"
      given-names: "Mina"
    - family-names: "Lederer"
      given-names: "Hermann"
    - family-names: "Blum"
      given-names: "Volker"
    journal: "Computer Physics Communications"
    volume: 262
    start: 107808
    title: "GPU-acceleration of the ELPA2 distributed eigensolver for dense symmetric and hermitian eigenpromlems"
    year: 2021
    doi: "10.1016/j.cpc.2020.107808"

  - type: article
    authors:
    - family-names: "Kus"
      given-names: "P."
    - family-names: "Marek"
      given-names: "A."
    - family-names: "Koecher"
      given-names: "S. S."
    - family-names: "Kowalski"
      given-names: "H.-H."
    - family-names: "Carbogno"
      given-names: "Ch."
    - family-names: "Scheurer"
      given-names: "Ch."
    - family-names: "Reuter"
      given-names: "K."
    - family-names: "Scheffler"
      given-names: "M."
    - family-names: "Lederer"
      given-names: "H."
    title: "Optimizations of the Eigenvaluesolvers in the ELPA Library"
    journal: "Parallel Computing"
    volume: 85
    start: 167
    year: 2019
    doi: "10.1016/j.parco.2019.04.003"

  - type: article
    authors:
    - family-names: "Penke"
      given-names: "C."
    - family-names: "Marek"
      given-names: "A."
    - family-names: "Vorwerk"
      given-names: "C."
    - family-names: "Draxl"
      given-names: "C."
    - family-names: "Benner"
      given-names: "P."
    title: "High Performance Solution of Skew-symmetric Eigenvalue Problems with Applications in Solving the Bethe-Salpeter Eigenvalue Problem"
    journal: "Parallel Computing"
    volume: 96
    start: 102639
    year: 2020
    doi: "10.1016/j.parco.2020.102639"

GitHub Events

Total
  • Issues event: 6
  • Watch event: 4
  • Issue comment event: 13
  • Push event: 5
  • Pull request event: 3
  • Fork event: 1
Last Year
  • Issues event: 6
  • Watch event: 4
  • Issue comment event: 13
  • Push event: 5
  • Pull request event: 3
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 3
  • Average time to close issues: 5 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 11
  • Total pull request authors: 3
  • Average comments per issue: 2.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 1
  • Average time to close issues: 2 months
  • Average time to close pull requests: 5 days
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 2.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jsboer (5)
  • tang070205 (2)
  • mpijensen (2)
  • yizeyi18 (2)
  • gpenazzi (1)
  • jayamanlucky (1)
  • Beliavsky (1)
  • askhl (1)
  • yurivict (1)
  • fedepedron (1)
  • lpha-z (1)
Pull Request Authors
  • yizeyi18 (1)
  • kyungminlee (1)
  • lpha-z (1)
Top Labels
Issue Labels
Pull Request Labels