[mpich-discuss] How to use non-blocking send/receive without calling MPI_Wait

Huiwei Lu huiweilu at mcs.anl.gov
Fri Apr 3 08:49:30 CDT 2015


Hi Lei,

As far as I know, all current MPI implementations do not support true
asynchronous communication for now. i.e., If there is no MPI calls in your
iterations, MPICH will not be able to make progress on communication.

One solution is to poll the MPI runtime regularly to make progress by
inserting MPI_Test to your iteration (even though you do not want to check
the data).

Another solution is to enable MPI's asynchronous progress thread to make
progress for you.

--
Huiwei

On Thu, Apr 2, 2015 at 11:44 PM, Lei Shi <lshi at ku.edu> wrote:

> Hi Junchao,
>
> Thanks for your reply. For my case, I don't want to check the data have
> been received or not. So I don't want to call MPI_Test or any function to
> verify it. But my problem is like if I ignore calling the MPI_Wait, just
> call Isend/Irev, my program freezes for several sec and then continues to
> run. My guess is probably I messed up the MPI library internal buffer by
> doing this.
>
> On Thu, Apr 2, 2015 at 7:25 PM, Junchao Zhang <jczhang at mcs.anl.gov> wrote:
>
>> Does MPI_Test fit your needs?
>>
>> --Junchao Zhang
>>
>> On Thu, Apr 2, 2015 at 7:16 PM, Lei Shi <lshi at ku.edu> wrote:
>>
>>> I want to use non-blocking send/rev MPI_Isend/MPI_Irev to do
>>> communication. But in my case, I don't really care what kind of data I get
>>> or it is ready to use or not. So I don't want to waste my time to do any
>>> synchronization  by calling MPI_Wait or etc API.
>>>
>>> But when I avoid calling MPI_Wait, my program is freezed several secs
>>> after running some iterations (after multiple MPI_Isend/Irev callings),
>>> then continues. It takes even more time than the case with MPI_Wait.  So my
>>> question is how to do a "true" non-blocking communication without waiting
>>> for the data ready or not. Thanks.
>>>
>>> _______________________________________________
>>> discuss mailing list     discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>
>>
>>
>> _______________________________________________
>> discuss mailing list     discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>>
>
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20150403/8328c500/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list