我正在编写一个 mpi python 代码。例如,四个 proc 的数据如下:
data on procs0: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0]
data on procs1: [0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 0]
data on procs2: [0, 0, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0]
data on procs3: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12]
我想在 mpi4py 库中使用 reduce 函数来减少 procs0 上的数据,结果:
result on procs0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
如何使用 mpi4py lib 函数实现它?
编辑:上面是一个简单的特殊情况,set不能用,看下面的另一种情况:
data on procs0: [1,0,0,0,0,0]
data on procs1: [0,2,0,0,0,0]
data on procs2: [0,0,0,3,0,0]
data on procs3: [0,0,0,0,4,5]
理想的结果必须是:
result on procs0: [1,2,0,3,4,5]