我正在使用阿贡国家实验室的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的最新版本。
答案 0 :(得分:0)
正如mailing list上发布的那样,您使用的是非常旧版本的MPICH。您应该更新到自动完成所有这些操作的较新版本。
更新:正如已经指出的那样,在Windows上,不可能将MPICH更新到1.4.1之后。除此之外,您应该使用MS-MPI或英特尔MPI。