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

学习资料 《高性能计算之并行编程技术 -- 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排列。

      [MPI] MPI 组通信 -- 组收集 - applesun - 计算机技术学习笔记

 

学习感想

       这里要理解“组”的定义,组表示组内所有成员,函数上多了ALL字符串。

posted on 2012-10-09 20:12  applesun0757  阅读(317)  评论(0)    收藏  举报