Skip to main content

Module block_paged

Module block_paged 

Source
Expand description

Block-paged layout element lookup.

Implements the element-address formula from docs/spec/layouts/block-paged.md § Element Lookup:

page_in_seq    = t / page_size
offset_in_page = t mod page_size
phys_page      = block_table[seq_ptr[s] + page_in_seq]
flat           = ((phys_page * page_size + offset_in_page) * num_heads + h) * head_dim + d

The index buffers are passed by the caller as typed slices to keep this module free of byte-parsing — parsing belongs at the descriptor layer.

Functions§

element_offset_u32
Computes the flat element offset into page_pool (buffer 0) for the element at token t of sequence s, head h, dimension d.
element_offset_u64
Computes the flat element offset into page_pool (buffer 0) for the element at token t of sequence s, head h, dimension d, using 64-bit index buffers.
validate_index_buffers_u32
Validates the storage invariants for block-paged index buffers using u32 entries.
validate_index_buffers_u64
Validates the storage invariants for a block-paged tensor’s index buffers.