Abstract
Highly-optimized parallel molecular dynamics programs have, in recent years, allowed researchers to achieve ground-breaking results in biological and materials sciences. This type of performance has come at the expense of portability: a significant effort is required for performance optimization on each new architecture. Using a metric that emphasizes speedup and time-to-solution, we analyze the code-bases and performance portabilities of four different high-performing molecular dynamics programs-- GROMACS, NAMD, LAMMPS and CP2K-- each having a particular scope of application. We find that for all four programs, the contributions of the non-portable components to speed are essential to the programs' performances; without them we see a reduction in time-to-solution of a magnitude that is insufferable to domain scientists. We discuss possible solutions to this difficult problem, which must come from developers, industry and funding institutions, and possibly new developments in programming languages.