【问题标题】:Set number of processors for openmpi为 openmpi 设置处理器数量
【发布时间】:2013-02-20 17:41:49
【问题描述】:

目前我正在使用这样的东西来运行一个 c++ 程序:

mpirun -np 4 ./test

这很好用,但问题是我正在用 Python 包装 c++ 程序。所以我想在Python中设置处理器的数量并传递给c++程序。

是否可以设置使用的处理器数量,例如作为C++代码中的固定值而不使用命令行?一个简单的例子是什么样子的?

【问题讨论】:

  • 我发现您无法在 c++ 程序中设置处理器的数量,因为 mpirun 会生成程序的各种副本,而不是程序自己生成它们。但是,如果您使用 OpenMP 和生成线程,则可以这样做。另一种可能性是 Python 的子进程模块。

标签: numbers wrapper openmpi processors


【解决方案1】:

通过 -np N ,您设置进程数,而不是处理器数。根据您在执行期间提供的标志或排名文件(如果您正在使用),处理器被进一步分配给每个进程。如果您专注于 Python 和 C++ 交互,我认为应该有一种方法可以调用 cmd 函数,例如 exec()。您可以轻松地在系统命令行上调用您想要执行的任何内容!

【讨论】:

    猜你喜欢
    • 2015-05-06
    • 2013-07-10
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2011-02-06
    • 2017-12-31
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多