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

如何将外部库运行到不同的节点?[MPI],mpi,cluster-computing,openmpi,rocks,Mpi,Cluster Computing,Openmpi,Rocks,我需要编写一个使用库的许多函数的C MPI代码(特别是它的),但我的群集有三个不同的处理器,一个前端使用Intel Xeon,16个节点使用Intel i3,8个节点使用Intel Pentium-D。 我应该如何编译这个库并编写在所有24个节点中运行的c代码 我使用OpenMPI和Rocks分布 提前感谢。您有几个选项,其中一些依赖于编译器: 专门为奔腾D构建一个库(因为ISA是 向后兼容) 构建一个“胖二进制文件”,这是一个单二进制文件 针对多种体系结构进行了优化。它更大,但跑得更快 到处高

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

我使用OpenMPI和Rocks分布


提前感谢。

您有几个选项,其中一些依赖于编译器:

  • 专门为奔腾D构建一个库(因为ISA是 向后兼容)
  • 构建一个“胖二进制文件”,这是一个单二进制文件 针对多种体系结构进行了优化。它更大,但跑得更快 到处高效
  • 每个构建一个优化的共享库 体系结构并将其安装在所有 节点,因此每个节点将自动使用最适合的节点

  • 尽管如此,请记住大多数MPI应用程序都以最慢节点的速度运行,因此一般来说,在旧硬件和新硬件上运行MPI应用程序是次优的。

    您应该参考集群的文档。如果不知道更多关于基础设施的细节,这是无法回答的。没有集群文档,我的意思是,它是实验室的25台计算机,我们安装了Rocks plataform。我能看到的唯一文档是Rocks文档和OpenMPI文档。你指的是那个文件吗?