PetscLogView#
Prints a summary of the logging.
Synopsis#
#include "petscsys.h"
PetscErrorCode PetscLogView(PetscViewer viewer)
Collective
Input Parameter#
viewer - an ASCII viewer
Options Database Keys#
-log_view viewer_specification - Views summary of the logging at the conclusion of the program, see
PetscOptionsCreateViewer()for the format ofviewer_specification-log_view_memory (true|false) - Also display memory usage in each event
-log_view_gpu_time - Also display time in each event for GPU kernels (Note this may slow the computation)
-log_view_gpu_energy - Also display energy (estimated with power*gtime) in Joules for GPU kernels
-log_view_gpu_energy_meter - [Experimental] Also display energy (readings from energy meters) in Joules for GPU kernels. This option is ignored if
-log_view_gpu_energyis provided.-log_all [filename] - Saves a file
Log.rankfor each MPI process with details of each step of the computation, whererankis the rank of each MPI process-log_trace [filename] - Displays a trace of what each process is doing
Notes#
It is possible to control the logging programmatically but we recommend using the options database approach whenever possible By default the summary is printed to stdout.
Before calling this routine you must have called either PetscLogDefaultBegin() or PetscLogNestedBegin()
If PETSc is configured with --with-log=0 then this functionality is not available
To view the nested XML format filename.xml first copy ${PETSC_DIR}/share/petsc/xml/performance_xml2html.xsl to the current
directory then open filename.xml with your browser. Specific notes for certain browsers
Firefox and Internet explorer - simply open the file
Google Chrome - you must start up Chrome with the option `--allow-file-access-from-files`
Safari - see https://ccm.net/faq/36342-safari-how-to-enable-local-file-access
or one can use the package http://xmlsoft.org/XSLT/xsltproc2.html to translate the xml file to html and then open it with
your browser.
Alternatively, use the script ${PETSC_DIR}/lib/petsc/bin/petsc-performance-view to automatically open a new browser
window and render the XML log file contents.
The nested XML format was kindly donated by Koos Huijssen and Christiaan M. Klaij MARITIME RESEARCH INSTITUTE NETHERLANDS
The Flame Graph output can be visualised using either the original Flame Graph script brendangregg/FlameGraph
or using speedscope https://www.speedscope.app.
Old XML profiles may be converted into this format using the script ${PETSC_DIR}/lib/petsc/bin/xml2flamegraph.py.
Example Usage#
-log_view :filename - Prints summary of log information to a file
-log_view :filename.py:ascii_info_detail - Saves logging information from each process as a Python file
-log_view :filename.xml:ascii_xml - Saves a summary of the logging information in a nested format (see above for how to view it)
-log_view :filename.txt:ascii_flamegraph - Saves logging information in a format suitable for visualising as a Flame Graph (see above for how to view it)
-log_view :filename.csv:ascii_csv - Saves logging information as a comma-separated values file
See Also#
Level#
beginner
Location#
Index of all Log routines
Table of Contents for all manual pages
Index of all manual pages