SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada

The Rapid Alloy Method for Producing Accurate, General Empirical potential generation toolkit (RAMPAGE) is a program for fitting multicomponent interatomic potential functions for metal alloys. In this paper, we describe a collaborative effort between domain scientists and performance engineers to improve the parallelism, scalability, and maintainability of the code. We modified RAMPAGE to use the Message Passing Interface (MPI) for communication and synchronization, to use more than one MPI process when evaluating candidate potential functions, and to have its MPI processes execute functionality that was previously executed by external non-MPI processes. We ported RAMPAGE to run on the Eos and Titan Cray systems of the United States Department of Energy (DOE)‘s Oak Ridge Leadership Computing Facility (OLCF), and the Cori and Edison systems at the DOE’s National Energy Research Scientific Computing Center (NERSC). Our modifications resulted in a $7\times$ speedup on 8 Eos system nodes, and scalability up to 2048 processes on the Cori system with Intel Knights Landing processors. To improve maintainability of the RAMPAGE source code, we introduced several software engineering best practices to the RAMPAGE developers’ workflow.

#### Mon 23 Oct

 10:30 - 12:00: SEPS 2017 - Session2: Software performance engineering at Brighton Chair(s): Pablo de Oliveira Castro 10:30 - 11:00Talk MALT, A Malloc Tracker 11:00 - 11:30Talk Performance Analysis and Optimization of the RAMPAGE Metal Alloy Potential Generation Software 11:30 - 12:00Talk The Influence of HPCToolkit and Score-P on Hardware Performance Counters