Module stage

Module stage 

Source
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 traits
  • state: 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.
InterSliceReduce
Inter-slice reduce stage — after inter-slice reduce operation.
IntraSliceReduce
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§

PacketMode
Packet mode — tracks whether the tensor is in 8-way or 4-way mode.
VeOrder
Tracks which VE block was entered first.

Traits§

CanTransitionTo
Generic marker trait for stage transitions. CanTransitionTo<Target> indicates that a stage can transition to Target. Target must implement Stage trait.
Commitable
Marker trait for contexts that can commit to DmTensor. Group is intentionally excluded so users must zip the groups first.
InterSliceStage
Trait for VRU (inter-slice) stages.
IntraSliceStage
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
VeTensorContext
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.