<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">It is amusing that the original reason for the restriction on aliasing of arguments comes from Fortran - MPI-1 wanted the language-independent spec to be expressible in both Fortran and C, and this is a property of Fortran (and one which aids in performance).  <div><br></div><div>Bill</div><div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-size: 12px; ">William Gropp</div><div style="font-size: 12px; ">Director, Parallel Computing Institute</div></div></span><span class="Apple-style-span" style="font-size: 12px; ">Thomas M. Siebel Chair in Computer Science</span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">University of Illinois Urbana-Champaign</div></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Aug 22, 2014, at 6:04 PM, Brian Van Straalen <<a href="mailto:bvstraalen@lbl.gov">bvstraalen@lbl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div>Disabling the check is probably a bad idea.   if you disable it in MPI you will still push a call to memcpy that has aliased buffers.    For many systems memcpy still does the right thing, but modern fancy memcpy implementations have permission to produce wrong results if the regions overlap.<div><div><br></div><div>The MPI spec is clear, and the coarray spec is also clear, and clearly different.  I would recommend handling this in your library implementation and leave your MPI build as standard.  Other MPI builds will be done standard and you will just be delaying the work.   You can’t call MPI_Get with aliased locations.</div><div><br></div><div>Brian</div><div><br></div><div><br></div><div><br><div><div>On Aug 22, 2014, at 3:18 PM, Alessandro Fanfarillo <<a href="mailto:fanfarillo@ing.uniroma2.it">fanfarillo@ing.uniroma2.it</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Could you tell me which flag disables the check? I would suggest this<br>procedure as temporary workaround.<br><br>Thanks<br><br>On Fri, Aug 22, 2014 at 2:41 PM, Balaji, Pavan <<a href="mailto:balaji@anl.gov">balaji@anl.gov</a>> wrote:<br><blockquote type="cite"><br>On Aug 22, 2014, at 1:43 PM, Brian Van Straalen <<a href="mailto:bvstraalen@lbl.gov">bvstraalen@lbl.gov</a>> wrote:<br><blockquote type="cite">Is there a significant cost to have the MPI implementation provide a check for aliasing?<br></blockquote><br>We do check for this error by default in MPICH (which is why this email thread started).<br><br>There’s a way to turn off the checking through a configure flag as well as an environment variable, if needed.  But that’s essentially saying — I know it’s wrong, but I’m too lazy to fix my application.<br><br>  — Pavan<br><br>--<br>Pavan Balaji  ✉️<br><a href="http://www.mcs.anl.gov/~balaji">http://www.mcs.anl.gov/~balaji</a><br><br>_______________________________________________<br>discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>To manage subscription options or unsubscribe:<br><a href="https://lists.mpich.org/mailman/listinfo/discuss">https://lists.mpich.org/mailman/listinfo/discuss</a><br></blockquote><br><br><br>-- <br><br>Alessandro Fanfarillo<br>Dip. di Ingegneria Civile ed Ingegneria Informatica<br>Università di Roma "Tor Vergata"<br>NCAR Office: +1 (303) 497-2442<br>Tel: +39-06-7259 7719<br>_______________________________________________<br>discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>To manage subscription options or unsubscribe:<br><a href="https://lists.mpich.org/mailman/listinfo/discuss">https://lists.mpich.org/mailman/listinfo/discuss</a></blockquote></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div><div><font class="Apple-style-span" face="'Courier New'">Brian Van Straalen         Lawrence Berkeley Lab</font></div><div><font class="Apple-style-span" face="'Courier New'"><a href="mailto:BVStraalen@lbl.gov">BVStraalen@lbl.gov</a>         Computational Research</font></div><div><font class="Apple-style-span" face="'Courier New'">(510) 486-4976             Division (<a href="http://crd.lbl.gov/">crd.lbl.gov</a>)</font></div></div><div><br></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></div></div></div>_______________________________________________<br>discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>To manage subscription options or unsubscribe:<br><a href="https://lists.mpich.org/mailman/listinfo/discuss">https://lists.mpich.org/mailman/listinfo/discuss</a></blockquote></div><br></div></body></html>