Whole-phase staging with unchanged recipient sets and payload bytes. Synthetic addresses; no placement or hardware validation. Copy cycles are optimistic throughput floors, excluding barriers and setup. Scheduler results use ordinary B1024 transfers and synthetic placement; rows are per-phase, before sharing. Affine loops are representability estimates, not generated code.
| Phase | Staging | Transfers | Max endpoint fragments | Max scratch KiB/tile | Copy cycle floor | Affine loops, all tiles | Max row bytes | Exchange cycles (model) | Provenance |
|---|---|---|---|---|---|---|---|---|---|
| 62 | original | 147,712 | 2,020 | 0.0 | 0 | 0 | 16776 | 15937 | op Some(21) LayoutRearrangement: TensorShape([2, 577, 4096]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 4096]) Amp(Left) |
| 62 | source | 147,712 | 2,020 | 8.0 | 1,024 | 577 | 16776 | 15937 | op Some(21) LayoutRearrangement: TensorShape([2, 577, 4096]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 4096]) Amp(Left) |
| 62 | destination | 8,655 | 113 | 55.1 | 7,056 | 138,480 | 976 | 14376 | op Some(21) LayoutRearrangement: TensorShape([2, 577, 4096]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 4096]) Amp(Left) |
| 62 | both | 8,655 | 113 | 63.1 | 8,080 | 139,057 | 976 | 14376 | op Some(21) LayoutRearrangement: TensorShape([2, 577, 4096]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 4096]) Amp(Left) |
| 58 | original | 45,375 | 1,000 | 0.0 | 0 | 0 | 8408 | 27446 | READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 577, 1024]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 1024]) Amp(Left) |
| 58 | source | 41,538 | 973 | 37.0 | 4,736 | 4,801 | — | — | READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 577, 1024]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 1024]) Amp(Left) |
| 58 | destination | 5,018 | 88 | 59.0 | 7,552 | 80,530 | — | — | READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 577, 1024]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 1024]) Amp(Left) |
| 58 | both | 4,388 | 81 | 96.0 | 12,288 | 83,102 | — | — | READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 577, 1024]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 577, 1024]) Amp(Left) |
| 84 | original | 82,504 | 749 | 0.0 | 0 | 0 | 6008 | 9256 | op Some(35) OperatorInputs: TensorShape([2, 577, 1024]) F16 RowMajor -> TensorShape([16, 577, 128]) RowMajor |
| 84 | source | 82,504 | 749 | 11.7 | 1,500 | 9,172 | 6048 | 6228 | op Some(35) OperatorInputs: TensorShape([2, 577, 1024]) F16 RowMajor -> TensorShape([16, 577, 128]) RowMajor |
| 84 | destination | 82,399 | 749 | 22.0 | 2,816 | 5,364 | 5936 | 6220 | op Some(35) OperatorInputs: TensorShape([2, 577, 1024]) F16 RowMajor -> TensorShape([16, 577, 128]) RowMajor |
| 84 | both | 80,479 | 719 | 33.5 | 4,316 | 14,536 | 5760 | 6218 | op Some(35) OperatorInputs: TensorShape([2, 577, 1024]) F16 RowMajor -> TensorShape([16, 577, 128]) RowMajor |