Accelerating AIREBO: Navigating the Journey from Legacy to High‐Performance Code.

Autor: Höhnerbach, Markus, Bientinesi, Paolo
Předmět:
Zdroj: Journal of Computational Chemistry; 5/30/2019, Vol. 40 Issue 14, p1471-1482, 12p
Abstrakt: Despite initiatives to improve the quality of scientific software, there still is a large presence of legacy code. The focus of such code is usually on domain‐science features, rather than maintainability or highest performance. Additionally, architecture specific optimizations often result in less maintainable code. In this article, we focus on the AIREBO potential from LAMMPS, which exhibits large and complex computational kernels, hindering any systematic optimization. We suggest an approach based on complexity‐reducing refactoring and hardware abstraction and present the journey from the C++ port of a previous Fortran code to performance‐portable, KNC‐hybrid, vectorized, scalable, and optimized code supporting full and reduced precision. The journey includes extensive testing that fixed bugs in the original code. Large‐scale, full‐precision runs sustain speedups of more than 4× (KNL) and 3× (Skylake). © 2019 Wiley Periodicals, Inc. Due to the introduction of both new methods and hardware optimizations, the amount of hard‐to‐maintain scientific code is ever increasing. Code refactoring before optimizing is suggested. As a case study, the authors transformed the AIREBO potential in LAMMPS to be performance‐portable, vectorized, scalable, and mixed precision. Testing made it possible to find and fix bugs in the original code. Large‐scale, full‐precision runs sustain speedups of more than 4x (KNL) and 3x (Skylake). [ABSTRACT FROM AUTHOR]
Databáze: Complementary Index