DCA++: A software framework to solve correlated electron problems with modern quantum cluster methods
Abstract
We present the first open release of the DCA++ project, a high-performance research software framework to solve quantum many-body problems with cutting edge quantum cluster algorithms. DCA++ implements the dynamical cluster approximation (DCA) and its DCA+ extension with a continuous self-energy. The algorithms capture nonlocal correlations in strongly correlated electron systems, thereby giving insight into high-Tc superconductivity. The code's scalability allows efficient usage of systems at all scales, from workstations to leadership computers. With regard to the increasing heterogeneity of modern computing machines, DCA++ provides portable performance on conventional and emerging new architectures, such as hybrid CPU–GPU, sustaining multiple petaflops on ORNL's Titan and CSCS’ Piz Daint supercomputers. Moreover, we show how sustainable and scalable development of the code base has been achieved by adopting standard techniques of the software industry. These include employing a distributed version control system, applying test-driven development and following continuous integration. Program summary: Program Title: DCA++ Program Files doi: http://dx.doi.org/10.17632/482jm5cv77.1 Licensing provisions: BSD-3-Clause Programming language: C++14 and CUDA Nature of problem: Understanding the fascinating physics of strongly correlated electron systems requires the development of sophisticated algorithms and their implementation on leadership computing systems. Solution method: The DCA++ code provides a highly scalable and efficient implementation of the dynamical cluster approximation (DCA) and its DCA+ extension.