Title :
Charm++ and MPI: Combining the Best of Both Worlds
Author :
Jain, Nikhil ; Bhatele, Abhinav ; Jae-Seung Yeom ; Adams, Mark F. ; Miniati, Francesco ; Chao Mei ; Kale, Laxmikant V.
Author_Institution :
Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
Abstract :
Charm++ and MPI embody two distinct perspectives for writing parallel programs. While MPI provides a process-centric, user-driven model for developing parallel codes, Charm++ supports work-centric, system-driven parallel programming. One of them might be a better or more natural fit for individual modules that constitute a parallel application. In this paper, we present a framework that enables hybrid parallel programming with Charm++ and MPI, and allows programmers to develop different modules of a parallel application in these two languages while facilitating smooth interoperation. We describe the challenges in enabling interoperation between Charm++ and MPI, and present techniques for managing the control flow and resource sharing between the two. Finally, we demonstrate the benefits of interoperation between Charm++ and MPI through several case studies that use production applications and libraries, including CHARM/Chombo, EpiSimdemics, NAMD, FFTW, MPI-IO and ParMETIS.
Keywords :
application program interfaces; message passing; open systems; parallel programming; CHARM/Chombo; Charm++; EpiSimdemics; FFTW; MPI-IO; NAMD; ParMETIS; control flow; hybrid parallel programming; interoperation; parallel code; resource sharing; system-driven parallel programming; Libraries; Parallel programming; Process control; Productivity; Runtime; Writing; Charm++; Coexistence; Interoperation; MPI;
Conference_Titel :
Parallel and Distributed Processing Symposium (IPDPS), 2015 IEEE International
Conference_Location :
Hyderabad
DOI :
10.1109/IPDPS.2015.102