【问题标题】:mpiexec vs mpirunmpiexec 与 mpirun
【发布时间】:2014-10-06 22:05:11
【问题描述】:

据我所知,mpirunmpiexec 都是启动器。谁能说出mpiexecmpirun 之间的确切区别?

【问题讨论】:

  • mpiexec 例如似乎接受主机名文件中的表示法 host:num_processes 而 mpirun 似乎不接受(至少不适用于 mvapich2)

标签: mpi mpich mpiexec


【解决方案1】:

mpiexec 是在 MPI 标准中定义的(嗯,至少是最近的版本),我建议您参考那些(您最喜欢的搜索引擎会为您找到它们)以了解详细信息。

mpirun 是由许多 MPI 实现实现的命令。然而,它从来没有被标准化过,而且实现之间总是存在着细微的差异。有关详细信息,请参阅您选择的实现的文档。

是的,它们都用于启动 MPI 程序,现在mpiexec 通常更可取,因为它是标准化的。

【讨论】:

    【解决方案2】:

    我知道问题已得到解答,但我认为答案不是最好的。我在这里使用 mpirun 在集群上遇到了一些问题,并查看了 mpirun 和 mpiexec 之间是否存在差异。这是我发现的:

    说明

    Mpiexec 是脚本 mpirun 的替代程序,它是脚本的一部分 mpich 包。它用于从以下位置初始化并行作业 在 PBS 批处理或交互式环境中。 Mpiexec 使用任务 PBS 的管理器库,用于在节点上生成可执行文件的副本 在 PBS 分配中。

    使用 mpiexec 而不是脚本 (mpirun) 或外部 守护进程(mpd):

    • 使用 TM 界面启动任务比为每个进程调用单独的 rsh 或 ssh 快得多。
    • 生成的进程使用的资源使用 mpiexec 正确计算,并在 PBS 日志中报告,因为所有进程 的并行作业仍然在 PBS 的控制下,与使用时不同 启动脚本,例如 mpirun。
    • 超过分配的 CPU 时间、挂钟时间、内存使用或磁盘空间限制的任务将被 PBS 彻底终止。它是 进程很难逃脱资源管理器的控制 使用 mpiexec 时。
    • 您可以使用 mpiexec 来强制执行安全策略。如果所有作业都需要使用 mpiexec 和 PBS 执行环境启动, 无需启用对计算节点的 rsh 或 ssh 访问 在集群中。

    参考:https://www.osc.edu/~djohnson/mpiexec/

    【讨论】:

      猜你喜欢
      • 2014-10-20
      • 2013-10-05
      • 2016-09-19
      • 2013-05-12
      • 1970-01-01
      • 2019-01-24
      • 2013-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多