Automatic MPI to AMPI Program Transformation
Charm++ Workshop 2010
Publication Type: Paper
Repository URL: 201003_AMPIFlash
Adaptive MPI is an implementation of the Message Passing Interface (MPI) standard. AMPI benefits MPI programs with features such as dynamic load balancing, virtualization, and checkpointing. AMPI runs each MPI process in a user-level thread, therefore causing problems when an MPI program has global variables. Manually removing the global variables in the program is tedious and error-prone. In this paper, we present a tool that automates this task with a source-to-source transformation that supports Fortran. We evaluate our tool on a real-world large-scale FLASH code and present preliminary results of running FLASH on AMPI. Our results demonstrate that the tool makes it easier to use AMPI.
Stas Negara, Kuo-Chuan Pan, Gengbin Zheng, Natasha Negara, Ralph E. Johnson, Laxmikant V. Kale and Paul M. Ricker, "Automatic MPI to AMPI Program Transformation", PPL Technical Report, 2010