首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenMPI为特定节点指定可执行文件

OpenMPI为特定节点指定可执行文件
EN

Stack Overflow用户
提问于 2017-09-24 20:55:20
回答 1查看 1K关注 0票数 0

我有一个异构计算集群,我希望在使用OpenMPI时运行并行计算任务。由于集群中的所有节点都不能运行相同的可执行文件(由于是异构的),所以我希望某些节点编译自己版本的程序,并让Open在这些节点上调用该可执行文件。我的第一个问题是OpenMPI是否支持跨异构体系结构的这种计算。

如果是这样,我的第二个问题是如何指定在哪个节点上运行哪些可执行文件。例如,假设node0node1node2可以运行可执行文件prog1node3node4node5可以运行可执行文件prog2,其中prog1prog2是相同的程序,但是使用mpiccmpic++包装编译器编译不同的体系结构。

如果我想在所有节点上并行运行该程序,我将执行以下操作:

mpirun -n 3 --hosts node0,node1,node2 prog1 : -n 3 --hosts node3,node4,node5 prog2

如果没有,我将做什么来达到这个效果呢?This post表示OpenMPI支持异构集群计算,但我必须使用--enable-heterogeneous标志构建OpenMPI。我不知道如何做到这一点,因为我的集群正在运行ArchLinux,我用pacman安装了OpenMPI。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-25 06:01:09

注意,有一个错误(--host不需要结束s),所以您的命令应该是

代码语言:javascript
复制
mpirun -n 3 --host node0,node1,node2 prog1 : -n 3 --host node3,node4,node5 prog2

--enable-heterogeneous是必需的,因此开放MPI可以在异构系统上运行(例如在Intel x86_64 (小endian)和sparcv9 (大端)节点之间)。如果OpenMPI (随ArchLinux一起来)没有配置此标志,那么您应该重新构建这个包。另一种选择是重新构建Open并将其安装到另一个目录中。

最后但并非最不重要的一点是,异构支持是(非常)容易测试的,我强烈鼓励您使用最新的OpenMPI3.0系列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46394767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档