Repository navigation
Benchmark Suite
GraphBrew evaluates ordering cost and graph-kernel behavior through one public entry point:
python3 scripts/graphbrew_experiment.py --helpUse Running Benchmarks for commands and Python Scripts for package ownership.
# Rapid debugging path
python3 scripts/graphbrew_experiment.py --full --size small --quick
# One phase
python3 scripts/graphbrew_experiment.py --phase benchmark --size small
# Inspect a broad plan without executing it
python3 scripts/graphbrew_experiment.py --target-graphs 50 --dry-run
Large graphs, mappings, and campaign results belong under the configured
external graph and artifact roots. Generic observations use
results/data/benchmarks.json.
Report these components separately:
mapping generation
permutation validation
CSR relocation
kernel-only time
mapping + reuse x kernel
Pre-generated mappings let every kernel use the same permutation without charging mapping construction inside each kernel trial.
For baseline kernel time (T_b), reordered kernel time (T_r), mapping cost (T_m), and reuse (N):
end-to-end speedup = N x T_b / (T_m + N x T_r)
break-even reuse = T_m / (T_b - T_r)
The analysis modules compute these metrics from raw observations; they do not replace the raw timing records.
- generic observations:
results/data/benchmarks.json - graph properties:
results/data/graph_properties.json - mappings:
results/mappings/ - large campaigns: an explicitly configured external output root
Historical offline-model files may exist under results/data/; they are
optional compatibility artifacts.