References and Contributors¶
The path that leads to the current implementation of ChASE using modern
C++
design concepts started back in summer of 2012, when an
initial Matlab prototype of the code was implemented in C
and
parallelized using OpenMP 3.0. Soon after a distributed version of the
code was implemented based on MPI and the Elemental library. The results of these
implementations lead to a the first publications on the performance of
the library on sequences of eigenvalue problems stemming from
Materials Science applications. In the following three years, a first
basic C++
implementation on shared memory architectures and GPUs
was developed. Eventually all these efforts lead to the current
implementation in C++
which is templated and separates algorithm
from kernel implementation through the use of an abstract class.
Main developers¶
Edoardo Di Napoli – Algorithm design and development
Xinzhe Wu – Algorithm development, advanced parallel (MPI and GPU) implementation and optimization, developer documentation
Current Contributors¶
Davor Davidović – Advanced parallel GPU implementation and optimization
Nenad Mijić – ARM-based implementation and optimization
Past Contributors¶
Xiao Zhang – Integration of ChASE into Jena BSE code
Miriam Hinzen, Daniel Wortmann – Integration of ChASE into FLEUR code
Sebastian Achilles – Library benchmarking on parallel platforms, documentation
Jan Winkelmann – DoS algorithm development and advanced
C++
implementationPaul Springer – Advanced GPU implementation
Marija Kranjcevic – OpenMP
C++
implementationJosip Zubrinic – Early GPU algorithm development and implementation
Jens Rene Suckert – Lanczos algorithm and GPU implementation
Mario Berljafa – Early
C
andMPI
implementation using the Elemental library
How to Reference the Code¶
The main reference of ChASE is [1] while [2] provides some early results on scalability and usage on sequences of eigenproblems generated by Materials Science applications.
[1] J. Winkelmann, P. Springer, and E. Di Napoli. ChASE: a Chebyshev Accelerated Subspace iteration Eigensolver for sequences of Hermitian eigenvalue problems. ACM Transaction on Mathematical Software, 45 Num.2, Art.21, (2019). DOI:10.1145/3313828 , [arXiv:1805.10121 ]
[2] M. Berljafa, D. Wortmann, and E. Di Napoli. An Optimized and Scalable Eigensolver for Sequences of Eigenvalue Problems. Concurrency & Computation: Practice and Experience 27 (2015), pp. 905-922. DOI:10.1002/cpe.3394 , [arXiv:1404.4161 ].
[3] X. Wu, D. Davidović, S. Achilles,E. Di Napoli. ChASE: a distributed hybrid CPU-GPU eigensolver for large-scale hermitian eigenvalue problems. Proceedings of the Platform for Advanced Scientific Computing Conference (PASC22). DOI:10.1145/3539781.3539792 , [arXiv:2205.02491 ]