MPI通信操作与进程管理详解
1. 集体通信操作
1.1 集体通信操作的影响
集体通信操作会阻塞属于通信器 comm 组的所有进程,直到该组的所有其他进程也调用了此操作。
1.2 非阻塞集体通信操作
MPI 支持非阻塞集体通信操作,与非阻塞点对点操作类似,可实现通信与计算的重叠。其使用模型与非阻塞点对点操作相同,调用非阻塞集体操作会在本地启动相应操作,需单独的完成操作来测试该操作是否在本地完成。调用非阻塞集体通信操作会立即将控制权返回给调用进程,指定的通信操作在后台执行,在此期间,调用进程可执行其他本地计算操作,从而实现通信与计算的重叠。但只有在完成操作返回后,才能安全覆盖调用进程为通信操作提供的缓冲区资源。一个进程可以依次发起多个非阻塞集体操作,且多个操作可以同时处于未完成状态。非阻塞集体通信操作使用与非阻塞点对点操作相同的完成操作,如 MPI Test() 或 MPI Wait() 。完成后,非阻塞集体操作与阻塞操作在进程间的数据移动效果相同。
1.2.1 非阻塞广播操作示例
非阻塞广播操作通过以下 MPI 调用启动:
int MPI_Ibcast (void *message,
int count,
MPI_Datatype type,
int root,
MPI_Comm comm,
订阅专栏 解锁全文
361



被折叠的 条评论
为什么被折叠?



