如何运行一个外部库到不同的节点?[​​MPI]

How to run an external library into different nodes?[MPI]

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

我使用 OpenMPI 和 Rocks 发行版。

提前致谢。

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

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

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