mpiexec

更新时间: 2014年1月

应用到: Microsoft HPC Pack 2008, Microsoft HPC Pack 2008 R2, Microsoft HPC Pack 2012, Microsoft HPC Pack 2012 R2, Windows HPC Server 2008, Windows HPC Server 2008 R2

启动应用程序。

有关如何使用此命令的示例,请参见示例

mpiexec [/configfile <file_name>] [/np {<num>|*}] [/machinefile <file_name> 
[/host <host_name>] [/hosts <num> <host1> [num1] <host2> [num2] ... <hostn> [numn]]
[/cores <num>] [/affinity] [/wdir <working_dir>] [/env <env_var_name> <env_var_value>] 
[/genvlist <env_var1>[,<env_var2>...]][/exitcodes] [/priority {0|1|2|3|4}]
[/port <port>] [/path <path1>[;<path2>...]][/timeout <seconds>] [/job <string>]
[/lines] [/t [(<filter1>,<filter2>...)]][/tracefile <file_name>] [/debug [{0|1|2|3}]]
<application> [<arguments>]

 

参数 说明

/configfile <file_name>

从指定的文件读取 mpiexec 命令行。文件中的行是以下格式的命令行部分:

[options] <application> [arguments]

命令可能跨多个行,行的结尾是“\”。注释是从“#”到行结尾,空行将被忽略。

/np {<num>|*}

指定要运行的进程数。星号表示使用所有可用的内核,或者如果指定了多个部分,将使用其余可用的内核。如果不使用 /np 参数,则等同于使用 /np *

/machinefile <file_name>

从指定的文件读取要在其上运行应用程序的节点的列表。格式是每个主机一行,后跟内核数(可选)。

注释是从“#”到行结尾,空行将被忽略。/np * 选项使用文件中的内核总数。

/host <host_name>

启动指定主机上的应用程序。/np * 选项使用 1 个内核。

/hosts <num> <host1> [num1] <host2> [num2] ... <hostn> [numn]

指定主机数,然后列出每个节点以及要在该节点上运行的进程数(可选)。

/cores <num>

将每个主机设置为指定的内核数。此选项将覆盖所有部分中由 /hosts/machinefile 选项为主机指定的内核数。

/affinity

将每个已启动进程的关联掩码设置到一个内核。

/wdir <working_dir>

指定要使用的工作目录。可以是本地或远程路径。此参数与 /dir 等效。

/env <env_var_name> <env_var_value>

为调用的应用程序设置环境变量。

如需环境变量的列表,请运行 mpiexec /help3

/genvlist <env_var1>[,<env_var2>...]

将指定环境变量的值传递给已启动的进程。列表是逗号分隔的环境变量名称列表。

如需环境变量的列表,请运行 mpiexec /help3

/exitcodes

在运行结束时打印进程退出代码。

/priority {0|1|2|3|4}

设置进程启动优先级类。默认的优先级是“正常”。优先级值包括:

  • 0 - 空闲

  • 1 - 较低

  • 2 - 正常

  • 3 - 较高

  • 4 - 最高

/port <port>

指定 smpd 侦听的端口。

/path <path1> [;<path2>...]

指定应用程序在目标主机上的一个或多个搜索路径。若要指定多个路径,请使用分号分隔各个路径。请勿替换或追加 PATH 环境变量。

/timeout <seconds>

设置作业的超时。

/job <string>

将 MPI 作业与 Windows HPC 作业计划程序服务创建的作业相关联。该字符串将由 HPC 节点管理器服务传递到 mpiexec

/lines

使用进程级别作为输出的前缀。

/trace [(<filter1>,<filter2>...)]

跟踪应用程序的所有 Microsoft 消息传递接口 (MS-MPI) 事件。还可以指定跟踪筛选器,以便只跟踪关注的事件。使用包含在括号中的逗号分隔列表,列出事件筛选器或其等效的十六进制值。事件组在 %CCP_HOME%\bin\ 文件夹的 mpitrace.mof 文件中定义。

默认情况下,跟踪日志将写入到每个节点上用户的配置文件目录中。使用 /tracefile 指定备用的追踪文件。

筛选器列表可以包含以下任意组合:

  • (all) = 0xffffffff

  • (api,interconn)

  • (api) = 0x7fff

  • (pt2pt,poll,coll,rma,comm,errh,group,attr,dtype,io,topo,init,info,misc)

  • (interconn) = 0xf8000

  • (icsock,icshm,icnd)

/tracefile <file_name>

指定备用的跟踪文件名称。默认值为 %USERPROFILE%\mpi_trace.etl。

在 Windows HPC Server 环境中使用时,jobid.taskid.taskinstanceid 将追加到默认名称上。如果未使用 /trace 指定筛选器,跟踪筛选器将设置为所有跟踪事件。

/debug [{0|1|2|3}]

将调试输出打印到标准错误文件中。默认值为 3。调试值包括:

  • 0 - 无

  • 1 - 错误

  • 2 - 调试

  • 3 - 二者

<application>[<arguments>]

指定要启动的应用程序以及任何所需参数。

/?, /help

显示 mpiexec 命令行的常用参数列表。

/??, /help2

显示 mpiexec 命令行的所有参数描述和示例。

/help3

列出环境变量。

/genv/gpath/gdir/gwdir/ghost/gmachinefile 是相应选项的全局版本,可以影响命令行的所有部分。

若要在本地的四核主机上运行四个 app1 进程,请使用以下命令之一:

mpiexec app1
mpiexec /np * app1

若要在本地的四核主机上运行一个主进程和三个工作进程,请使用以下命令(请注意,如果不使用 /np,则等同于使用 /np *):

mpiexec /np 1 master :worker

若要在 myhosts.txt(列出四个八核主机)列出的主机上运行一个主进程和 31 个工作进程,请使用以下命令:

mpiexec /gmachinefile myhosts.txt /np 1 master :worker

若要追踪两个 app1 进程正在进行的点对点和集合式 MPI 调用,以及 MPI 生成的互连通信,请使用以下命令:

mpiexec /trace (pt2pt,coll,interconn) /np 2 app1

显示: