Skip to content

Latest commit

 

History

History
39 lines (26 loc) · 1.45 KB

bar.md

File metadata and controls

39 lines (26 loc) · 1.45 KB

scope_plot bar

ScopePlot can be used to generate bar graphs without a full spec file. For example

$ scope_plot bar --help

Usage: scope_plot bar [OPTIONS] BENCHMARK X_FIELD Y_FIELD OUTPUT

  Create a bar graph from BENCHMARK data (default stdin) using X_FIELD and
  Y_FIELD as the fields for the x- and y-data respectively, rendering to
  OUTPUT.

Options:
  --filter-name TEXT  only keep benchmarks with this name
  --help              Show this message and exit.

The options allow you to plot only certain entries in the file, and to select specific fields from those benchmark entries to work as the x and y axis of the plot.

python -m scope_plot bar benchmark.json results.pdf --name-regex "NUMAUM_Prefetch_GPUToHost/.*/0/0" --y-field "bytes_per_second" --x-field=bytes

Build Scope with support for Comm|Scope.

cd scope
cmake -DENABLE_COMM ...

Try generating some data from the Comm_NUMAMemcpy_HostToPinned/.*/0/0 sequence of benchmarks. This repeats each benchmark 5 times to generate aggregate data.

./scope --benchmark_filter="Comm_NUMAMemcpy_HostToPinned/.*/0/0" --benchmark_out=Comm_NUMAMemcpy_HostToPinned.json --benchmark_repetitions=5

Create a bar graph in output.pdf. Only keep entries with "mean" in the name (the mean of the 5 aggregated entries).

scope_plot bar --filter-name=mean Comm_NUMAMemcpy_HostToPinned.json bytes bytes_per_second output.pdf