Hybrid CPU-GPU Generation of the Hamiltonian and Overlap Matrices in FLAPW Methods
- First Online:
- Cite this paper as:
- Fabregat-Traver D., Davidović D., Höhnerbach M., Di Napoli E. (2017) Hybrid CPU-GPU Generation of the Hamiltonian and Overlap Matrices in FLAPW Methods. In: Di Napoli E., Hermanns MA., Iliev H., Lintermann A., Peyser A. (eds) High-Performance Scientific Computing. JHPCS 2016. Lecture Notes in Computer Science, vol 10164. Springer, Cham
In this paper we focus on the integration of high-performance numerical libraries in ab initio codes and the portability of performance and scalability. The target of our work is FLEUR, a software for electronic structure calculations developed in the Forschungszentrum Jülich over the course of two decades. The presented work follows up on a previous effort to modernize legacy code by re-engineering and rewriting it in terms of highly optimized libraries. We illustrate how this initial effort to get efficient and portable shared-memory code enables fast porting of the code to emerging heterogeneous architectures. More specifically, we port the code to nodes equipped with multiple GPUs. We divide our study in two parts. First, we show considerable speedups attained by minor and relatively straightforward code changes to off-load parts of the computation to the GPUs. Then, we identify further possible improvements to achieve even higher performance and scalability. On a system consisting of 16-cores and 2 GPUs, we observe speedups of up to 5\(\times \) with respect to our optimized shared-memory code, which in turn means between 7.5\(\times \) and 12.5\(\times \) speedup with respect to the original FLEUR code.