SIGN IN SIGN UP

[Layout][Inference] Add IO-aware cost model for free-mode selection (#2960)

* [Layout] Add IO-aware layout inference cost model

* [Layout] Refine IO-aware scoring and add verification harness

* [Layout] Speed up IO-aware cost evaluation

* [Layout] Enable the IO-aware layout cost model by default

tl.layout_cost_model now defaults to true; set it to false to restore
the legacy register-count-only selection.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* [Layout] Add free-mode attempt state logging

Debug aid: dump per-attempt operator/layout state and the layout maps
around InferInFreeMode.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* [Layout] Replace enumerated cost scoring with CuTe algebra

Derive vector width and coalescing cost from composed CuTe layouts without materializing the production address table. Keep exact enumeration behind a verification flag and extend the layout-inference harness with parity and lowered-vector anchors.

* [Docs] Add TileLang layout system skill

* [Layout] Streamline CuTe cost evaluation

Preflatten CuTe layouts into integer extent/stride modes for the hot scoring loop. Remove the temporary in-tree enumeration oracle and its pass config after parity validation, while keeping the Python CuTe-vs-NumPy check as the standing guard.

* [Layout] Name layout cost model policies

Replace the boolean free-mode cost-model switch with explicit io-aware and register-count policy names. Validate unknown policy names and update the layout inference harness and documentation to use the named interface.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
L
Lei Wang committed
ddc2c54d22603c986367dbd002f0c32b345cd81e
Parent: 27f68b4
Committed by GitHub <noreply@github.com> on 8/16/2026, 9:24:43 AM