Automatic MPI to AMPI Program Transformation using Photran
Workshop on Productivity and Performance at Euro-Par (PROPER) 2010
Publication Type: Paper
Repository URL: 201004_AMPIFlash
Abstract
Adaptive MPI, or AMPI, is an implementation of the Message Passing
Interface (MPI) standard. AMPI benefits MPI applications with
features such as dynamic load balancing, virtualization, and
checkpointing. Because AMPI uses multiple user-level threads per
physical core, global variables become an obstacle. It is thus
necessary to convert MPI programs to AMPI by eliminating global
variables. Manually removing the global variables in the program is
tedious and error-prone. In this paper, we present a Photran-based
tool that automates this task with a source-to-source
transformation that supports Fortran. We evaluate our tool on the
multi-zone NAS Benchmarks with AMPI. We also demonstrate the tool
on a real-world large-scale FLASH code and present preliminary
results of running FLASH on AMPI. Both results show significant
performance improvement using AMPI. This demonstrates that the tool
makes using AMPI easier and more productive.
TextRef
Stas Negara, Gengbin Zheng, Kuo-Chuan Pan, Natasha Negara, Ralph E. Johnson, Laxmikant V. Kale and Paul M. Ricker, "Automatic MPI to AMPI Program Transformationusing Photran", 3rd Workshop on Productivity and Performance (PROPER 2010)
People
Research Areas