Skip to main content

Module layout

Module layout 

Source
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.
DimsBuilder
A Projection under construction.
ElemAlignment
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.
PageEntry
A page table entry and the cell it was read from: the page column column of sequence sequence lists. A cut naming that cell takes page from it instead of loading the table.
Paging
Which axes of an operand a page table resolves: sequence names the page a table row lists, position a run of page_size positions within one.
PhysicalAxisMap
One buffer dim as (Σ coordinate(axis) * scale + offset) / divisor, floored.
RuntimeGeometry
Geometry’s kernel-side twin.
StorageLevels
A StoragePartitioning being stated leaf-up, until grid.
StoragePartitioning
How a tensor’s values are laid down: stated tiles, finest first, then the rest’s order.
VectorTile
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 Dynamic divisor declares min, the smallest value the launch may pass.
LineMisfit
Why a Geometry cannot 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 Dynamic coefficient declares max, the largest value the launch may pass.
StorageMisfit
Why a StoragePartitioning cannot store a tensor (StoragePartitioning::physical).
TileMisfit
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)]) is kb·block + ki. Panics on no terms or extent 0.