1

我需要编写一个使用库的许多功能(特别是Parasail)的 C MPI 代码,但是我的集群有三个不同的处理器,一个带有 Intel Xeon 的前端,16 个带有 Intel i3 的节点和 8 个带有 Intel Pentium 的节点- D. 我应该如何编译这个库并编写 c 代码以在我的所有 24 个节点中运行?

我使用 OpenMPI 和 Rocks 发行版。

提前致谢。

4

1 回答 1

2

您有多种选择,其中一些取决于编译器:

  1. 专门为 Pentium-D 构建一个库(因为 ISA 向后兼容)
  2. 构建一个“胖二进制文件”,这是针对多种架构优化的单个二进制文件。它更大,但到处都能高效运行
  3. 为每个架构构建一个优化和共享的库,并将其安装在所有节点的本地文件系统上,因此每个节点将自动使用最适合的库

话虽如此,请记住大多数 MPI 应用程序以最慢节点的速度运行,因此一般来说,在新旧硬件上运行 MPI 应用程序不是最理想的。

于 2017-09-16T02:00:51.923 回答