mpiexec vs mpirun

DEV*_*DEV 48 mpi mpich mpiexec

根据我的小知识mpirun,mpiexec两者都是发射器.谁能告诉mpiexec和之间的确切区别mpirun

Hig*_*ark 49

mpiexec 在MPI标准中定义(至少是最近的版本),我会向您推荐(您最喜欢的搜索引擎会为您找到它们)以获取详细信息.

mpirun是由许多MPI实现实现的命令.然而,它从未被标准化,并且实现之间始终存在微妙的差异.有关详细信息,请参阅所选实施的文档.

是的,它们都用于启动MPI程序,这些日子mpiexec通常是优选的,因为它是标准化的.


Fra*_*coD 20

我知道问题已得到解答,但我认为答案不是最好的.我在这里用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/