您的位置:首页 > 其它

[MPI] MPI 组通信 -- 组收集

2012-10-09 20:12 162 查看
学习资料 《高性能计算之并行编程技术 -- MPI并行程序设计》 (都志辉)

学习笔记

MPI_GATHER是将数据收集到ROOT进程,而MPI_ALLGATHER相当于每一个进程都作为ROOT执行了一次MPI_GATHER调用, 即每一个进程都收集到了其他所有进程的数据。

函数:

int MPI_Allgather(void* sendbuf, int sendcount, MPI_Datatype sendtype, void* recvbuf, int recvcount, MPI_Datatype recvtype,

MPI_Comm comm)

sendbuf 发送消息缓冲区的起始地址(可选数据类型)

sendcount 发送消息缓冲区中的数据个数(整型)

sendtype 发送消息缓冲区中的数据类型(句柄)

recvbuf 接收缓冲区的起始地址(可选数据类型)

recvcount 从其它进程中接收的数据个数(整型)

recvtype 接收消息缓冲区的数据类型(句柄)

comm 通信域

组收集图示

这里,收集的数据是按进程0到N-1排列。



学习感想

这里要理解“组”的定义,组表示组内所有成员,函数上多了ALL字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: