Accelerating AIREBO: Navigating the Journey from Legacy to High- Performance Code
M Hohnerbach and P Bientinesi, JOURNAL OF COMPUTATIONAL CHEMISTRY, 40, 1471-1482 (2019).
DOI: 10.1002/jcc.25796
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 4x (KNL) and 3x (Skylake). (c) 2019 Wiley Periodicals, Inc.
Return to Publications page