96 更多的有关非阻塞通信

BACKWARD FORWARD


在应用程序中,在进程之间发送数据的时间是很大的地方,经常产生计算和通信相重叠是有益的。

例如,在一个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 BACKWARD FORWARD