Tiling spec for [tiled_view]: where the tiled axes start, how many there are,
and how many nested tile levels each carries (levels == 1 is a single split).
The per-level sizes are read from the buffer’s [grid…, level1…, …] dims.
Tiling as a composable layout: splits each tiled axis into levels + 1
factors — one grid plus levels nested tile sizes — via a mixed-radix
decomposition, expanding logical rank R to physical rank R + levels * n. The
factors are read from the physical shape, laid out [pre, grid…, level1…, …, levelL…, post] (coarsest grid first, finest tile last). levels == 1 is a
single split c -> (c / T, c % T).
Tiling above a strided buffer: TiledLayout’s split, then per-axis strides
to a linear offset. The buffer is a plain strided tensor; tiling is explicit
(start_axis / num_tiled), with no Tiler metadata on it.