-
Notifications
You must be signed in to change notification settings - Fork 2
AdaptiveOrder
AdaptiveOrder (-o 14) is GraphBrew's runtime selection boundary. The
validated path is a frozen deterministic rule, not a machine-learning
model.
For the complete decision, examples, and evidence, see All-Kernel Low-Reuse Selector.
# Reuse one materialized mapping once
./bench/bin/pr -f graph.sg -s \
-o '14:_:_:_:allkernel-lowreuse-rule:best-endtoend:1' \
-n 3
# Reuse one materialized mapping twice
./bench/bin/bfs -f graph.sg -s \
-o '14:_:_:_:allkernel-lowreuse-rule:best-endtoend:2' \
-n 3Reuse is mandatory and must be 1 or 2.
AdaptiveOrder does not require a previous kernel run. It:
- samples degree structure from the new graph;
- models the kernel property footprint relative to machine LLC;
- reads kernel identity and declared reuse;
- applies the frozen predicate once; and
- chooses the promoted GraphBrew composition or Boost Rabbit.
It does not use graph names, benchmark-database lookup, runtime training, nearest-neighbor search, or trial execution of candidate reorderers.
GraphBrew branch:
12:leiden:compose:sg_none:comm_size_desc:intra_gorder:gw8:
cd_parallel:sgmb4096:gordf5000:norefine:2:2
Fallback branch:
8:boost
The branch decision is deterministic. A selected GraphBrew mapping can still
vary because cd_parallel is schedule-sensitive.
- PR and PR-SpMV
- BFS
- Afforest CC and CC-SV
- BC
- SSSP
- reuse 1 or 2
- graphs with at least 1000 vertices
Unsupported contexts use the fallback.
The public portfolio evidence accounts for:
chosen mapping cost + reuse x chosen kernel time
It does not store Adaptive Feature Time. The deployable binary prints that
value separately, and final deployment timing must add it.
Legacy offline-model modes remain for research compatibility but are not the validated contribution.