我有这个奇怪的问题,我不知道如何解决,我会感激一些帮助...
我在多台本地连接的计算机上运行Windows 7,这些计算机安装了MPICH(版本1.4.1p1)。我已经检查过标准的cpi.exe示例适用于每台计算机。但是,在多台机器上进行测试时,我发现了一个奇怪的问题。假设我有三台机器:localhost,HOST1,HOST2。
如果我执行以下命令(来自localhost)
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 :(得分:0)
好的,解决了我自己的问题 - 基本上我在HOST1上添加了cpi.exe程序的异常,但在HOST2上没有。解决方案是确保将异常添加到BOTH机器中!