Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2159 Discussions

MPI_Test blocks on the request from MPI_Rget

seongyun_k_
Beginner
434 Views

Hi,

To progress one-sided communication right after MPI_RGet function call, I am explicitly calling 'MPI_Test'.

The profiled results show that MPI_Test is blocking the thread.

Is it intended behavior or not?

(I compiled with -mt_mpi flag and enabled MPICH_ASYNC_PROGRESS and I_MPI_RDMA_SCALABLE_PROGRESS too)

0 Kudos
1 Solution
Mark_L_Intel
Moderator
434 Views

Please see 3.5 (Listing 1 there is instructive) in

http://www.mcs.anl.gov/papers/P4062-0413_1.pdf

quoting: " These operations return an MPI Request object similar to non-blocking point-to-point communication that can be tested or can wait for completion using MPI_Test and MPI_Wait, or the equivalent". So yes, you can initiate these request based RMA calls and then you can wait for their completion (completion means that the remote data delivered to local buffer as described in the reference above).

BR,

Mark

 

 

View solution in original post

0 Kudos
1 Reply
Mark_L_Intel
Moderator
435 Views

Please see 3.5 (Listing 1 there is instructive) in

http://www.mcs.anl.gov/papers/P4062-0413_1.pdf

quoting: " These operations return an MPI Request object similar to non-blocking point-to-point communication that can be tested or can wait for completion using MPI_Test and MPI_Wait, or the equivalent". So yes, you can initiate these request based RMA calls and then you can wait for their completion (completion means that the remote data delivered to local buffer as described in the reference above).

BR,

Mark

 

 

0 Kudos
Reply