README.md 6.24 KB
Newer Older
Andreas Marek's avatar
Andreas Marek committed
1
# [Eigenvalue SoLvers for Petaflop-Applications (ELPA)](http://elpa.mpcdf.mpg.de)
2

Andreas Marek's avatar
Andreas Marek committed
3
## Current Release ##
4

Andreas Marek's avatar
Andreas Marek committed
5
The current release is ELPA 2020.05.001 The current supported API version
6
is 20190501. This release supports the earliest API version 20170403.
7

8
The old, obsolete legacy API will be deprecated in the future !
Andreas Marek's avatar
Andreas Marek committed
9
Already now, all new features of ELPA are only available with the new API. Thus, there
10
11
is no reason to keep the legacy API arround for too long.

12
The release ELPA 2018.11.001 was the last release, where the legacy API has been
13
enabled by default (and can be disabled at build time).
14
With release ELPA 2019.05.001 the legacy API is disabled by default, however,
15
can be still switched on at build time.
16
With the release ELPA 2019.11.001 the legacy API has been deprecated and support has been droped.
17

Andreas Marek's avatar
Andreas Marek committed
18
19
20
21
[![Build 
status](https://gitlab.mpcdf.mpg.de/elpa/elpa/badges/master/build.svg)](https://gitlab.mpcdf.mpg.de/elpa/elpa/commits/master)

[![Code 
22
coverage](https://gitlab.mpcdf.mpg.de/elpa/badges/master/coverage.svg)](http://elpa.pages.mpcdf.de/elpa/coverage_summary)
Andreas Marek's avatar
Andreas Marek committed
23

24
25
![License LGPL v3][license-badge]

26
27
[license-badge]: https://img.shields.io/badge/License-LGPL%20v3-blue.svg

Andreas Marek's avatar
Andreas Marek committed
28

Andreas Marek's avatar
Andreas Marek committed
29
## About *ELPA* ##
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

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), fomerly 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,
55
- Max-Plack-Institut für Mathematik in den Naturwissenschaften,
56
57
58
59
60
61
62
63
64
65
66
  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:

Andreas Marek's avatar
Andreas Marek committed
67
- official release tar-gz sources from the *ELPA* [webpage](https://elpa.mpcdf.mpg.de/elpa-tar-archive)
Andreas Marek's avatar
Andreas Marek committed
68
- from the *ELPA* [git repository](https://gitlab.mpcdf.mpg.de/elpa/elpa)
69
- as packaged software for several Linux distributions (e.g. Debian, Fedora, OpenSuse)
70
71
72
73
74
75
76
77
78
79

## 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:

Andreas Marek's avatar
Andreas Marek committed
80
81
  If you use ELPA in general:

82
  T. Auckenthaler, V. Blum, H.-J. Bungartz, T. Huckle, R. Johanni,
Andreas Marek's avatar
Andreas Marek committed
83
  L. Krämer, B. Lang, H. Lederer, and P. R. Willems,
84
85
86
87
88
89
90
91
92
93
94
  "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 (2014)
  doi:10.1088/0953-8984/26/21/213201
95
  
Andreas Marek's avatar
Andreas Marek committed
96
97
  If you use the GPU version of ELPA:

98
99
100
101
102
103
  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
  
104
105
106
107
  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",
  https://arxiv.org/abs/2002.10991

Andreas Marek's avatar
Andreas Marek committed
108
109
  If you use the new API and/or autotuning:
 
110
  Kus, P.; Marek, A.; Koecher, S. S.; Kowalski H.-H.; Carbogno, Ch.; Scheurer, Ch.; Reuter, K.; Scheffler, M.; Lederer, H.
Andreas Marek's avatar
Andreas Marek committed
111
  "Optimizations of the Eigenvaluesolvers in the ELPA Library",
Andreas Marek's avatar
Andreas Marek committed
112
  Parallel Computing 85, 167-177 (2019)
113
114
115
116
117

  If you use the new support for skew-symmetric matrices:
  Benner, P.; Draxl, C.; Marek, A.; Penke C.; Vorwerk, C.;
  "High Performance Solution of Skew-symmetric Eigenvalue Problems with Applications in Solving the Bethe-Salpeter Eigenvalue Problem",
  https://arxiv.org/abs/1912.04062, submitted to Parallel Computing
Andreas Marek's avatar
Andreas Marek committed
118
  
119
120
121

## Installation of the *ELPA* library

122
*ELPA* is shipped with a standard autotools automake installation infrastructure.
123
124
125
126
127
128
129
130
131
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

Andreas Marek's avatar
Andreas Marek committed
132
Please refer to the [INSTALL document](INSTALL.md) on details of the installation process and
133
134
135
136
the possible configure options.

## Using *ELPA*

Andreas Marek's avatar
Andreas Marek committed
137
Please have a look at the [USERS_GUIDE](USERS_GUIDE.md) file, to get a documentation or at the [online](http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2020.05.001/html/index.html) doxygen documentation, where you find the definition of the interfaces.
138
139
140
141
142
143

## 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.

144
Thus every effort and help to improve the *ELPA* library is highly appreciated.
Andreas Marek's avatar
Andreas Marek committed
145
For details please see the [CONTRIBUTING](CONTRIBUTING.md) document.
146
147