96 更多的有关非阻塞通信 |
在应用程序中,在进程之间发送数据的时间是很大的地方,经常产生计算和通信相重叠是有益的。
例如,在一个2D有限微分网格中,需要为边界而移动数据可以在计算内部的同时进行工作。
MPI_Irecv( ... each ghost edge ... );
MPI_Isend( ... data for each ghost edge ... );
... compute on interior
while (still some uncompleted requests) {
MPI_Waitany( ... requests ... )
if (request is a receive)
... compute on that edge ...
}
注意我们几次调用MPI-Waitany。这展示了这样一个事实,在一个请求满足后,它设置为MPI-REQUEST-NULL,这是一个有效的请求对象以等待和测试例程。
| Copyright: NPACT |