On Thu, May 6, 2010 at 10:16 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
I'd like to add a MPI_Comm as the first argument to PetscError() and friends.<br>
<br>
In this way, if the same error is known over all the communicator ranks it can print just one nice error message and stack instead of spewing out many of the same messages all over the place.<br>
<br>
Does anyone object to this?<br></blockquote><div><br></div><div>I am just worried that it will introduce deadlocks. If an error occurs on only one process</div><div>and not another (like a NaN), but we use the entire communicator, we can get deadlock</div>
<div>on the error message which will be very confusing. Is there a nice MPI way of checking</div><div>whether everyone is present, and if not then just use the current method?</div><div><br></div><div> Matt</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
It does mean for each SETERRQXXX() we call we need to select the correct comm that is passed in. I will do all that, worst case just use MPI_COMM_SELF for some and get the same effect as today.<br>
<font color="#888888">
<br>
Barry<font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#888888"><br></font></font></font></blockquote></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>