我需要做一个关于 MPI 编程的演讲。我需要添加一个关于 MPI 如何在幕后工作的部分。例如,当我调用 MPI_Init 时会发生什么?
你知道我可以从哪里了解这些细节的任何好的来源吗?
我需要做一个关于 MPI 编程的演讲。我需要添加一个关于 MPI 如何在幕后工作的部分。例如,当我调用 MPI_Init 时会发生什么?
你知道我可以从哪里了解这些细节的任何好的来源吗?
MPI 规范包含对每个 API 的“黑匣子”外部的旋钮、滑块和显示器的描述。
黑匣子的内部细节将取决于实现......并且还将取决于互连(例如 TCP、IBV、DAPL 等)、操作系统(例如是使用 LSB 或本地库等的实现),以及许多其他因素在较小程度上(例如消息大小阈值将触发不同的代码路径,等等)。在 a.out 上使用“strace”和“ltrace”可以提供对黑盒内部实际情况的一些了解。
最好的建议是选择一个开源实现并检查代码以确定内部细节。
MPI 只是一个规范。MPI 规范由各种团体和组织实施。你会想要选择一种实现,比如 MPICH,你可以找到他们的设计文档。这将告诉您该组如何实施 MPI 规范。
如果您只想描述启动用 MPI 编写的应用程序时会发生什么,您可以阅读 MPI 和 MPI 编程。我强烈推荐http://www.citutor.org
补充您对 MPI 实现源代码的研究,并考虑如何在您选择的平台上实现 MPI_Init。MPI 位于已经可用的 O/S 功能之上。我并不是要建议您可以弄清楚如何通过这种方法实现特定版本的 MPI,而是建议您可以通过从另一个角度解决问题来更好地了解幕后发生的事情。