是否可以使用Op MPI.MAX/MAXLOC应用Open MPI Reduce操作来找到向量的上确界范数



我需要找到向量的上确界范数(向量的最大元素(。我可以使用mpi4py的线性代数库的范数函数来实现。

x = np.linspace(0, 100, n)
mxnorm_x = norm(x, np.inf)
print "mxnorm-x", mxnorm_x

然而,我需要使用MPI-Reduce操作来找到这个上确界范数。真的有可能使用comm.Ruce和Op MAX或MAXLOC找到这个规范吗?

我自己找到了解决方案。这是更新-

#divide up/ scatter the vector to all the process as sub vectors 
comm.Scatterv([x, sendTuple, disTuple, MPI.DOUBLE], local_x)
#compute max of that sub-vector (local_x)
local_max = np.max(local_x)
#find overall MAX
comm.Reduce(local_max, max, op = MPI.MAX)
#data will be stored in max
print "Maximum Value:", max[0]

最新更新