Commit 2323360
Caleb Min Sup Kim
[autotuner] Reduction fact layer: ReductionFact + AccumulatorFact + enriched MemoryOpFact
Add the reduction fact layer the Triton reduction seed heuristic will read, built in
the compiler fact pass. No heuristic yet — that lands in the next PR; these facts are
populated but not consumed here.
- helion/autotuner/config_spec.py: ReductionFact, AccumulatorFact, enriched
MemoryOpFact (per-op provenance), and the fact storage fields on ConfigSpec.
- helion/_compiler/device_ir.py: a 3-phase fact build (roll reductions, collect
enriched memory-op facts after rolling, derive reduction/accumulator facts) that
replaces bespoke per-config graph walks.
- full_width_output / input_load_itemsize key on the reduction AXIS via a new
MemoryOpFact.subscript_block_ids (block-id read from the index subscript, resolved
reduction-agnostically) rather than an inner_extent==size_hint size-match — faithful
for user-tiled (T2) reductions whose reduction block is reduction=False, and immune to
a non-reduction dim coincidentally equal to the reduction extent. Byte-identical seed
configs across the curriculum (no size coincidences existed).
- test/test_memory_op_facts.py: fact coverage incl. the indexing-slot invariant.
- test/test_barrier.py: update the rdim / config_spec fakes for the new fact build.
stack-info: PR: #2761, branch: calebmkim/stack/21 parent f212074 commit 2323360
4 files changed
Lines changed: 614 additions & 18 deletions
File tree
- helion
- _compiler
- autotuner
- test
0 commit comments