warp.tile_load#
- warp.tile_load(
- a: Array[Any],
- shape: tuple[int, ...],
- offset: tuple[int, ...],
- storage: str,
- bounds_check: bool,
- aligned: bool,
Kernel
Differentiable
Load a tile from a global memory array.
This method will cooperatively load a tile from global memory using all threads in the block.
- Parameters:
a – The source array in global memory
shape – Shape of the tile to load, must have the same number of dimensions as
aoffset – Offset in the source array to begin reading from (optional)
storage – The storage location for the tile:
"register"for registers (default) or"shared"for shared memory.bounds_check – Needed for unaligned tiles, but can disable for memory-aligned tiles for faster load times
aligned – If True, skip runtime alignment checks for vectorized loads (shared memory, 2D+ tiles only). Has no effect for 1D tiles or register storage. Use when you guarantee that: (1) the base address at the tile offset is 16-byte aligned, (2) the array is contiguous (dense row-major strides), (3) all outer-dimension strides are multiples of 16 bytes, and (4) the tile fits entirely within array bounds. Address-alignment violations trap unconditionally (even in release builds). Bounds and contiguity violations trigger debug-only asserts; in release builds they cause silent data corruption.
- Returns:
A tile with shape as specified and data type the same as the source array.