<div dir="ltr">Dear Joachim,<div>Thank you for your response.<br>It is good to know that no special settings are required to use non-blocking MPI collectives in MPICH, and the setting "MPICH_ASYNC_PROGRESS = 1" improves the performance of calculations that overlap communication.<br>I will find tools to confirm this.<br></div><div><div><span style="background-color:transparent">Best, </span><br></div><div>Viet</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 7, 2021 at 10:09 PM Joachim Protze <<a href="mailto:protze@itc.rwth-aachen.de">protze@itc.rwth-aachen.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Viet,<br>
<br>
If MPICH_ASYNC_PROGRESS=1 is necessary for your application to<br>
terminate, i.e., you see a deadlock without this flag, the applications<br>
has a correctness/portability issue. This env variable should only have<br>
a possible impact to performance (better compute/communication overlap)<br>
but should not be necessary to avoid deadlock.<br>
<br>
You can compare this to the classical send-send deadlock (example 3.9 in<br>
the standard), where the application relies on buffering / eager<br>
communication, but all send suddenly block. The portable fix for the<br>
application is not to increase the eager-limit, but to fix the<br>
communication pattern.<br>
<br>
Best<br>
Joachim<br>
<br>
Am 07.01.21 um 13:08 schrieb viet via discuss:<br>
> Dear Hui Zhou,<br>
> <br>
> Thank you for your response to this thread.<br>
> Could you give me some references on this issue?<br>
> <br>
> It seems that the below environment setting is necessary.<br>
> <br>
> MPICH_ASYNC_PROGRESS=1<br>
> <br>
> Thank you for anything you can provide.<br>
> Best, Viet.<br>
> <br>
> <br>
> <br>
> On Tue, Jan 5, 2021 at 5:59 AM Zhou, Hui <<a href="mailto:zhouh@anl.gov" target="_blank">zhouh@anl.gov</a>> wrote:<br>
> <br>
>> You don’t need any special settings to use non-blocking MPI collectives in<br>
>> MPICH.<br>
>><br>
>><br>
>><br>
>> --<br>
>> Hui Zhou<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> *From: *viet via discuss <<a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a>><br>
>> *Date: *Friday, December 4, 2020 at 7:12 AM<br>
>> *To: *<a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a> <<a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a>><br>
>> *Cc: *<a href="mailto:teivml@gmail.com" target="_blank">teivml@gmail.com</a> <<a href="mailto:teivml@gmail.com" target="_blank">teivml@gmail.com</a>><br>
>> *Subject: *[mpich-discuss] Question about non-blocking MPI - 3<br>
>><br>
>> Hello everyone,<br>
>><br>
>> What is the environment setting for the use of non-blocking MPI-3 *<br>
>> collectives in mpich3.3?<br>
>><br>
>> In Intel MPI, the setting is as follows<br>
>><br>
>> $ export I_MPI_ASYNC_PROGRESS=1<br>
>> $ export I_MPI_ASYNC_PROGRESS_PIN=<CPU list><br>
>><br>
>> Is there an equivalent setting in mpich3.3?<br>
>> Thank you,<br>
>> Viet.<br>
>><br>
> <br>
> <br>
> _______________________________________________<br>
> discuss mailing list     <a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a><br>
> To manage subscription options or unsubscribe:<br>
> <a href="https://lists.mpich.org/mailman/listinfo/discuss" rel="noreferrer" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
> <br>
<br>
<br>
-- <br>
Dipl.-Inf. Joachim Protze<br>
<br>
IT Center<br>
Group: High Performance Computing<br>
Division: Computational Science and Engineering<br>
RWTH Aachen University<br>
Seffenter Weg 23<br>
D 52074  Aachen (Germany)<br>
Tel: +49 241 80- 24765<br>
Fax: +49 241 80-624765<br>
<a href="mailto:protze@itc.rwth-aachen.de" target="_blank">protze@itc.rwth-aachen.de</a><br>
<a href="http://www.itc.rwth-aachen.de" rel="noreferrer" target="_blank">www.itc.rwth-aachen.de</a><br>
<br>
</blockquote></div>