Expand description
Where an operand’s axes live: Projection maps logical axes onto buffer dims (projection),
storage says how the values lie in memory, paging reads a pool of pages as sequences, a
compaction boxes a gathered sub-tile, and a row_arrangement places a stage’s lines.
Structs§
- Compaction
- The compacted stage of a
Projection: per physical axis, its cell count and source step, plus the projection addressing it. - Dims
Builder - A
Projectionunder construction. - Elem
Alignment - The alignment of a buffer’s layout, counted in elements along its innermost dim: the number every line width that reads the buffer’s elements and no others divides.
- Page
Entry - A page table entry and the cell it was read from: the page column
columnof sequencesequencelists. A cut naming that cell takespagefrom it instead of loading the table. - Paging
- Which axes of an operand a page table resolves:
sequencenames the page a table row lists,positiona run ofpage_sizepositions within one. - Physical
Axis Map - One buffer dim as
(Σ coordinate(axis) * scale + offset) / divisor, floored. - Runtime
Geometry Geometry’s kernel-side twin.- Storage
Levels - A
StoragePartitioningbeing stated leaf-up, untilgrid. - Storage
Partitioning - How a tensor’s values are laid down: stated tiles, finest first, then the rest’s order.
- Vector
Tile - The values one vector load brings, as a tile: its extents, finest first, one per axis.
Enums§
- Divisor
- What one physical axis’s affine combination is divided by, floored.
A
Dynamicdivisor declaresmin, the smallest value the launch may pass. - Line
Misfit - Why a
Geometrycannot be read a tile at a time (Geometry::serves). - Offset
- The constant term of one physical axis’s affine combination.
- Scale
- How far one unit of a logical axis moves along one physical axis.
A
Dynamiccoefficient declaresmax, the largest value the launch may pass. - Storage
Misfit - Why a
StoragePartitioningcannot store a tensor (StoragePartitioning::physical). - Tile
Misfit - Where a tile stops being held by a
StoragePartitioning(StoragePartitioning::holds).
Functions§
- split
- One dim cut into blocks, stated in extents, coarsest first:
split(&[(KB, blocks), (KI, block)])iskb·block + ki. Panics on no terms or extent 0.