如何运行一个外部库到不同的节点?[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 发行版。
提前致谢。
您有多种选择,其中一些取决于编译器:
- 专门为 Pentium-D 构建一个库(因为 ISA 是
向后兼容)
- 构建一个"fat binary",这是一个单一的二进制文件
针对多种架构进行了优化。它更大,但是 运行
处处高效
- 构建一个优化的共享库per
architecture 并将其安装在所有的本地文件系统上
节点,因此每个节点都会自动使用最适合的节点
话虽这么说,请记住大多数 MPI 应用程序 运行 以最慢节点的速度运行,因此一般来说,运行在新旧硬件上运行 MPI 应用程序并不是最佳选择。
我需要编写一个 C MPI 代码,它使用库的许多功能(具体来说,它是 Parasail),但我的集群具有三个不同的处理器,一个前端采用 Intel Xeon,16 个节点具有Intel i3 和带有 Intel Pentium-D 的 8 个节点。 我应该如何编译这个库并将 c 代码写入我所有 24 个节点中的 运行?
我使用 OpenMPI 和 Rocks 发行版。
提前致谢。
您有多种选择,其中一些取决于编译器:
- 专门为 Pentium-D 构建一个库(因为 ISA 是 向后兼容)
- 构建一个"fat binary",这是一个单一的二进制文件 针对多种架构进行了优化。它更大,但是 运行 处处高效
- 构建一个优化的共享库per architecture 并将其安装在所有的本地文件系统上 节点,因此每个节点都会自动使用最适合的节点
话虽这么说,请记住大多数 MPI 应用程序 运行 以最慢节点的速度运行,因此一般来说,运行在新旧硬件上运行 MPI 应用程序并不是最佳选择。