changes to petsc-dev may require you to update your source, previously Re: How come it is PetscEvent but all the routines that act on it are PetscLogEventXXXX()?

Barry Smith bsmith at
Fri May 9 23:30:07 CDT 2008

   I have made the following changes to Petsc-dev that may require you  
to update your source code:

         <li>The int stage used in the PetscLogStageXXX() routines is  
now a PetscLogStage</li>
         <li>PetscEvent is now PetscLogEvent</li>
         <li>PetscLogEventRegister() and PetscLogStageRegister() now  
return the result in the final argument instead of the first</li>
         <li>PetscLogClassRegister() is changed to  
PetscCookieRegister() and returns the cookie in the final argument,  
not the first</li>

   Please let petsc-maint know immediately if you find a problem, and  
feel free to curse me out for the changes


   I realized that I was the one who made the initial mistake. I  
introduced PetscEvent because I did not like the int that make
was using for events. I should have, at that time, introduced  
PetscLogEvent, not PetscEvent. I also didn't fix the stage like I  
should have.

On May 7, 2008, at 10:48 AM, Richard Tran Mills wrote:

> Barry,
> I like the the suggestion to change PetscLogEvent* to PetscEvent*,  
> but to be consistent with naming then I think we would also need to  
> change PetscLogStage* to PetscStage*, etc.
> Just my 0.5 cents.
> --Richard
> Barry Smith wrote:
>> On May 5, 2008, at 7:39 PM, Matthew Knepley wrote:
>>> Actually, I would argue that these methods do not actually act on  
>>> PetscEvent
>>> at all (which is just an integer), but rather on a PetscLog. That  
>>> is why I named
>>> them that way.
>>   The namage has to be consistent with any normal Joe's thinking  
>> about the usage,
>> not based on some implementation issue that only you know about.  
>> Names are for
>> users, not for the guru developers. Guru developers could name  
>> their variables and
>> functions a1 to a2303 and have no problem maintaining the code.
>>  I think the macro names should be changed to PetscEventBegin.... not
>> PetscLogEventBegin.... based on the policy in PETSc that "methods"  
>> on "objects"
>> start with the name of the objects: e.g. MatMult(Mat,....) The user  
>> shouldn't know
>> or care that PetscEvent is an int and not a PetscEvent or  
>> PetscLogEvent object.
>>   Barry
>> We could instead change PetscEvent to PetscLogEvent but I think  
>> PetscEvent
>> is clear enough without the Log in it.
>>> Matt
>>> On Sat, May 3, 2008 at 6:26 PM, Barry Smith <bsmith at>  
>>> wrote:
>>>>  Doesn't seem right.
>>>>  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
> -- 
> Richard Tran Mills, Ph.D.            |   E-mail: rmills at
> Computational Scientist              |   Phone:  (865) 241-3198
> Computational Earth Sciences Group   |   Fax:    (865) 574-0405
> Oak Ridge National Laboratory        |

More information about the petsc-dev mailing list