[petsc-dev] adding comm argument to PetscError() and friends

Barry Smith bsmith at mcs.anl.gov
Fri May 7 15:15:14 CDT 2010


   I think you have to admit that 

[bsmith-laptop:snes/examples/tutorials] barrysmith% petscmpiexec -n 5 ./ex19 -pc_type ilu
[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: Argument out of range!
[0]PETSC ERROR: Partition in y direction is too fine! 4 5!
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:10:42 2010
[0]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[0]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[0]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[0]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[0]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[cli_0]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
Killed (signal 9)

  I s a much better message than 


[bsmith-laptop:snes/examples/tutorials] barrysmith% petscmpiexec -n 5 ./ex19 -pc_type ilu
[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: Argument out of range!
[0]PETSC ERROR: Partition in y direction is too fine! 4 5!
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[0]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[0]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[0]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[0]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[0]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[cli_0]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[1]PETSC ERROR: --------------------- Error Message ------------------------------------
[1]PETSC ERROR: Argument out of range!
[1]PETSC ERROR: Partition in y direction is too fine! 4 5!
[1]PETSC ERROR: ------------------------------------------------------------------------
[1]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[1]PETSC ERROR: See docs/changes/index.html for recent updates.
[1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[1]PETSC ERROR: See docs/index.html for manual pages.
[1]PETSC ERROR: ------------------------------------------------------------------------
[1]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[1]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[1]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[1]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[1]PETSC ERROR: ------------------------------------------------------------------------
[1]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[1]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[1]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[1]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[1]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[1]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[cli_1]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[2]PETSC ERROR: --------------------- Error Message ------------------------------------
[2]PETSC ERROR: Argument out of range!
[2]PETSC ERROR: Partition in y direction is too fine! 4 5!
[2]PETSC ERROR: ------------------------------------------------------------------------
[2]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[2]PETSC ERROR: See docs/changes/index.html for recent updates.
[2]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[2]PETSC ERROR: See docs/index.html for manual pages.
[2]PETSC ERROR: ------------------------------------------------------------------------
[2]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[2]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[2]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[2]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[2]PETSC ERROR: ------------------------------------------------------------------------
[2]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[2]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[2]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[2]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[2]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[2]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[cli_2]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[4]PETSC ERROR: --------------------- Error Message ------------------------------------
[4]PETSC ERROR: Argument out of range!
[4]PETSC ERROR: Partition in y direction is too fine! 4 5!
[4]PETSC ERROR: ------------------------------------------------------------------------
[4]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[4]PETSC ERROR: See docs/changes/index.html for recent updates.
[4]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[4]PETSC ERROR: See docs/index.html for manual pages.
[4]PETSC ERROR: ------------------------------------------------------------------------
[4]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[4]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[4]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[4]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[4]PETSC ERROR: ------------------------------------------------------------------------
[4]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[4]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[4]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[4]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[4]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[4]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[cli_4]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[3]PETSC ERROR: --------------------- Error Message ------------------------------------
[3]PETSC ERROR: Argument out of range!
[3]PETSC ERROR: Partition in y direction is too fine! 4 5!
[3]PETSC ERROR: ------------------------------------------------------------------------
[3]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[3]PETSC ERROR: See docs/changes/index.html for recent updates.
[3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[3]PETSC ERROR: See docs/index.html for manual pages.
[3]PETSC ERROR: ------------------------------------------------------------------------
[3]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[3]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[3]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[3]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[3]PETSC ERROR: ------------------------------------------------------------------------
[3]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[3]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[3]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[3]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[3]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[3]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3
[cli_3]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3

[bsmith-laptop:snes/examples/tutorials] barrysmith% petscmpiexec -n 5 ./ex19 -pc_type ilu
[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: Argument out of range!
[0]PETSC ERROR: Partition in y direction is too fine! 4 5!
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[0]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[0]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[0]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[0]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[0]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[cli_0]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[1]PETSC ERROR: --------------------- Error Message ------------------------------------
[1]PETSC ERROR: Argument out of range!
[1]PETSC ERROR: Partition in y direction is too fine! 4 5!
[1]PETSC ERROR: ------------------------------------------------------------------------
[1]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[1]PETSC ERROR: See docs/changes/index.html for recent updates.
[1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[1]PETSC ERROR: See docs/index.html for manual pages.
[1]PETSC ERROR: ------------------------------------------------------------------------
[1]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[1]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[1]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[1]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[1]PETSC ERROR: ------------------------------------------------------------------------
[1]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[1]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[1]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[1]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[1]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[1]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[cli_1]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[2]PETSC ERROR: --------------------- Error Message ------------------------------------
[2]PETSC ERROR: Argument out of range!
[2]PETSC ERROR: Partition in y direction is too fine! 4 5!
[2]PETSC ERROR: ------------------------------------------------------------------------
[2]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[2]PETSC ERROR: See docs/changes/index.html for recent updates.
[2]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[2]PETSC ERROR: See docs/index.html for manual pages.
[2]PETSC ERROR: ------------------------------------------------------------------------
[2]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[2]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[2]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[2]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[2]PETSC ERROR: ------------------------------------------------------------------------
[2]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[2]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[2]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[2]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[2]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[2]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[cli_2]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[4]PETSC ERROR: --------------------- Error Message ------------------------------------
[4]PETSC ERROR: Argument out of range!
[4]PETSC ERROR: Partition in y direction is too fine! 4 5!
[4]PETSC ERROR: ------------------------------------------------------------------------
[4]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[4]PETSC ERROR: See docs/changes/index.html for recent updates.
[4]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[4]PETSC ERROR: See docs/index.html for manual pages.
[4]PETSC ERROR: ------------------------------------------------------------------------
[4]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[4]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[4]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[4]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[4]PETSC ERROR: ------------------------------------------------------------------------
[4]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[4]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[4]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[4]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[4]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[4]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[cli_4]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[3]PETSC ERROR: --------------------- Error Message ------------------------------------
[3]PETSC ERROR: Argument out of range!
[3]PETSC ERROR: Partition in y direction is too fine! 4 5!
[3]PETSC ERROR: ------------------------------------------------------------------------
[3]PETSC ERROR: Petsc Development HG revision: c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[3]PETSC ERROR: See docs/changes/index.html for recent updates.
[3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[3]PETSC ERROR: See docs/index.html for manual pages.
[3]PETSC ERROR: ------------------------------------------------------------------------
[3]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org by barrysmith Fri May  7 15:05:55 2010
[3]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[3]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[3]PETSC ERROR: Configure options --download-scalapack --download-mpich --download-parmetis --download-mumps PETSC_ARCH=arch-gnu --download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran -m64"
[3]PETSC ERROR: ------------------------------------------------------------------------
[3]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[3]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[3]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in src/dm/da/src/dacreate.c
[3]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[3]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[3]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3
[cli_3]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3

x
On May 7, 2010, at 1:24 PM, Barry Smith wrote:

> 
> On May 7, 2010, at 1:04 PM, Matthew Knepley wrote:
> 
>> On Thu, May 6, 2010 at 10:16 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>> 
>>   I'd like to add a MPI_Comm as the first argument to PetscError() and friends.
>> 
>>   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.
>> 
>>   Does anyone object to this?
>> 
>> I am just worried that it will introduce deadlocks. If an error occurs on only one process
>> and not another (like a NaN), but we use the entire communicator, we can get deadlock
>> on the error message which will be very confusing.
> 
>    The idea is that by default we would pass in PETSC_COMM_SELF. Only when we KNOW 100% that ALL ranks in a process WILL FOR ABSOLUTE sure generate the same error would be pass the entire comm to SETERRQ() For example, if the user has set an invalid PC type etc. So a process generating a NAN would use only a PETSC_COMM_SELF in the SETERRQ().
> 
>    You are right that there is a chance when totally bizarre shit happens that rank 1 of a comm calls SETERRQ() but rank 0 does not; then no appropriate error message will be printed. I don't see a way to totally avoid this chance. So we can
> 
> 1) ignore this chance and make the change and see what happens
> 2) leave things the same as they are now.
> 
>    Even if it turns out we cannot have only rank 0 of the SETERRQ() print the message because bizarre shit happens too often, I think conceptually it is the right thing to do to pass in the MPI_Comm over which the error happens. So I'd like to make the chance and we can always take out the control over printing by rank 0 if it is a problem (i.e. the default error handles could ignore the comm).
> 
>    I'm going to try this and see if I can work out the kinks before pushing.
> 
>> Is there a nice MPI way of checking
>> whether everyone is present, and if not then just use the current method?
> 
>    No, absolutely not since that would require communication with everyone who may not be there.
> 
>    Barry
> 
>> 
>>    Matt
>>  
>>   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.
>> 
>>   Barry
>> -- 
>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>> -- Norbert Wiener
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100507/558e0b49/attachment.html>


More information about the petsc-dev mailing list