Title
Optimizing AIREBO: Navigating the Journey from Complex Legacy Code to High Performance.
Abstract
Despite initiatives to improve the quality of scientific codes, there still is a large presence of legacy code. Such code often needs to implement a lot of functionality under time constrains, sacrificing quality. Additionally, quality is rarely improved by optimizations for new architectures. This development model leads to code that is increasingly difficult to work with. Our suggested solution includes complexity-reducing refactoring and hardware abstraction. We focus on the AIREBO potential from LAMMPS, where the challenge is that any potential kernel is rather large and complex, hindering systematic optimization. This issue is common to codes that model multiple physical phenomena. We present our journey from the C++ port of a previous Fortran code to performance-portable, KNC-hybrid, vectorized, scalable, 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).
Year
Venue
Field
2018
arXiv: Computational Engineering, Finance, and Science
Kernel (linear algebra),Programming language,Fortran,Hardware abstraction,Legacy code,Artificial intelligence,Code refactoring,Physical phenomena,Machine learning,Mathematics,Scalability
DocType
Volume
Citations 
Journal
abs/1810.07026
0
PageRank 
References 
Authors
0.34
0
2
Name
Order
Citations
PageRank
Markus Höhnerbach1164.35
Paolo Bientinesi244853.91