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
。
我做错了什么?非常感谢您的帮助。