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 `__ ]