2014-10-06 36 views
0

我有,我不知道如何解决,我希望得到一些帮助,这个奇怪的问题......MPICH在Windows上 - 信号灯超时时间已过期

我在多个本地连接运行Windows 7机器,安装有MPICH(版本1.4.1p1)。我已检查标准cpi.exe示例适用于每台机器。但是,在多台机器上测试时,我发现了一个奇怪的问题。假设我有三台机器:localhost,HOST1,HOST2。

如果我执行以下命令(从本地主机)

mpiexec -n 2 -host HOST1 .\cpi.exe

mpiexec -n 2 -host HOST2 .\cpi.exe

mpiexec -n 2 -host HOST1 .\cpi.exe : -n 2 -host HOST2 .\cpi.exe

然后他们执行精细。但是,如果我换周围的最后一个主机的顺序,即

mpiexec -n 2 -host HOST2 .\cpi.exe : -n 2 -host HOST1 .\cpi.exe

然后我收到以下错误:

Fatal error in PMPI_Bcast: Other MPI error, error stack: PMPI_Bcast(1478)......................: MPI_Bcast(buf=0018FE48, count=1, MPI_INT , root=0, MPI_COMM_WORLD) failed MPIR_Bcast_impl(1321).................: MPIR_Bcast_intra(1119)................: MPIR_Bcast_scatter_ring_allgather(962): MPIR_Bcast_binomial(213)..............: Failure during collective MPIR_Bcast_scatter_ring_allgather(955): MPIR_Bcast_binomial(189)..............: MPIC_Send(66).........................: MPIC_Wait(540)........................: MPIDI_CH3I_Progress(402)..............: MPID_nem_mpich2_blocking_recv(905)....: MPID_nem_newtcp_module_poll(37).......: MPID_nem_newtcp_module_connpoll(2656).: gen_cnting_fail_handler(1739).........: connect failed - The semaphore timeout p eriod has expired. (errno 121)

在后一种情况下,如果我转HOST2上的防火墙关闭,然后工作。不幸的是,我对防火墙和网络的体验很少,所以我不知道如何解决这个问题。

我唯一能弄明白的是,它在第​​一次集体MPI呼叫(广播)上失败了。

请帮忙!

回答

0

好的,解决了我自己的问题 - 基本上我为HOST1上的cpi.exe程序添加了一个异常,但在HOST2上添加了一个异常。解决方案是确保例外被添加到两台机器!

相关问题