Skip to content

Plot convergence rates and scalability from output logs of PETSc programs

Notifications You must be signed in to change notification settings

jedbrown/petscplot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

PETScPlot is a simple tool for plotting convergence rates and scalability from output logs of PETSc programs.

Dependencies:

python-2.5 or later: http://python.org
numpy: http://numpy.org
matplotlib: http://matplotlib.sourceforge.net

Usage:

[Read the doc strings, they are more likely to be up-to-date.  Also run
with -help.]

Run your program with -{ksp,snes}_{monitor,converged_reason} and
redirect the output into a file, perhaps for multiple problem sizes, or
on different machines.  If you want timing information, also use
-log_summary.

Note: Currently the problem size parsing is specific to
src/snes/examples/tutorials/ex48, it really needs to be made generic,
but that requires the user to write a small code snippet to parse their
header.

Then pass series of log files to petscplot, as in the following examples.

petscplot -t algorithmic foo{2,3,4,5,6}.log : bar{2,3,4,5,6}.log

  Plots average number of Krylov iterations per nonlinear iteration
  versus number of nodes, on a log-log scale.

petscplot --type=algorithmic foo{2,3,4,5,6}.log : bar{2,3,4,5,6}.log \
  --legend-labels='Foo Algorithm:Bar' --output=foobar.png

  Uses the given legend (instead of first filename in each series) and
  directs output to the PNG file.

petscplot -t snes -m poster gridsequenced.log -o foobar.eps

  Plots hybrid linear and nonlinear residuals for a grid-sequenced
  simulation, formatted for placement on a poster, in EPS format (short
  style options).

petscplot -t weak SERIES [ : SERIES ] ...

  Not implemented yet, but necessary data has been parsed.

petscplot -t strong [--stage STAGE] [--event EVENT] SERIES [ : SERIES ] ...

  Plots solve time versus number of procs on a log-log scale with the
  optimal slope=-1 line shown.

About

Plot convergence rates and scalability from output logs of PETSc programs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages