mpi4py Bcast()死锁

时间:2018-04-16 18:51:05

标签: python python-3.x parallel-processing mpi4py

我正在尝试使用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()时。我遇到了死锁,因为我没有错误,脚本没有完成。 谁能明白为什么?

1 个答案:

答案 0 :(得分:0)

您没有正确使用ReportViewer。作为第一个参数,您应该提供一个列表,其中numpy数组作为第一个元素(Bcast),MPI类型作为第二个元素。在您的情况下,它是gn_forecast

我简化了代码的序列部分,以下是我的工作:

MPI.DOUBLE