pto.set_loop1_stride_ubtoout¶
pto.set_loop1_stride_ubtoout is part of the DMA Copy instruction set.
Deprecated in PTO ISA v0.6
The v0.6 PTO micro-instruction surface no longer uses standalone loop / stride configuration registers for UB→GM DMA. The stride information previously carried by pto.set_loop1_stride_ubtoout is now expressed inline on the grouped transfer op as part of the inner nburst(%n_burst, %src_stride, %dst_stride) clause on pto.mte_ub_gm. New code should use the grouped form. This page is retained for historical reference and pre-v0.6 ports.
Summary¶
Configure the inner-loop pointer advance used by the UB→GM DMA engine.
Mechanism¶
This operation programs the loop1 stride registers for UB→GM DMA. After each inner-loop iteration, the DMA engine advances the UB source pointer by %src_stride bytes and the GM destination pointer by %dst_stride bytes before issuing the next burst row set.
Syntax¶
PTO Assembly Form¶
set_loop1_stride_ubtoout %src_stride, %dst_stride : i64, i64
AS Level 1 (SSA)¶
pto.set_loop1_stride_ubtoout %src_stride, %dst_stride : i64, i64
Inputs¶
| Operand | Type | Description |
|---|---|---|
| %src_stride | i64 |
UB source pointer advance per inner-loop iteration, in bytes |
| %dst_stride | i64 |
GM destination pointer advance per inner-loop iteration, in bytes |
Expected Outputs¶
| Result | Type | Description |
|---|---|---|
| None | — |
This form only updates the UB→GM DMA loop1-stride configuration state. |
Side Effects¶
Programs the loop1 stride state consumed by subsequent UB→GM DMA copies. The configuration remains in effect until another loop1-stride operation overrides it.
Constraints¶
Constraints
- UB stride values MUST obey the source-stride field width and alignment rules of the selected target profile.
- GM stride values MUST be representable in the destination-stride field width of the selected target profile.
- The configured strides apply only to later UB→GM DMA operations.
Exceptions¶
Exceptions
- The verifier rejects illegal operand shapes, unsupported pipe or event identifiers, and attribute combinations that are not valid for the selected instruction set or target profile.
- Any additional illegality stated in the constraints section is also part of the contract.
Target-Profile Restrictions¶
Target-Profile Restrictions
- CPU simulation preserves the visible configuration contract but may not expose all hardware loop hazards.
- A2/A3 and A5 may use different concrete register widths or reset behavior; portable code must follow the documented PTO contract plus the selected target profile.
Examples¶
pto.set_loop1_stride_ubtoout %src_stride, %dst_stride : i64, i64
Related Ops / Instruction Set Links¶
- Instruction set overview: DMA Copy
- Previous op in instruction set: pto.set_loop2_stride_ubtoout
- Next op in instruction set: pto.copy_gm_to_ubuf
- Control-shell overview: Control and configuration