<html><body><div style="color: rgb(0, 0, 0); font-family: courier new,courier,monaco,monospace,sans-serif; font-size: 12pt;"><style style="display: none;"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style><style style="display: none;"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style><div><span style="font-family: arial,helvetica,sans-serif;">Martin wrote:<br>> ...<br></span></div><div data-marker="__QUOTED_TEXT__"><div style="color: rgb(0, 0, 0); font-family: courier new,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div><div><span style="font-family: arial,helvetica,sans-serif;">> Just as a reminder, tomorrow we will have our first (of five) virtual meeting in this quarter. The webex information can be reached via</span><br></div><div><span style="font-family: arial,helvetica,sans-serif;">> <a href="https://www.mpi-forum.org/meetings/" target="_blank">https://www.mpi-forum.org/meetings/<br></a></span></div><div><span style="font-family: arial,helvetica,sans-serif;">> The topic will be “Terms and Conventions” and Puri will lead the discussion.</span></div><div><span style="font-family: arial,helvetica,sans-serif;">> ...</span> <br></div></div><br><div><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif; font-size: 12pt;">Dear all (<strong>whole MPI Forum</strong>),</span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif; font-size: 12pt;"><span style="font-family: calibri,arial,helvetica,sans-serif;"><br></span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif; font-size: 12pt;"><span style="font-family: calibri,arial,helvetica,sans-serif;">we prepared new wording for the definitions of <br>   <strong>operation</strong>, <strong>non/blocking</strong>, <strong>non-/local</strong>, <strong>persistent</strong>, <strong>collective</strong>, and more.<span style="font-family: calibri,arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif;"></span></span></span><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif; font-size: 12pt;"><span style="font-family: calibri,arial,helvetica,sans-serif;">This was necessary, because the old definitions in MPI-3.1 on page 11 do no longer fit to the new interfaces of nonblocking and persistent collectives and partially also not to older parts of MPI.<br></span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;">During this Wednesday MPI Forum Virtual Meeting, we have planned to discuss <strong>this new wording below </strong>with the <strong>whole MPI Forum</strong>.</span><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><br></span></span></p></div><div><div style="color: rgb(0, 0, 0); font-family: courier new,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;">Additionally, I<span style="font-family: arial,helvetica,sans-serif;">'m <span style="font-size: 12pt;">currently preparing </span>an Appendix for the MPI Standard summarizing the semantics of all communicating MPI routines.<br></span></span></span></span></div><div><span style="font-family: arial,helvetica,sans-serif;">This work is not yet discussed within the Group, but may be already helpful, when you check the new wording against the many different existing in APIs in MPI with there sometimes small differences in semantics.  </span></div><div><span style="font-family: arial,helvetica,sans-serif;">I attached a very early draft.<span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;"><br></span></span></span></div><div><span style="font-family: arial,helvetica,sans-serif;"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;">The <strong>major topic</strong> of the meeting is <strong>the new wording below</strong>.<br></span></div><div><span style="font-family: arial,helvetica,sans-serif;">In the moment, the attachment is only a further reference (only in first-draft quality). <br></span></div><div><span style="font-family: arial,helvetica,sans-serif;"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;">Best regards<br></span></div><div><span style="font-family: arial,helvetica,sans-serif;">Rolf<br></span></div><div><span style="font-family: arial,helvetica,sans-serif;"><br data-mce-bogus="1"></span></div></div><div style="color: rgb(0, 0, 0); font-family: courier new,courier,monaco,monospace,sans-serif; font-size: 12pt;">PS: <font face="Calibri">Current active Terms&Conventions chapter committee members are: Purushotham V. Bangalore, Daniel Holmes, Anthony Skjellum, Guillaume Mercier, Julien Jaeger, Claudia Blaas-Schenner, Rolf Rabenseifner, Bill Gropp, Wesley Bland. </font><br><div><div style="color: rgb(0, 0, 0); font-family: courier new,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div><span style="font-family: arial,helvetica,sans-serif; font-size: 12pt;">​​...<br></span></div><div><div><div><div style="font-family: calibri,arial,helvetica,sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);"><p><br></p><div><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif;">(In 2.3 Procedure Specification, we wanted to add: function == procedure == procedure call == call)</span></p><p style="font-family: arial,helvetica,sans-serif;"><strong><span style="color: rgb(0, 0, 255); font-family: calibri,arial,helvetica,sans-serif;"><br></span></strong></p><p style="font-family: arial,helvetica,sans-serif;"><strong><span style="color: rgb(0, 0, 255); font-family: calibri,arial,helvetica,sans-serif; font-size: 12pt;">Substituting MPI-3.1 Section 2.4, page 11, lines 24-48 by <br></span></strong></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-family: calibri,arial,helvetica,sans-serif;"><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMSS12; font-size: x-large;"><span style="font-family: CMSS12; font-size: x-large;">2.4 Semantic Terms</span></span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMSS12; font-size: x-large;"><span style="font-family: CMSS12; font-size: x-large;"><br></span></span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMSS12;"><span style="font-family: CMSS12;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">When discussing </span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">MPI </span></span><span style="font-family: CMR10;"><span style="font-family: CMR10;">procedures the following semantic terms are used.</span></span></span></span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMSS12;"><span style="font-family: CMSS12;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 12pt;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMSS12;"><span style="font-family: CMSS12;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">An <strong>operation</strong> is a set of one or more procedures leading from a well-defined input state to a well-defined output state. </span></span></span></span></span><span style='font-family: "times new roman","new york",times,serif;'>An operation consists of four stages: initialization, starting, completion, and freeing:</span></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><strong>Initialization</strong> hands over the argument list to the operation but not the content of the message data buffers. For an operation it may be specified that array arguments must not be changed until the operation is freed. </span><br></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><strong>Starting</strong> hands over the content of the message data buffer to the associated operation.</span><br></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><br></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>Note that <strong>initiation</strong> refers to the combination of the initialization and starting stages.<br></span></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><strong>Completion</strong> returns control of the content of the message data buffer and indicates that any output buffers have been updated.</span><br></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><strong>Freeing</strong> returns control of the rest of the argument list.<br></span></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: calibri,arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>Procedures can be blocking or nonblocking:</span><br></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>A <strong>procedure is blocking</strong> if return from the procedure indicates the user is allowed to reuse resources specified in the call. </span><br></p><p style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>A <strong>procedu</strong><strong>re is nonblocking</strong> if it returns before the user is allowed to reuse resources (such as buffers) specified in the call.<br></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>Operations can be blocking, nonblocking, or persistent:<br></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></div><div style="font-family: arial,helvetica,sans-serif;"><p><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>For a <strong>blocking operation</strong>, all four stages are combined in a single blocking procedure call.</span><br></p><p><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p><p><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>For a <strong>nonblocking operation</strong>, the initialization and starting stages are combined into a single nonblocking procedure call and the completion and freeing stages are done with a separate single procedure call, which can be blocking or nonblocking.</span></p><p><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></p></div><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>For a <strong>persistent operation</strong>, all four stages are done with separate procedure calls, each of which can be blocking or nonblocking.</span></div><div style="font-family: arial,helvetica,sans-serif;"><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><br></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 12pt;"><span style="color: rgb(75, 165, 36); font-family: cmr10;"><br></span></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 12pt;"><span style="color: rgb(75, 165, 36); font-family: cmr10;"><span style="color: rgb(0, 0, 0); font-family: cmr10;">In addition to the concept of blocking and nonblocking there is the orthogonal concept of locality:</span><br></span></span></div><div style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 12pt;"><span style="color: rgb(75, 165, 36); font-family: cmr10;"><br></span></span></div><div><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMBX10;"><span style="font-family: CMBX10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">A <strong>procedure is local</strong> if it returns control to the calling MPI process based only on the state of the local MPI process that invoked it.</span></span></span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMBX10;"><span style="font-family: CMBX10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style="font-size: 12pt;"><span style="color: rgb(0, 0, 0); font-family: cmr10;">A <strong>procedure is non-local</strong> if its return may require </span><span style="color: rgb(0, 0, 0); font-family: cmr10;">the execution </span><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;">of some </span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">MPI </span></span><span style="font-family: CMR10;"><span style="font-family: CMR10;">procedure on another MPI process. Such a procedure may require</span></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-family: cmr10;"> </span><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;">communication occurring with another MPI process.</span></span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em>Advice to users.</em> Note that for communication-related procedures, in most cases nonblocking procedures are local and blocking procedures are non-local. Exceptions are noted where such procedures are defined. </span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;">  In many cases, <span style="font-family: cmr10; background-color: rgb(255, 255, 255);">i</span><span style="font-family: cmr10; background-color: rgb(255, 255, 255);">n the procedure name</span>​, the additional letter "I" as an abbreviation of the word "incomplete" marks nonblocking procedures and/or as an abbreviation of the word "immediately", it marks local procedures. <em>(End of advice to users.)</em></span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><br></em></span></span></span><p align="LEFT" style="font-family: cmr10;"><em><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></span></span></span></em></p><p></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;">Additionally as a third orthogonal aspect, a procedure can be either collective or not.</span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></p><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><div><span style='color: rgb(0, 0, 0); font-family: "times new roman", "new york", times, serif;'>A<span class="x_Apple-converted-space"> </span><strong>procedure is collective</strong><span class="x_Apple-converted-space"> </span>if all processes in a process group need to invoke the procedure.</span><br></div><div><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman", "new york", times, serif;'><br></span></span></span></span></div><div><span style='color: rgb(0, 0, 0); font-family: "times new roman", "new york", times, serif;'><strong>Collective operations</strong><span class="x_Apple-converted-space"> </span>are also available as blocking, nonblocking and persistent operations as defined above.<br></span></div><div><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman", "new york", times, serif;'><br></span></span></span></span></div><div><span style='color: rgb(0, 0, 0); font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>Collective initialization calls over the same process group must be executed<span class="x_Apple-converted-space"> </span>in the same order by all members of the process group.</span></span><br></div><div><span style='color: rgb(0, 0, 0); font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'><div><span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>Blocking collective procedures<span class="Apple-converted-space"> </span>and persistent collective initialization procedures <span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>may or may not be <strong>synchronizing</strong>, that is, <span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'><span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>may or may not return<span class="Apple-converted-space"> <span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>before all processes in the group have called the procedure.</span><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>Nonblocking collective initiation procedures <span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>and the start procedure of persistent collective operations <span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: arial, helvetica, sans-serif;"><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'><span style='font-family: "times new roman", "new york", times, serif;'>are local and shall not be synchronizing.</span><span class="Apple-converted-space"> </span><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span style='font-family: "times new roman", "new york", times, serif;'>In case of nonblocking<span class="Apple-converted-space"> </span>or persistent collective operations, <span style='font-family: "times new roman", "new york", times, serif;'>the completion stage may or may not<span class="Apple-converted-space"> </span><span style='font-family: "times new roman", "new york", times, serif;'>finish<span class="Apple-converted-space"> <span style='font-family: "times new roman", "new york", times, serif; font-size: 12pt;'><span style='font-family: "times new roman", "new york", times, serif;'>before all processes in the group have started the operation.</span></span></span></span></span></span></div></span></span><br><div><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><em>Advice to users.</em> </span></div><div><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'>Calling any synchronising function when there is no possibility of concurrent calls at all other processes in the associated group is erroneous because it can cause deadlock.</span></div><div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: helvetica; font-size: 12px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; -ms-word-wrap: break-word; font-variant-caps: normal; -webkit-text-stroke-width: 0px; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'>Waiting for completion of any operation when there is no possibility that all other processes in the associated group will be able to start the operation is erroneous because it can cause deadlock. </span></div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: helvetica; font-size: 12px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; -ms-word-wrap: break-word; font-variant-caps: normal; -webkit-text-stroke-width: 0px; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span style="color: rgb(0, 0, 0);"><em><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'>(End of advice to users.)</span></em><span style='font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: cmr10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'><br></span></span></span></span></span></span></span></span></span></span></span></span></span></div></div></div></span><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><br></p></span><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="color: rgb(75, 165, 36); font-family: cmr10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif;'><span style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p align="LEFT" style="color: rgb(75, 165, 36); font-family: cmr10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif; font-size: 12pt;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="color: rgb(75, 165, 36); font-family: cmr10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='color: rgb(0, 0, 0); font-family: "times new roman","new york",times,serif;'><span style="font-family: times new roman, new york, times, serif; font-size: 12pt;">For datatypes, the following terms are defined:</span></span></span></span></span></span></span></span></span></span></span></span></span></p></span><p align="LEFT"><span style="font-family: times new roman, new york, times, serif; font-size: 12pt;">.....</span></p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'>​<span style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><br></span></span></span></span></span></span></span></span></div><div><span style="color: rgb(0, 0, 255); font-size: 12pt;"><span style="font-family: times new roman, new york, times, serif;"><br></span><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style='font-family: "times new roman","new york",times,serif;'></span></span></span> </span><div><span style="color: rgb(0, 0, 255); font-family: CMR10; font-size: 12pt;"> </span><div style="font-family: arial,helvetica,sans-serif;"><span style="color: rgb(0, 0, 255); font-family: CMR10; font-size: 12pt;"> </span><p><strong><span style="color: rgb(0, 0, 255); font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: arial,helvetica,sans-serif;">MPI-3.</span><span style="font-family: arial,helvetica,sans-serif;">1 Section </span>3.4, MPI_BSEND, page 37, <span style="text-decoration: underline;">after </span>lines 36-43</span></span></span></span></span></span></span></span></span></span></span></span></span></strong></p><div title="Page 97" class="page"><div class="layoutArea"><div class="column"><div title="Page 69" class="page"><div class="layoutArea"><div class="column"><p><span style="color: rgb(128, 128, 128); font-size: 12pt;"><span style="font-family: cmr10;">A </span><span style="font-family: cmbx10;"><strong>buffered</strong> </span><span style="font-family: cmr10;">mode send operation can be started whether or not a matching receive has been posted. It may complete before a matching receive is posted. However, unlike the standard send, this operation is </span><span style="font-family: cmti10;">local</span><span style="font-family: cmr10;">, and its completion does not depend on the occurrence of a matching receive. Thus, if a send is executed and no matching receive is posted, then </span><span style="font-family: cmss10;">MPI </span><span style="font-family: cmr10;">must buffer the outgoing message, so as to allow the send call to complete. An error will occur if there is insufficient buffer space. The amount of available buffer space is controlled by the user — see Section </span><span style="font-family: cmr10;">3.6</span><span style="font-family: cmr10;">. Buffer allocation by the user may be required for the buffered mode to be effective. </span></span></p></div></div></div><p><span style="font-family: cmr10; font-size: 12pt;"><span style="color: rgb(0, 0, 255);"><strong><span style="font-size: 12pt;">the following sentence and advice are <span style="text-decoration: underline;">added</span></span></strong></span><br></span></p></div></div></div><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">According to the definitions in Section <span style="color: rgb(0, 0, 255); font-family: cmr10; background-color: rgb(255, 255, 255);">2.4</span>, MPI_BSEND is a blocking procedure because the user can re-use all resources given as arguments, including the message data buffer. It is also a local procedure because it returns immediately without depending on the execution of any MPI procedure in any other MPI process.<br><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><em style="font-family: cmr10; background-color: rgb(255, 255, 255);">Advice to users.</em></em> This is one of the exceptions in which a blocking procedure is local. <em>(<em style="font-family: cmr10; background-color: rgb(255, 255, 255);">End of advice to users.</em>)</em></span></span></span></span></span></span></span></span></span></span></span></span></p><div><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><br></em></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><br></em></span></span></span></span></span></span></span></span></span></span></span></span></div></div></div><p style="font-family: arial,helvetica,sans-serif;"></p></div><div style="font-family: arial,helvetica,sans-serif;"><p><span style="color: rgb(0, 0, 255);"><strong><span style="font-size: 12pt;">MPI-3.1 Section 3.7.3, MPI_REQUEST_FREE, page 55, lines 16-18 read</span></strong></span><br></p><p align="LEFT"><span style="color: rgb(128, 128, 128); font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">Mark the request object for deallocation and set </span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">request </span></span><span style="font-family: CMR10;"><span style="font-family: CMR10;">to </span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">MPI</span></span><span style="font-family: CMTT10;"><span style="font-family: CMTT10;">_</span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">REQUEST</span></span><span style="font-family: CMTT10;"><span style="font-family: CMTT10;">_</span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">NULL</span></span><span style="font-family: CMR10;"><span style="font-family: CMR10;">. <span style="font-family: CMR10;"><span style="font-family: CMR10;">An <span style="font-family: CMR10;"><span style="font-family: CMR10;">ongoing communication that is associated with the request will be allowed <span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">to complete. The request will be deallocated only after its completion.</span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="text-decoration: underline;"><strong><span style="color: rgb(0, 0, 255); font-size: 12pt; text-decoration: underline;">but should </span></strong><strong><span style="color: rgb(0, 0, 255); font-size: 12pt; text-decoration: underline;">read</span></strong></span><br></p><p><span style="font-size: 12pt;"><span style="font-family: Times New Roman;">Mark the request object for deallocation and set </span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">request </span></span><span style="font-family: CMR10;"><span style="font-family: CMR10;">to </span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">MPI</span></span><span style="font-family: CMTT10;"><span style="font-family: CMTT10;">_</span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">REQUEST</span></span><span style="font-family: CMTT10;"><span style="font-family: CMTT10;">_</span></span><span style="font-family: CMSS10;"><span style="font-family: CMSS10;">NULL</span></span><span style="font-family: CMR10;"><span style="font-family: CMR10;">. <span style="color: rgb(255, 0, 0);">[An]</span> O<span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">ngoing communication that is associated with the request will be allowed <span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">to <span style="color: rgb(0, 128, 0);"><span style="font-family: Arial;"><span style="color: rgb(255, 0, 0);">[complete]<span style="color: rgb(0, 128, 0);"> </span></span>continue until it is finished</span></span><span style='font-family: "times new roman","new york",times,serif;'>.</span> The request will be deallocated only after its <span style="color: rgb(255, 0, 0);">[completion]</span> <span style="color: rgb(75, 165, 36);">associated communication has finished</span>.</span></span></span></span></span></span></span></span></span></span></span></span></span><br></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="color: rgb(0, 0, 255);"><strong><span style="font-family: arial,helvetica,sans-serif;">MPI-3.</span><span style="font-family: arial,helvetica,sans-serif;">1 Section </span>3.8.1, MPI_IPROBE, page 65, <span style="text-decoration: underline;">after </span>lines 20-22</strong></span><br></span></span></span></span></span></span></span></span></span></span></span></span></p><div title="Page 97" class="page"><div class="layoutArea"><div class="column"><p><span style="color: rgb(128, 128, 128); font-size: 12pt;"><span style="font-family: cmr10;">If </span><span style="font-family: cmss10;">MPI</span><span style="font-family: cmtt10;">_</span><span style="font-family: cmss10;">IPROBE </span><span style="font-family: cmr10;">returns </span><span style="font-family: cmss10;">flag = true</span><span style="font-family: cmr10;">, then the content of the status object can be sub- sequently accessed as described in Section </span><span style="font-family: cmr10;">3.2.5 </span><span style="font-family: cmr10;">to find the source, tag and length of the probed message. <span style="font-family: cmr10; font-size: 12pt;"><br></span></span></span></p><p><span style="color: rgb(0, 0, 255);"><strong><span style="font-size: 12pt;">the following paragraph and advice are <span style="text-decoration: underline;">added</span></span></strong></span><br></p></div></div></div><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">MPI_IPROBE is a local procedure since it <span style="font-family: cmr10; background-color: rgb(255, 255, 255);">does not depend on MPI calls in other MPI processes</span>. According to the definitions in Section <span style="color: rgb(0, 0, 255);">2.4 </span>with respect to the status output argument as resource, it is a blocking procedure although it returns immediately.<br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><em style="font-family: cmr10; background-color: rgb(255, 255, 255);">Advice to users.</em></em> This is one of the exceptions in which a blocking procedure is local. <em>(<em style="font-family: cmr10; background-color: rgb(255, 255, 255);">End of advice to users.</em>)</em></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><br></em></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><br></em></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="color: rgb(0, 0, 255);"><strong><span style="font-family: arial,helvetica,sans-serif;">MPI-3.</span><span style="font-family: arial,helvetica,sans-serif;">1 Section </span>3.8.2, MPI_IMPROBE, page 68, <span style="text-decoration: underline;">after </span>lines 30-31</strong></span><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="color: rgb(128, 128, 128); font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-size: 12pt;"><span style="font-family: cmr10;">In addition, it returns in </span><span style="font-family: cmss10;">message </span><span style="font-family: cmr10;">a handle to the matched message. Otherwise, the call</span><span style="font-family: cmr6; vertical-align: 1pt;"> </span><span style="font-family: cmr10;">returns </span><span style="font-family: cmss10;">flag = false</span><span style="font-family: cmr10;">, and leaves </span><span style="font-family: cmss10;">status </span><span style="font-family: cmr10;">and </span><span style="font-family: cmss10;">message </span><span style="font-family: cmr10;">undefined.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><div title="Page 97" class="page"><div class="layoutArea"><div class="column"><p><span style="font-family: cmr10; font-size: 12pt;"><strong><span style="color: rgb(0, 0, 255); font-size: 12pt;">the following paragraph is <span style="text-decoration: underline;">added</span></span></strong><br></span></p></div></div></div><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">MPI_IMPROBE is a local procedure. According to the definitions in Section <span style="color: rgb(0, 0, 255);">2.4<span style="color: rgb(0, 0, 0);"> <span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">and in contrast to MPI_IPROBE,</span></span></span></span><span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);"> it is</span></span> a nonblocking procedure because it is the initialization of a matched receive operation.</span></span></span></span></span></span></span></span></span></span></span></span></p><p><br></p><p><br></p><p><span style="color: rgb(0, 0, 255);"><strong><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><span style='font-family: "segoe ui","segoe wp","segoe ui wpc",tahoma,arial,sans-serif;'>mpi32-report-ticket25-barcelona-vote-sep2018.pdf </span><br></em></span></span></span></span></span></span></span></span></span></span></span></span></strong></span></p><div style="font-family: calibri,arial,helvetica,sans-serif;"><div style="font-family: arial,helvetica,sans-serif;"><p><span style="font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="color: rgb(0, 0, 255);"><strong><span style="font-family: arial,helvetica,sans-serif;">MPI-3.NEXT #25</span><span style="font-family: arial,helvetica,sans-serif;"> Section </span>5.13 Persistent Collective Operations, page 216, <span style="text-decoration: underline;">after</span> lines 3-8</strong></span><br></span></span></span></span></span></span></span></span></span></span></span></span><span style='color: rgb(128, 128, 128); font-family: "times new roman","new york",times,serif;'>Initialization calls for MPI persistent collective operations are non-local and follow all the existing rules for collective operations, in particular ordering; programs that do not conform to these restrictions are erroneous. After initialization, all arrays associated with input arguments (such as arrays of counts, displacements, and datatypes in the vector versions of the collectives) must not be modifed until the corresponding persistent request is freed with MPI_REQUEST_FREE.<span style="font-family: cmr10; font-size: 12pt;"><br></span></span></span></p><div title="Page 97" class="page"><div class="layoutArea"><div class="column"><p><strong><span style="color: rgb(0, 0, 255); font-size: 12pt;">the following sentence and advice are <span style="text-decoration: underline;">added</span></span></strong><br></p></div></div></div><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">According to the definitions in Section <span style="color: rgb(0, 0, 255); font-family: cmr10; background-color: rgb(255, 255, 255);">2.4</span>, the persistent collective initialization procedures are nonblocking. They are also non-local procedures because they may or may not return before they are called in all MPI processes of the process group.<br><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><em style="font-family: cmr10; background-color: rgb(255, 255, 255);">Advice to users.</em></em> This is one of the exceptions in which nonblocking procedures are non-local. <em>(<em style="font-family: cmr10; background-color: rgb(255, 255, 255);">End of advice to users.</em>)</em></span></span></span></span></span></span></span></span></span></span></span></span></p></div></div><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: arial,helvetica,sans-serif;"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: arial,helvetica,sans-serif;"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10; font-size: 12pt;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="color: rgb(0, 0, 255);"><strong><span style="font-family: arial,helvetica,sans-serif;">MPI-3.1 </span><span style="font-family: arial,helvetica,sans-serif;">Section </span>13.4.5 Split Collective Data Access Routines, page 528, <span style="text-decoration: underline;">after</span> lines 20-24</strong></span><br></span></span></span></span></span></span></span></span></span></span></span></span><span style='color: rgb(33, 33, 33); font-family: "segoe ui","segoe wp","segoe ui wpc",tahoma,arial,sans-serif;'></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><p><span style="color: rgb(128, 128, 128); font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;">- An implementation is free to implement any split collective data access routine using the corresponding blocking collective routine when either the begin call (e.g., </span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">MPI</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">FILE</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">READ</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">ALL</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">BEGIN</span></span><span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;">) or the end call (e.g., </span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">MPI</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">FILE</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">READ</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">ALL</span></span><span style="font-family: CMTT10; font-size: medium;"><span style="font-family: CMTT10; font-size: medium;">_</span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">END</span></span><span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;">) is <span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;">issued. The begin and end calls are provided to allow the user and </span></span><span style="font-family: CMSS10; font-size: medium;"><span style="font-family: CMSS10; font-size: medium;">MPI </span></span><span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;">implementation <span style="font-family: CMR10; font-size: medium;"><span style="font-family: CMR10; font-size: medium;">to optimize the collective Operation.<span style="font-family: cmr10;"><br></span></span></span></span></span></span></span></span></span></span></p><div title="Page 97" class="page"><div class="layoutArea"><div class="column"><p><strong><span style="color: rgb(0, 0, 255); font-family: arial,helvetica,sans-serif;">the following sentence and advice are <span style="text-decoration: underline;">added</span></span></strong><br></p></div></div></div><p><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;">According to the definitions in Section <span style="color: rgb(0, 0, 255); font-family: cmr10; background-color: rgb(255, 255, 255);">2.4</span>, the begin procedures are nonblocking. They are also non-local procedures because they may or may not return before they are called in all MPI processes of the process group.<br><br></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><span style="font-family: CMR10;"><em><em style="font-family: cmr10; background-color: rgb(255, 255, 255);">Advice to users.</em></em> This is one of the exceptions in which nonblocking procedures are non-local. <em>(<em style="font-family: cmr10; background-color: rgb(255, 255, 255);">End of advice to users.</em>)</em></span></span></span></span></span></span></span></span></span></span></span></span><br></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p></div></div><div style="font-family: arial,helvetica,sans-serif;"><br></div><div style="font-family: arial,helvetica,sans-serif;"><span style="font-family: Tahoma, Geneva, sans-serif; font-size: small;"><span class="Object" id="OBJ_PREFIX_DWT1203_com_zimbra_url"><br><hr id="zwchr"><div><blockquote style="color: rgb(0, 0, 0); padding-left: 5px; font-family: Helvetica,Arial,sans-serif; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; margin-left: 5px; border-left-color: rgb(16, 16, 255); border-left-width: 2px; border-left-style: solid;"><b>From: </b>"Main MPI Forum mailing list" <mpi-forum@lists.mpi-forum.org><br><b>To: </b>"Main MPI Forum mailing list" <mpi-forum@lists.mpi-forum.org><br><b>Cc: </b>"Martin Schulz" <schulzm@in.tum.de><br><b>Sent: </b>Tuesday, October 9, 2018 9:22:04 AM<br><b>Subject: </b>[Mpi-forum] MPI Forum Virtual Meeting tomorrow (Wednesday 10am Central US time)<br></blockquote></div><div><blockquote style="color: rgb(0, 0, 0); padding-left: 5px; font-family: Helvetica,Arial,sans-serif; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; margin-left: 5px; border-left-color: rgb(16, 16, 255); border-left-width: 2px; border-left-style: solid;">Hi all,<br><div>Just as a reminder, tomorrow we will have our first (of five) virtual meeting in this quarter. The webex information can be reached via<br></div><div><a href="https://www.mpi-forum.org/meetings/" target="_blank">https://www.mpi-forum.org/meetings/<br></a></div><div>The topic will be “Terms and Conventions” and Puri will lead the discussion.</div><br><div>Thanks,<br></div><div>Martin</div><br><div><div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; -ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; -webkit-nbsp-mode: space;" dir="auto"><div style="-ms-word-wrap: break-word; -webkit-nbsp-mode: space;" dir="auto"><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px;">—</div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px;">Prof. Dr. Martin Schulz, Chair of Computer Architecture and Parallel Systems</div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px;">Department of Informatics, TU-Munich, Boltzmannstraße 3, D-85748 Garching</div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px;"><a href="mailto:schulzm@in.tum.de" target="_blank">Email: schulzm@in.tum.de<br></a></div></div></div></div></div><br>_______________________________________________<br>mpi-forum mailing list<br>mpi-forum@lists.mpi-forum.org<br>https://lists.mpi-forum.org/mailman/listinfo/mpi-Forum<a id="NoLP" href="http://vsc.ac.at/" target="_blank"><span style="color: rgb(68, 101, 111);"><br></span></a></blockquote></div><blockquote style="color: rgb(0, 0, 0); padding-left: 5px; font-family: Helvetica,Arial,sans-serif; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; margin-left: 5px; border-left-color: rgb(16, 16, 255); border-left-width: 2px; border-left-style: solid;"></blockquote></span><blockquote style="color: rgb(0, 0, 0); padding-left: 5px; font-family: Helvetica,Arial,sans-serif; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; margin-left: 5px; border-left-color: rgb(16, 16, 255); border-left-width: 2px; border-left-style: solid;"></blockquote></span><br></div></div></div></div></div></div></div></div></div></div></div><br><div data-marker="__SIG_POST__">-- <br></div><div>Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner@hlrs.de .<br>High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .<br>University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .<br>Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner .<br>Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .</div></div></body></html>