ExecStreamGraphVisualization

From Eigenpedia

Jump to: navigation, search

The ExecStreamGraph class provides method renderGraphviz which dumps a .dot representation of the graph to an ostream. You can get this to happen automatically for every graph scheduled by setting trace net.sf.fennel.xo.scheduler.level=FINE (see FennelTracing or FarragoTracing depending on how you're executing the graph). The .dot file will be written to $FENNEL_HOME/trace/ExecStreamGraph.dot.


Once you have a .dot file, you need to install Graphviz to view it. On Debian-based systems, apt-get install graphviz. You can use the dotty utility to view and edit a graph, e.g.

dotty ExecStreamGraph.dot

You should see something like this:

Image:dotty.png

The graph is rendered in the traditional iterator orientation, with source "leaves" at the bottom and sink at the top. The edge arrow orientations indicate the direction of dataflow.


dotty is a fairly clunky old X Windows program. To get a nicer read-only rendering of the graph, use the dot utility, e.g.

dot -Tpng ExecStreamGraph.dot > ExecStreamGraph.png

Or, install ImageMagick first (e.g. apt-get install imagemagick) and pipe dot's output into the display utility to get it onto your screen directly:

dot -Tpng ExecStreamGraph.dot | display

to get something like

Image:dot.png

Personal tools