学习资料 《并行算法实践》(陈国良 等)
学习笔记
群集通信(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: 路障同步
浙公网安备 33010602011771号