Expand description
Vector Engine stage markers and state.
This module provides stage markers and state tracking for the Vector Engine pipeline.
The actual tensor types are in the tensor module.
§Stage Order
Branch → Logic → Fxp → FxpToFp → Narrow → Fp → IntraSliceReduce → FpDiv → Widen → FpToFxp → Clip → Output§Modules
markers: Stage marker types and transition traitsstate: VE state tracking
Modules§
- markers
- Pipeline stage definitions and transition traits for VE typestate pattern.
Structs§
- Branch
- Branch unit configuration stage.
- Clip
- Clip cluster stage (max 3 ops).
- Filter
- Filter stage (applies branch filtering before output).
- Fp
- Fp cluster stage (max 5 ops).
- FpDiv
- FpDiv stage.
- FpToFxp
- FpToFxp conversion stage.
- Fxp
- Fixed-point cluster stage (max 4 ops).
- FxpToFp
- FxpToFp conversion stage.
- Group
- In group context - used for individual groups managed by VectorTensorPair. Only per-group operations (fxp, logic, clip, etc.) are allowed. Stash/common operations are disabled so both groups stay in lock-step via the pair API.
- Inter
Slice Reduce - Inter-slice reduce stage — after inter-slice reduce operation.
- Intra
Slice Reduce - Intra-slice reduce stage.
- Logic
- Logic cluster stage (max 5 ops).
- Narrow
- Narrow layer stage.
- Output
- Output configuration stage (filter, write_branch).
- Standalone
- Standalone tensor - represents a single tensor view that can use the full VE API (stash/filter, stage transitions, commit).
- Widen
- Widen layer stage.
- Zipped
- After group zip - result of merging two groups. Filter/stash are NOT available because VE already reduced to a single group.
Enums§
- Packet
Mode - Packet mode — tracks whether the tensor is in 8-way or 4-way mode.
- VeOrder
- Tracks which VE block was entered first.
Traits§
- CanTransition
To - Generic marker trait for stage transitions.
CanTransitionTo<Target>indicates that a stage can transition toTarget. Target must implementStagetrait. - Commitable
- Marker trait for contexts that can commit to
DmTensor.Groupis intentionally excluded so users must zip the groups first. - Inter
Slice Stage - Trait for VRU (inter-slice) stages.
- Intra
Slice Stage - Trait for VAU (intra-slice) stages: Branch through Clip.
- Stage
- Trait for pipeline stage markers.
- Stashable
- Trait for stages that support stash operation. Only specific stages can stash current data (based on hardware ALU availability). Supported: Branch, Logic, Fxp, Narrow, Fp, FpDiv, Clip NOT supported: FxpToFp, IntraSliceReduce, Widen, FpToFxp, Output
- VeTensor
Context - Marker trait for VE tensor context state. Used to distinguish tensor contexts and restrict available operations. there are three Contexts: Standalone/Group/Zipped. depending on the TensorContext, commit/stash/filter operations may be allowed or disallowed.