[MPI] 群集通信

学习资料 《并行算法实践》(陈国良 等)

学习笔记

        群集通信(Collective Communications)是一个进程组中的所有进程都参加的全局通信操作。 群集通信涉及的进程组以及通信上下文, 都是由群集通信函数的通信域参数决定。

         群集通信一般实现三个功能:通信、聚集和同步。 通信功能主要完成组内数据的传输; 聚集功能稍微要显得负责一点, 要在通信的基础上对给定的数据完成一定的操作; 而同步功能实现组内所有进程在特定的地点在执行进度上取得一致。

 

MPI中的群集通信函数

1)通信

     MPI_Bcast:一对多广播同样的消息

     MPI_Gather:多对一收集各个进程的消息

     MPI_Gatherv:MPI_Gather的一般化

     MPI_Allgather:全局收集

     MPI_Allgatherv:MPI_Allgather 的一般化

     MPI_Scatter:一对多散播不同的消息

     MPI_Scatterv:MPI_Scatter的一般化

     MPI_Alltoall:多对多全局交换消息

     MPI_Alltoallv:MPI_Alltoall的一般化

2)聚集

     MPI_Reduce:多对一归约

     MPI_Allreduce:MPI_Reduce的一般化

     MPI_Reduce_scatter: 归约并散播

     MPI_Scan:扫描

3)同步

     MPI_Barrier: 路障同步

      

posted on 2012-11-05 21:44  applesun0757  阅读(555)  评论(0)    收藏  举报