Optimizing AIREBO: Navigating the Journey from Complex Legacy Code to High Performance

10/16/2018
by   Markus Höhnerbach, et al.
0

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).

READ FULL TEXT

page 12

page 15

research
08/25/2022

Understanding the Power of Evolutionary Computation for GPU Code Optimization

Achieving high performance for GPU codes requires developers to have sig...
research
04/09/2021

High Performance Implementation of Boris Particle Pusher on DPC++. A First Look at oneAPI

New hardware architectures open up immense opportunities for supercomput...
research
12/03/2019

An Empirical Investigation of Correlation between Code Complexity and Bugs

There have been many studies conducted on predicting bugs. These studies...
research
06/06/2023

Large Language Models of Code Fail at Completing Code with Potential Bugs

Large language models of code (Code-LLMs) have recently brought tremendo...
research
03/09/2022

Exoshuffle: Large-Scale Shuffle at the Application Level

Shuffle is a key primitive in large-scale data processing applications. ...
research
06/13/2018

SIMD Vectorization for the Lennard-Jones Potential with AVX2 and AVX-512 instructions

This work describes the SIMD vectorization of the force calculation of t...
research
11/14/2022

Disentangling Flaws in Linux DCTCP

In the process of testing improvements to the Linux DCTCP code in variou...

Please sign up or login with your details

Forgot password? Click here to reset