<html> 
 <head></head> 
 <body> <span style="font-family:sans-serif">Hi Martin,</span> 
  <br> 
  <br> <span style="font-family:sans-serif">Comm size example: local procedure reads local information, result is 2, no problems.</span> 
  <br> 
  <br> <span style="font-family:sans-serif">Pending window sync: erroneous, "user must call all procedures necessary to complete involvement in communication", no problems.</span> 
  <br> 
  <br> <span style="font-family:sans-serif">One-sided passive target put from left to right: seriously bad idea, might work if target hardware capable, might fail if target needs software agent, although such agent should still be active because window has not been freed, discovered by win unlock, if it must fail then it should probably be prohibited in mpi-4.1 somehow - wording is complex.</span> 
  <br> 
  <br> <span style="font-family:sans-serif">What about process ending normally/properly immediately after session finalize?</span> 
  <br> 
  <br> <span style="font-family:sans-serif">Note local is weak local - permitted to depend on remote progress - making sure stuff gets onto/off of the wire before returning is permitted.</span> 
  <br> 
  <br> <span style="font-family:sans-serif">Intrigue galore!</span> 
  <br> 
  <br> <span style="font-family:sans-serif">Cheers,</span> 
  <br> <span style="font-family:sans-serif">Dan.</span> 
  <br> 
  <div> 
   <br> 
   <p>19 Feb 2021 19:48:43 Martin Schulz <schulzm@in.tum.de>:</p> 
   <blockquote lang="en-DE" link="blue" vlink="purple" style="word-wrap:break-word"> 
    <div class="WordSection1" style="page: WordSection1"> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">Hi Dan, all,</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">To the first part: I would also prefer Rolf’s text with the unspecified collectives (we probably need to add files and windows, but that is easy) – it leave quite a bit of wiggle room. With Ialltoall, I think we would be overspecifying, as this would declare session_finalize not only collective, but also synchronizing.</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">However, also here we don’t say what really happens with the MPI objects and what can and cannot be done afterwards – I think it would be legal (as of now) to create a persistent communication, call finalize (no pending communication) and then call start. We obviously don’t want that.</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">As for the second part: </span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">Branch at Q1, freeing all – at the end, I am not sure that this against the rule of least astonishment. It is different than Finalize, but that should not be astonishing. I would compare this to memory allocation: if I write a program that allocates a lot of memory, I normally don’t bother freeing it before exit, I simply don’t care. If I write a library with an “end” call, though, I better clean everything up or I wrote a bad library. I think this would be second nature to programmers.</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">If we go on the premise, though, that this is too much for MPI programmers, I principally like the idea of keeping session_finalize local, as this is the only option to keep init and finalize parallel, i.e., have matching semantics. However, I am not sure what this would mean in some areas:</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">Session Init A                                      Session Init A</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">C1=from_g(from_s,A)                     C1=from_g(from_s,A)</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">                                                                Session Finalize</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">Barrier on COMM_WORLD           Barrier on COMM_WORLD</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">Comm_get_size(C1)</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">What is the value here?</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">If we create a window with memory from 3 processes and then one finalizes the session, is the remaining memory still available? What does this mean for pending synchronization operations and open communication windows between the other 2?</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">We can probably construct more corner cases.</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">In general, I am not trying to shoot down the idea (I find it intriguing, as it preserves the symmetry if init and finalize), but I think it could have quite some consequences. Forcing a free or describing the interleaved collective nature would be a small step (text and correctness wise) and would allow most (all?) other solutions to be added in 4.1 with some time to discuss it.</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">Martin</span></p> 
     <p style=""></p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
     <p style=""> </p> 
     <p></p> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style="">-- </span><span lang="EN-US" style="color:black;font-size:10.5pt;font-family:Helvetica"><br style="">Prof. Dr. Martin Schulz, Chair of Computer Architecture and Parallel Systems<br style="">Department of Informatics, TU-Munich, Boltzmannstraße 3, D-85748 Garching<br style="">Member of the Board of Directors at the Leibniz Supercomputing Centre (LRZ)<br style="">Email: schulzm@in.tum.de</span><span lang="EN-US" style=""></span></p> 
      <p style=""></p> 
      <p></p> 
      <div style=""> 
       <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span lang="EN-US" style=""></span></p> 
       <p style=""> </p> 
       <p></p> 
      </div> 
     </div> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
     <p style=""> </p> 
     <p></p> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
     <p style=""> </p> 
     <p></p> 
     <div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><b style=""><span style="color:black;font-size:12.0pt">From: </span></b><span style="color:black;font-size:12.0pt">mpiwg-sessions <mpiwg-sessions-bounces@lists.mpi-forum.org> on behalf of Dan Holmes via mpiwg-sessions <mpiwg-sessions@lists.mpi-forum.org><br style=""><b style="">Reply-To: </b>MPI Sessions working group <mpiwg-sessions@lists.mpi-forum.org><br style=""><b style="">Date: </b>Friday, 19. February 2021 at 20:16<br style=""><b style="">To: </b>mpiwg-sessions <mpiwg-sessions@lists.mpi-forum.org><br style=""><b style="">Cc: </b>Dan Holmes <danholmes@chi.scot><br style=""><b style="">Subject: </b>Re: [mpiwg-sessions] more excitement - more nuanced response to issue 435</span></p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
      <p style=""> </p> 
      <p></p> 
     </div> 
     <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Hi Howard, </p> 
     <p style=""></p> 
     <p></p> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
      <p style=""> </p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">My initial impression (from reading your email but not looking at the PDF yet), is:</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">* I much prefer Rolf’s suggested reference to generic/unspecified “collective operations” rather than nailing it down to MPI_Ialltoall.</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">* I don’t like the restriction that the user must finalise sessions in a particular order to match the internal implementation of a single session finalise at some remote process (e.g. the scenario of Rolf’s case A on issue 435).</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
      <p style=""> </p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">More fundamental: we need a decision tree to tease apart the design decisions we are making at pace and with no reference implementation.</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
      <p style=""> </p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">First choice: does MPI_SESSION_FINALISE do anything non-local? If so, what?</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">If no, then next choice is: </p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
      <p style=""> </p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Root Q1: Do we wish to mandate that the user must do clean up prior to MPI_SESSION_FINALISE? If so, then eek! Breach of rule of least astonishment.</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Branch Q2: If no, then do we wish to mandate that MPI_SESSION_FINALISE does whatever clean up has not been done by the user? If so, eek! Significant change to accepted text.</p> 
      <p style=""></p> 
      <p></p> 
     </div> 
     <div style=""> 
      <div style=""> 
       <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">Branch Q3: If no, then does MPI_SESSION_FINALISE do anything non-local? If so, eek! What does it do? Panic.</span></p> 
       <p style=""></p> 
       <p></p> 
      </div> 
      <div style=""> 
       <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">Branch Q4: If no, then does MPI_SESSION_FINALISE need to be defined as collective? If so, eek! Why? Why does it need that semantic? Panic.</span></p> 
       <p style=""></p> 
       <p></p> 
      </div> 
      <div style=""> 
       <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Branch Q5: If no, <span style="color:black">then does MPI_SESSION_FINALISE need to be defined as non-local? If so, eek! Why? Why does it need that semantic? Panic.</span></p> 
       <p style=""></p> 
       <p></p> 
      </div> 
      <div style=""> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Branch Q6: If no, <span style="color:black">then we should define MPI_SESSION_FINALISE as local (meaning weak-local, of course)? If so, strike all text about collective operation(s) of any kind and strike any restriction on ordering of calls and strike any restriction on the permitted associations/derivations of communicators from sessions.</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black"><br style=""><br style=""></span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">This is a linear decision tree that leads to:</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black"><br style=""><br style=""></span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">"</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">MPI_SESSION_FINALIZE is a local procedure; it does not free MPI objects derived from the session. It is erroneous to use MPI objects derived from a session after calling MPI_SESSION_FINALIZE for that session.</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black"><br style=""><br style=""></span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">If the user wishes to recover resources from MPI objects derived from a session, then appropriate calls to MPI procedures must be made by the user prior to calling MPI_SESSION_FINALIZE, such as MPI_COMM_DISCONNECT (from communicators), MPI_WIN_FREE (for windows), and MPI_FILE_CLOSE (for files).</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">“</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black"><br style=""><br style=""></span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
       <div style=""> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">Discuss.</span></p> 
        <p style=""></p> 
        <p></p> 
       </div> 
      </div> 
      <div style=""> 
       <div style=""> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica"><br style="">Cheers,</span></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica">Dan.</span></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica">—</span></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica">Dr Daniel Holmes PhD</span></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black">Executive Director<br style="">Chief Technology Officer</span></p> 
        <p style=""></p> 
        <p></p> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica">CHI Ltd</span></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica"><a href="mailto:danholmes@chi.scot" style="">danholmes@chi.scot</a></span></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="color:black;font-size:9.0pt;font-family:Helvetica"></span></p> 
         <p style=""> </p> 
         <p></p> 
        </div> 
       </div> 
       <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
       <p style=""> </p> 
       <p></p> 
      </div> 
      <div style=""> 
       <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><br style=""><br style=""></p> 
       <p style=""></p> 
       <p></p> 
       <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"> 
        <div style=""> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">On 19 Feb 2021, at 18:13, Pritchard Jr., Howard via mpiwg-sessions <<a href="mailto:mpiwg-sessions@lists.mpi-forum.org" style="">mpiwg-sessions@lists.mpi-forum.org</a>> wrote:</p> 
         <p style=""></p> 
         <p></p> 
        </div> 
        <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
        <p style=""> </p> 
        <p></p> 
        <div style=""> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">HI All,<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Ah this is exciting.  So I spent some time on baking verbiage to add about MPI_Session_finalize<span class="apple-converted-space" style="mso-style-name: apple-converted-space"> </span><i style="">non-local</i><span class="apple-converted-space" style="mso-style-name: apple-converted-space"> </span>behavior.<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">See the attached cutout from the results pdf.<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">I’ve added verbiage describing the semantics (copying some wording from MPI_Sendrecv, or at least the flavor) of session finalize in the event that the user has not cleaned up MPI objects associated with the session(s).<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">It’s a simple easy to understand (I think) model.  Basically session finalize has the semantics of a MPI_Ialltoall for each communicators still associated with the session at finalize, followed by a waitall.  As long as all other processes finalizing their sessions generate in aggregate, a message pattern which matches, no deadlock.  If not,  potential deadlock.  One takeaway from this is that we can’t support arbitrary associations of communicators to sessions in each MPI process when the app doesn’t do its own cleanup so as to make MPI_Session_finalize a local op.<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">I’ve added some examples and we can add more as we think needed.  May have to change the presentation mechanism however.<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">I didn’t want to open this as a PR at this point, hence this notification mechanism.<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">Howard<span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif">-- <span style="font-size:12.0pt"></span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <div style=""> 
          <div style=""> 
           <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"> <span style="font-size:12.0pt"></span></p> 
           <p style=""></p> 
           <p></p> 
          </div> 
          <div style=""> 
           <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="font-size:10.5pt">Howard Pritchard</span><span style="font-size:12.0pt"></span></p> 
           <p style=""></p> 
           <p></p> 
          </div> 
          <div style=""> 
           <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="font-size:10.5pt">HPC-ENV</span><span style="font-size:12.0pt"></span></p> 
           <p style=""></p> 
           <p></p> 
          </div> 
          <div style=""> 
           <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="font-size:10.5pt">Los Alamos National Laboratory</span><span style="font-size:12.0pt"></span></p> 
           <p style=""></p> 
           <p></p> 
          </div> 
         </div> 
         <div style=""> 
          <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><span style="font-size:12.0pt"> </span></p> 
          <p style=""></p> 
          <p></p> 
         </div> 
         <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"><temp.pdf><span style="font-size:9.0pt;font-family:Helvetica">_______________________________________________<br style="">mpiwg-sessions mailing list<br style=""></span><a href="mailto:mpiwg-sessions@lists.mpi-forum.org" style=""><span style="font-size:9.0pt;font-family:Helvetica">mpiwg-sessions@lists.mpi-forum.org</span></a><span style="font-size:9.0pt;font-family:Helvetica"><br style=""></span><a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-sessions" style=""><span style="font-size:9.0pt;font-family:Helvetica">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-sessions</span></a></p> 
         <p style=""></p> 
         <p></p> 
        </div> 
       </blockquote> 
      </div> 
      <p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: "Calibri", sans-serif"></p> 
      <p style=""> </p> 
      <p></p> 
     </div> 
    </div> 
   </blockquote> 
  </div>  
 </body>
</html>