3

只需学习在由约 100 个节点组成的超级计算机上编程,每个节点由 4 个 Xeon CPU 和 64GB 内存组成。

我想要做的是给每个节点分配作业,然后在每个节点上创建本地多线程程序,我想知道的是,默认情况下,当 MPI 创建一组进程时,每个节点之间是否存在 1-1 映射任务进程和一个特定的本地节点是否?(在我的例子中,它是一个由 4 个 Xeon CPU 组成的节点,总共有 24 个内核和 64GB 内存)。

4

1 回答 1

1

MPI 将在 N 个节点上运行 M 个进程,其中 M 可能小于、等于或大于 N。

该站点描述了设置。

我找不到您问题的直接答案,但互联网上有许多网站讨论process migrationcheckpointing. 但这些网站的总体主题似乎是,这仍然是一项正在进行中的工作。因此,我不希望这会在您的 MPI 实现中自动发生。

该站点讨论了MPI_GET_PROCESSOR_NAME可用于进程迁移的命令,但指出“MPI 中没有任何内容需要或定义进程迁移;MPI_GET_PROCESSOR_NAME 的定义只是允许这样的实现”。使用此命令,您至少可以检查您的代码是否正在被主动迁移。

于 2012-12-30T13:04:00.133 回答