[petsc-dev] Nested event logging and human friendly output

Matthew Knepley knepley at gmail.com
Mon Sep 14 08:20:14 CDT 2015


On Mon, Sep 14, 2015 at 8:14 AM, Koos Huijssen <koos.huijssen at vortech.nl>
wrote:

> Dear Matt,
>
> On 14-9-2015 14:50, Matthew Knepley wrote:
>
> On Mon, Sep 14, 2015 at 7:45 AM, Koos Huijssen <koos.huijssen at vortech.nl>
> wrote:
>
>> Dear PETSc development team,
>>
>> We have developed an extension of the PETSc event logging facilities that
>> has the following advanced features:
>>
>> - It allows logging of events in the form of a nested tree. So if some
>> function is called from multiple locations in the code, these instances are
>> distinguished. This in contrast with the standard event logger, which only
>> logs the amount of total call time.
>>
>
> How is this different from using stages?
>
> Stages have to be set up explicitly, and there can only be 10 stages. The
> nested event facility automatically provides a 'staged' appearance, as it
> keeps track of the whole tree of parent routines. As a user you don't have
> to bother about it, you just do your LogEventBegin - LogEventEnd and the
> rest is taken care by the system. Yet, the instrumentation is not heavy, so
> it doesn't introduce huge overhead in the code.
>

Okay, so  this is automatic staging anytime an event is used in a different
place in the call chain? That sounds nice. It
would be good if it could be overridden to identify events since sometimes
the output can get complex.

  Thanks,

    Matt


>
>
> - It allows the output report to be formatted in XML format. This output
>> can then be viewed in a human-friendly form in a web browser
>>  with the use of the XSL Transformation script performance_xml2html.xsl.
>> The html features an nested timings tree that can be expanded and collapsed
>> as desired.
>>
>
> This sounds fine and useful. We will look at the code.
>
> Great! Let me hear if you need further clarification.
>
> Kind regards,
>
> Koos
>
>
>
>   Thanks,
>
>      Matt
>
>
>> This tool has been very useful for us to analyze the code and pinpoint
>> performance bottle necks. We think that it can be useful for others as
>> well, and therefore we are providing the code here for integration in the
>> open source distribution of PETSc.
>>
>> For more information I refer to the included manual. We have also
>> provided a test program and a makefile for convenience. The test program
>> can be run using MPI with for instance 3-6 processes.
>>
>> I apologize for not using the git repo to submit the developed code. I
>> also apologize for not adhering to the PETSc coding standards (or at least
>> not as far as I know), but I hope that it is not too far off.. Apart from
>> the whole capital/underscore standardization stuff one issue may require
>> special attention, namely the (ab)use of the format PETSc_VIEWER_ASCII_IMPL
>> for signaling the XML format in XMLViewer.c. I couldn't find an already
>> existing and better fitting format, but it could be necessary to add a new
>> format here for this purpose.
>>
>> Can you take it up from here and realize the integration of the code in
>> the PETSc distribution?
>>
>> With kind regards,
>>
>> Koos Huijssen
>>
>> --
>> ____________________________________________________________________
>>
>> VORtech BV - Scientific software engineers
>> ____________________________________________________________________
>>
>> Dr.ir. Koos Huijssen
>>
>> P.O. Box 260
>> 2600 AG Delft
>> The Netherlands
>>
>> phone  +31(0)15-285 0125
>> mobile +31(0)6-3333 0803
>> email koos.huijssen at vortech.nl
>> web   www.vortech.nl
>> ____________________________________________________________________
>>
>>
>
>
> --
> 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
>
>
> --
> ____________________________________________________________________
>
> VORtech BV - Scientific software engineers
> ____________________________________________________________________
>
> Dr.ir. Koos Huijssen
>
> P.O. Box 260
> 2600 AG Delft
> The Netherlands
>
> phone  +31(0)15-285 0125
> mobile +31(0)6-3333 0803
> email koos.huijssen at vortech.nl
> web   www.vortech.nl
> ____________________________________________________________________
>
>


-- 
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/20150914/7b430fc0/attachment.html>


More information about the petsc-dev mailing list