carm gui

Launch the interactive CARM GUI, a Dash + Plotly dashboard for exploring roofline plots and application performance data.

Run carm gui --help for a full argument listing.

Basic Usage

carm gui [options]

Once launched, open the URL printed in the terminal (default: http://0.0.0.0:8050) in your browser.

What You’ll See

The GUI displays the architecture’s roofline — peak performance bounds for compute and memory at each cache level — with application data points plotted on it (if profiling data was loaded). Each point represents a code region positioned by its performance (GFLOP/s) and arithmetic intensity (FLOP/byte).

  • Memory-bound points fall below the roofline intersection — they benefit from better data locality and reduced memory traffic.
  • Compute-bound points sit on or near the compute roof — they benefit from increasing computational intensity.
  • The distance to the roofline shows how much performance headroom exists.
  • Clicking an application point emphasizes the roof ceilings according to the point’s cache-residency fractions.

Arguments by Category

Where to find data (--results-dir)

The GUI scans --results-dir (default: platform user data dir for carm) for benchmark roofline data and application profiling data. Point it elsewhere if your results live in a non-standard location.

Server configuration (--gui-host, --gui-port, --gui-debug)

The Dash server binds to 0.0.0.0:8050 by default, making it accessible from other machines in the network. Set --gui-host to a specific address (e.g. 127.0.0.1) if you want to restrict access.

Verbosity (--verbose)

Level of terminal output: --verbose [0-4] (0 = quiet, 4 = debug). The default is 3 (configuration details); a bare -v means level 4. Useful when diagnosing why the GUI can’t find or parse result files.

Loading Data

The GUI automatically discovers:

  • benchmarks.jsonl: benchmark records generated by carm benchmark, defining the architecture’s roofs
  • applications.jsonl: profiling data generated by carm profile

Data is loaded once at GUI startup — a page refresh does not rescan the results directory. Restart the GUI to pick up new benchmark or profiling results.

Paraver mode

Passing --paraver-trace (optionally with --paraver-window-csv) switches the GUI into Paraver mode: the trace’s bursts are plotted on the roofline, a time-window slider and arithmetic-intensity/duration filters control the displayed view, and a Paraver panel exports the metrics back as Paraver-importable windows. See the Paraver section for the full list of controls and exports.

GUI Features

Settings

The Settings panel (navbar button) groups plotting and appearance controls:

  • Plotting settings: Normalize performance by threads
  • Plot style: 2^N axis tick labels, Show roof fills, Point size multiplier, Line width, and font sizes for axis labels, axis ticks, tooltips, and the legend

Copyright © CHaMP Team. Distributed under an Apache 2.0 license.

This site uses Just the Docs, a documentation theme for Jekyll.