the.ai

Compilers / Methods

verified

Tiling

A matrix multiply that streams straight through memory is slow whatever the arithmetic peak says. Tiling breaks the computation into blocks sized to fit in fast memory, so each value loaded is used many times before it is evicted. Every fast kernel in this graph is tiled, including the one FlashAttention is named for.

Viz primitive · budget-splitreused-loads = 6

reused-loads holds 50% of the budget; rest holds the remaining 50%.

Uses extracted from each loaded value against the load itself, in accesses. Drag the tile size up to watch memory traffic amortise — until the tile stops fitting, which is a cliff rather than a slope.

6

Reviewed by opendroid · 2026-08-18

  • arXiv:1802.04799 — TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

Origin · not linkable

  • Ragan-Kelley et al. 2013 — Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines · PLDI 2013 · doi:10.1145/2491956.2462176