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++`` implementation
* Paul Springer -- Advanced GPU implementation
* Marija Kranjcevic -- OpenMP ``C++`` implementation
* Josip Zubrinic -- Early GPU algorithm development and implementation
* Jens Rene Suckert -- Lanczos algorithm and GPU implementation
* Mario Berljafa -- Early ``C`` and ``MPI`` 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
`__ ]