我想通過mpi4py在一些處理器中分割大量的單個任務。 下面的例子可能說明我的意圖:使用mpi4py分割x個任務(x >> n)使用mpi4py
from mpi4py import MPI
import numpy
from numpy import random
comm=MPI.COMM_WORLD
rank=comm.Get_rank()
size=comm.Get_size()
def doSomething(x):
return numpy.sum(x)
if rank==0:
v=random.random((3,3))
print 'thats v_random:\n', v
for i in range(len(v)):
comm.send(v[i],dest=i)
data=comm.recv(source=0)
print 'my rank is {0} and my output is {1}\n'.format(rank,doSomething(data))
至於我與LEN執行它(五)==特效的數量,一切都很好。 但是例如當v = random.random((100,3))時,它顯然不起作用。這通常如何完成?
在此先感謝。