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

Koos Huijssen koos.huijssen at vortech.nl
Mon Sep 14 07:45:41 CDT 2015


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.
- 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 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
____________________________________________________________________

-------------- next part --------------
A non-text attachment was scrubbed...
Name: timers.tar.gz
Type: application/x-gzip
Size: 290872 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150914/12a0bf2d/attachment.gz>


More information about the petsc-dev mailing list