【发布时间】:2012-09-13 09:17:12
【问题描述】:
我的问题比较简单,MPI_Scatter 函数定义是:
#include <mpi.h>
void MPI::Comm::Scatter(const void* sendbuf, int sendcount,
const MPI::Datatype& sendtype, void* recvbuf,
int recvcount, const MPI::Datatype& recvtype,
int root) const
'sendcount' 和 'sendtype' 是多余的吗? 在哪种情况下会发生:sendcount!=recvcount?
编辑: 也许需要对这个问题进行一些澄清。我知道原因可能是,对于根来说,数据是一些“结构 X”,而对于接收者来说,数据是一些“结构 Y”,这在某种程度上也是有意义的(这一切都符合“好的”)。
如果是这样的话...我不明白为什么需要再说一遍预期要接收的数据的总大小与发送的数据大小相同。如果只是投射数据视图的问题,我只会进行投射。其实缓冲区就是一个(void *)。
【问题讨论】: