1
我想用mpi4py的sendrecv()傳遞一個字典obj。python MPI sendrecv()傳遞一個python對象
from mpi4py import MPI
comm=MPI_COMM_WORLD
rnk=comm.Get_rank()
size=comm.Get_size()
idxdict={1:2}
buffer=None
comm.sendrecv(idxdict,dest=(rnk+1)%size,sendtag=rnk,recvobj=buffer,source=(rnk-1+size)%size,recvtag=(rnk-1+size)%size)
idxdict=buffer
如果我在最後一步打印idxidct
,我會得到一堆「無」 S,所以詞典idxdict
沒有核心之間通過。如果我使用字典作爲緩衝區:buffer={}
,那麼有typeerror:TypeError: expected a writeable buffer object
。
我做錯了什麼?非常感謝您的幫助。