通信类别

对于 MPI 中的通信中,从通信对象方面看可以分为两类:

  • 点对点通信 - 只涉及发送方和接收方两个进程,并且发送和接收时要指明发送和接收的对象。在发送进程和接收进程里,两者的调用的函数也不相同。
  • 组通信 - 一个特定组内的所有进程同时参与通信,并且组通信在每个进程中的调用方式完全一样。

对于点对点通信来讲,从发送行为不同又可以分为下面三类:

  • 阻塞通信 - 在发送和接受操作完成之前,程序一直处于等待状态
  • 非阻塞通信 - 无需等待发送和操作行为完成就可以返回,然后再调用特定的方法判断通信操作是否完成
  • 重复非阻塞通信 - 针对一个通信被多次调用的情况(例如循环结构内的通信调用),重复利用通信对象,而不是每次都开启一个新的通信。单次的通信和非阻塞通信的行为相同。

对于组通信来说,会为组内的进程隐式添加一个同步点,等到所有进程到达后再往下执行。在后面的文章我们会详细介绍上面提到的通信类别。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""