From MPI to OpenSHMEM: Porting LAMMPS
CY Tang and A Bouteiller and T Herault and MG Venkata and G Bosilca, OPENSHMEM AND RELATED TECHNOLOGIES: EXPERIENCES, IMPLEMENTATIONS, AND TECHNOLOGIES, OPENSHMEM 2015, 9397, 121-137 (2015).
This work details the opportunities and challenges of porting a Petascale, MPI-based application -LAMMPS- to OpenSHMEM. We investigate the major programming challenges stemming from the differences in communication semantics, address space organization, and synchronization operations between the two programming models. This work provides several approaches to solve those challenges for representative communication patterns in LAMMPS, e.g., by considering group synchronization, peer's buffer status tracking, and unpacked direct transfer of scattered data. The performance of LAMMPS is evaluated on the Titan HPC system at ORNL. The OpenSHMEM implementations are compared with MPI versions in terms of both strong and weak scaling. The results outline that OpenSHMEM provides a rich semantic to implement scalable scientific applications. In addition, the experiments demonstrate that OpenSHMEM can compete with, and often improve on, the optimized MPI implementation.
Return to Publications page