Automatic MPI to AMPI program transformation using photran

  • Authors:
  • Stas Negara;Gengbin Zheng;Kuo-Chuan Pan;Natasha Negara;Ralph E. Johnson;Laxmikant V. Kalé;Paul M. Ricker

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL;Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL;Department of Astronomy, University of Illinois at Urbana-Champaign, Urbana, IL;Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada;Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL;Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL;Department of Astronomy, University of Illinois at Urbana-Champaign, Urbana, IL

  • Venue:
  • Euro-Par 2010 Proceedings of the 2010 conference on Parallel processing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

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.