<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">The worker should call `MPI_Finalize` before exit. If somehow it hangs, assuming all the resources have been freed/disconnected, it must be a bug, please file an issue and we’ll track it down. Each spawned process has a different `MPI_COMM_WORLD`
 from the process who spawned it.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">-- <br>
Hui Zhou<o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Mccall, Kurt E. (MSFC-EV41) via discuss <discuss@mpich.org><br>
<b>Date: </b>Sunday, February 21, 2021 at 3:06 PM<br>
<b>To: </b>discuss@mpich.org <discuss@mpich.org><br>
<b>Cc: </b>Mccall, Kurt E. (MSFC-EV41) <kurt.e.mccall@nasa.gov><br>
<b>Subject: </b>[mpich-discuss] Calling MPI_Finalize or not<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in">Two questions:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">I have a group of manager processes, each of which uses MPI_Comm_spawn() to create individual worker processes one at a time.  
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Occasionally, a worker has to exit and is replaced by another worker via MPI_Comm_spawn().    If the exiting worker calls MPI_Finalize(),
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">will it sit there waiting for all other managers and workers in MPI_COMM_WORLD to do the same, or will it wait only for the manager
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">that created its inter-communicator to call MPI_Finalize?<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">In either case, maybe it is better for the worker to NOT call MPI_Finalize at all so that it doesn’t sit there taking up a core’s resources
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">while it waits for the others.   What are the implications of not calling MPI_Finalize in the workers?<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Thanks,<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Kurt<o:p></o:p></p>
</div>
</body>
</html>