强制MPI不使用网络适配器

时间:2014-11-07 02:02:13

标签: mpich

我正在使用阿贡国家实验室的MPICH2进行多程序计算。运行在一台计算机上,因此使用-localonly mpiexec选项。通常一切正常。

如果在运行开始时启用了网络适配器,并且在运行期间禁用了该网络适配器,则运行失败并显示错误消息:

op_read error on left context: Error = -1

op_read error on parent context: Error = -1

unable to read the cmd header on the left context, Error = -1
.
unable to read the cmd header on the parent context, Error = -1
.
Error posting readv, An existing connection was forcibly closed by the remote host.(10054)
connection to my parent broken, aborting.
state machine failed.

但是,如果在运行开始时禁用了网络适配器,我可以根据需要多次启用/禁用适配器,并且运行仍会继续到最后。

有没有办法运行mpiexec或修改smpd配置,以便MPICH2没有使用网络适配器进行本地运行的进程间通信,即使适配器在跑开始?

更新

该平台是Windows 7 Professional。

MPICH2的版本是1.4.1(32位),这是我能找到的MPICH2的最新版本。

1 个答案:

答案 0 :(得分:0)

正如mailing list上发布的那样,您使用的是非常旧版本的MPICH。您应该更新到自动完成所有这些操作的较新版本。

更新:正如已经指出的那样,在Windows上,不可能将MPICH更新到1.4.1之后。除此之外,您应该使用MS-MPI或英特尔MPI。