Charm + + & MPI : Combining the Best of Both Worlds

Charm + + & MPI : Combining the Best of Both Worlds
复制标题

魅力

DOI:
--
复制
发表时间:
2014
期刊:
影响因子:
--
通讯作者:
L. Kalé
L. Kalé
中科院分区:
--
文献类型:
--
作者:
Nikhil Jain;A. Bhatele;Jae;M. Adams;F. Miniati;Chao Mei;L. Kalé

文献摘要

被引文献

相似文献

MPI和Charm++体现了编写并行程序的两种不同视角。MPI为开发并行代码提供了一个以处理器为中心、用户驱动的模型,而Charm++支持以工作为中心、基于过度分解的、系统驱动的并行编程。对于构成并行应用程序的不同模块,其中一个可以是最佳的或最自然的选择。在本文中,我们提出了一个框架,可以使用MPI和Charm++进行混合并行编程,并允许程序员使用这两种语言开发并行应用程序的不同模块,同时促进顺畅的互操作。我们描述了在MPI和Charm++之间实现互操作的挑战,并介绍了在这种情况下管理控制流和资源共享的技术。最后,我们通过使用生产应用程序和库(包括Charm /Chombo、episimdemic、NAMD、FFTW、MPI- io和ParMETIS)的几个案例研究,展示了MPI和Charm++之间互操作的好处。
MPI and Charm++ embody two distinct perspectives for writing parallel programs. While MPI provides a processor-centric, user-driven model for developing parallel codes, Charm++ supports work-centric, overdecompositionbased, system-driven parallel programming. One or the other can be the best or most natural fit for distinct modules that constitute a parallel application. In this paper, we present a framework that enables hybrid parallel programming with MPI and Charm++, 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 MPI and Charm++, and present techniques for managing the control flow and resource sharing in such scenarios. Finally, we demonstrate the benefits of interoperation between MPI and Charm++ through several case studies that use production applications and libraries, including CHARM/Chombo, EpiSimdemics, NAMD, FFTW, MPI-IO and ParMETIS.