MPI中的集体通信和非集体通信有什么区别?我试图理解MPI_File_read和MPI_File_read_all之间的区别,但失败了。这两个函数都使用传递给MPI_File_open函数的communicator作为参数。
MPI_File_read
MPI_File_read_all
MPI_File_open
dced5bon1#
集合调用要求通信器中的所有等级进程“一起”做出匹配调用,允许实现在进程之间显式地合作。什么构成“匹配”调用的定义随函数调用语义而变化。在非集体呼叫中,每个进程独立运行,并且不要求通信者中的所有等级都参与呼叫。来自MPI规范2.4:集体的如果一个过程组中的所有过程都需要调用一个过程,那么这个过程就是集合的。一个集合调用可以是同步的,也可以不是同步的。通过同一个通信器的集合调用必须由过程组的所有成员以相同的顺序执行。
1条答案
按热度按时间dced5bon1#
集合调用要求通信器中的所有等级进程“一起”做出匹配调用,允许实现在进程之间显式地合作。什么构成“匹配”调用的定义随函数调用语义而变化。
在非集体呼叫中,每个进程独立运行,并且不要求通信者中的所有等级都参与呼叫。
来自MPI规范2.4:
集体的
如果一个过程组中的所有过程都需要调用一个过程,那么这个过程就是集合的。一个集合调用可以是同步的,也可以不是同步的。通过同一个通信器的集合调用必须由过程组的所有成员以相同的顺序执行。