[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