首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行带2个内核/4个线程的mpirun

运行带2个内核/4个线程的mpirun
EN

Stack Overflow用户
提问于 2019-06-01 01:33:43
回答 1查看 426关注 0票数 0

我使用mpirun来调用一个openMDAO代码,它使用一个包含4个子系统的并行组。我可以成功地从终端调用代码,如下所示。

代码语言:javascript
复制
mpirun -n 2 python modified_objective.py

然而,由于我的pc有2个核心/4个线程,我想使用所有4个线程来加速我的代码。但我得到一个错误如下:

系统中没有足够的插槽来满足应用程序请求的4个插槽: python。要么为您的应用程序请求更少的插槽,要么让更多的插槽可用。

我在网上发现的工作之一是使用文本文件,如下所示:

代码语言:javascript
复制
rank 0=localhost slot=0:0
rank 1=localhost slot=0:0
rank 2=localhost slot=0:1
rank 3=localhost slot=0:1

然后按如下方式调用代码:

代码语言:javascript
复制
mpiexec -np 4 -H localhost -rf rankfile python modified_objective.py

但这似乎行不通。还有其他方法我可以使用所有的四个核心吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-06-01 02:31:10

解决方案取决于您所拥有的特定MPI实现。这根本不是一个OpenMDAO问题,而是MPI库的一个问题。您似乎已经看到了这一点,因为您正在尝试提供一个主机文件。

不过,我觉得你选择错了。尝试:

代码语言:javascript
复制
mpiexec -np 4 -H localhost --hostfile rankfile python modified_objective.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56403246

复制
相关文章

相似问题

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