3.4 Techniques for Enabling Interoperability Between Existing Fortran Codes and Hpx, a Next-generation C++ Based Parallel Runtime System

Thursday, 14 January 2016: 2:15 PM
Room 344 ( New Orleans Ernest N. Morial Convention Center)
Zachary D. Byerly, Louisiana State University, Baton Rouge, LA; and S. Brus and A. Schäfer

Many HPC applications developed over the past couple of decades have used Fortran and MPI-based parallelization. As the size of today's HPC resources continues to increase, these codes struggle to efficiently utilize the billion-way parallelism of these platforms. Rewriting these codes from scratch to use next-generation parallel programming techniques would be time-consuming and error-prone. We present a method used to modify an existing Fortran code, DGSWEM (Discontinuous Galerkin Shallow Water Equation Model), which allows it to take advantage of the new programming models used by the next-generation parallel runtime system HPX. We also use LGD (LibGeoDecomp), an auto-parallelization library written in c++. Our goal was to make as few modifications to the DGSWEM Fortran source code as possible, minimizing the chances of introducing bugs and reducing the amount of re-verification that needed to be done. We present results comparing performance of the new DGSWEM/LGD/HPX code to the MPI-only DGSWEM code and a "hybrid" MPI/OpenMP version.
- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner