Implementing a neural network interatomic model with performance portability for emerging exascale architectures (2002.00054v3)
Abstract: The two main thrusts of computational science are more accurate predictions and faster calculations; to this end, the zeitgeist in molecular dynamics (MD) simulations is pursuing machine learned and data driven interatomic models, e.g. neural network potentials, and novel hardware architectures, e.g. GPUs. Current implementations of neural network potentials are orders of magnitude slower than traditional interatomic models and while looming exascale computing offers the ability to run large, accurate simulations with these models, achieving portable performance for MD with new and varied exascale hardware requires rethinking traditional algorithms, using novel data structures, and library solutions. We re-implement a neural network interatomic model in CabanaMD, an MD proxy application, built on libraries developed for performance portability. Our implementation shows significantly improved on-node scaling in this complex kernel as compared to a current LAMMPS implementation, across both strong and weak scaling. Our single-source solution results in improved performance in many cases, with thread-scalability enabling simulations up to 21 million atoms on a single CPU node and 2 million atoms on a single GPU. We also explore parallelism and data layout choices (using flexible data structures called AoSoAs) and their effect on performance, seeing up to ~25% and ~10% improvements in performance on a GPU simply by choosing the right level of parallelism and data layout, respectively.