我正在尝试使用Bcast()在每一步广播一个递归变化的numpy数组。我的代码如下所示:
gn_forecast =np.empty((4*p,1), dtype=np.float64)
if (rank == 0):
gn_forecast = np.zeros((4*p,1), dtype=np.float64)
if (rank ==0):
count = 0
for l in range(p):
for k in range(4):
gn_forecast[count] = (history[k][len(history[k])-l-1])
count+=1
comm.Bcast(gn_forecast,root=0)
当我使用Bcast()时。我遇到了死锁,因为我没有错误,脚本没有完成。 谁能明白为什么?
答案 0 :(得分:0)
您没有正确使用ReportViewer
。作为第一个参数,您应该提供一个列表,其中numpy数组作为第一个元素(Bcast
),MPI类型作为第二个元素。在您的情况下,它是gn_forecast
。
我简化了代码的序列部分,以下是我的工作:
MPI.DOUBLE