@inproceedings{c6f1fe77a42e444992795a3fd6fd9131,
title = "Accelerating dca++ (dynamical cluster approximation) scientific application on the summit supercomputer",
abstract = "Optimizing scientific applications on today's accelerator-based high performance computing systems can be challenging, especially when multiple GPUs and CPUs with heterogeneous memories and persistent non-volatile memories are present. An example is Summit, an accelerator-based system at the Oak Ridge Leadership Computing Facility (OLCF) that is rated as the world's fastest supercomputer to-date. New strategies are thus needed to expose the parallelism in legacy applications, while being amenable to efficient mapping to the underlying architecture. In this paper we discuss our experiences and strategies to port a scientific application, DCA++, to Summit. DCA++ is a high-performance research application that solves quantum many-body problems with a cutting edge quantum cluster algorithm, the dynamical cluster approximation. Our strategies aim to synergize the strengths of the different programming models in the code. These include: A) streamlining the interactions between the CPU threads and the GPUs, b) implementing computing kernels on the GPUs and decreasing CPU-GPU memory transfers, c) allowing asynchronous GPU communications, and d) increasing compute intensity by combining linear algebraic operations. Full-scale production runs using all 4600 Summit nodes attained a peak performance of 73.5 PFLOPS with a mixed precision implementation. We observed a perfect strong and weak scaling for the quantum Monte Carlo solver in DCA++, while encountering about 2x input/output (I/O) and MPI communication overhead on the time-To-solution for the full machine run. Our hardware agnostic optimizations are designed to alleviate the communication and I/O challenges observed, while improving the compute intensity and obtaining optimal performance on a complex, hybrid architecture like Summit.",
keywords = "CUDA, CUDA aware MPI, DCA, QMC, Quantum Monte Carlo, Spectrum MPI, Summit@OLCF",
author = "Giovanni Balduzzi and Arghya Chatterjee and Li, {Ying Wai} and Doak, {Peter W.} and Urs Haehner and D'Azevedo, {Ed F.} and Maier, {Thomas A.} and Thomas Schulthess",
note = "Publisher Copyright: {\textcopyright} 2019 IEEE.; 28th International Conference on Parallel Architectures and Compilation Techniques, PACT 2019 ; Conference date: 21-09-2019 Through 25-09-2019",
year = "2019",
month = sep,
doi = "10.1109/PACT.2019.00041",
language = "English",
series = "Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "432--443",
booktitle = "Proceedings - 2019 28th International Conference on Parallel Architectures and Compilation Techniques, PACT 2019",
}