Skip to content

vector.fragment.load

vector dialect

Load a target-shaped matrix fragment payload from a typed view at a full-rank logical origin. Unlike vector.load, the result vector shape is the physical fragment payload selected by role, logical matrix shape, view layout, and target legality; it is not an ordinary trailing-axis footprint of the view. The result carries fragment facts directly so vector.mma can consume it without a separate vector.fragment wrapper. When the view and payload element types differ, the operation represents a fragment-shaped numeric conversion at the load boundary and target lowering must either select that conversion explicitly or reject it with target diagnostics. When the view storage schema requires runtime auxiliary values such as sparse metadata, scale values, or codebooks, the optional keyed using operands provide those SSA values while the view type remains the source of truth for the storage schema.

Operation contract

Property Value
Semantic phase executable
Traits RefinableResultTypeRefs
Interfaces MemoryAccess
Memory effects read view

Signature

Kind Name Type Cardinality Description
Operand view view required Typed source view holding logical matrix data.
Operand indices index variadic Dynamic logical origin indices.
Operand blocks index optional Optional independent matrix block count.
Operand rows index required Logical matrix row count for this fragment role.
Operand columns index required Logical matrix column count for this fragment role.
Operand auxiliary vector variadic Optional keyed runtime auxiliary operands required by the view storage schema.
Result result vector required Loaded physical matrix fragment payload.
Attribute role enum VectorFragmentRole required
Attribute auxiliary_names dict optional Sorted auxiliary operand keys mapped to auxiliary operand ordinals.
Attribute cache_scope enum CacheScope optional Optional cache/coherency scope required by target lowering.
Attribute cache_temporal enum CacheTemporal optional Optional temporal cache policy required by target lowering.
Attribute static_indices i64_array required Static logical origin indices with INT64_MIN sentinels for dynamics.

Examples

%lhs = vector.fragment.load<lhs> %a[%row, %k0] shape [%m, %k] : view<[%M]x[%K]xf16, %layout> -> vector<16xf16>
%rhs = vector.fragment.load<rhs> %b[%k0, %col] shape [%k, %n] using {sparsity = %metadata : vector<1xi32>} : view<[%K]x[%N]xf8E4M3, %storage> -> vector<8xi32>