Exchange packing opportunities

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. Affine loops are representability estimates, not generated code.

JSON results

PhaseStaging TransfersMax endpoint fragmentsMax scratch KiB/tile Copy cycle floorAffine loops, all tilesProvenance
57original104,9221540.000op Some(22) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([2, 729, 1152]) RowMajor
57source11,666262.532011,666op Some(22) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([2, 729, 1152]) RowMajor
57destination104,9221544.55761,610op Some(22) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([2, 729, 1152]) RowMajor
57both11,666267.089613,276op Some(22) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([2, 729, 1152]) RowMajor
17original5,710100.000op Some(4) OperatorInputs: TensorShape([2, 729, 3456]) F16 Amp(Left) -> TensorShape([4736]) RowMajor
17source5,7101027.83,5521,450op Some(4) OperatorInputs: TensorShape([2, 729, 3456]) F16 Amp(Left) -> TensorShape([4736]) RowMajor
17destination5,7101037.04,7362,830op Some(4) OperatorInputs: TensorShape([2, 729, 3456]) F16 Amp(Left) -> TensorShape([4736]) RowMajor
17both5,7101064.88,2884,280op Some(4) OperatorInputs: TensorShape([2, 729, 3456]) F16 Amp(Left) -> TensorShape([4736]) RowMajor
74original12840.000op Some(35) OperatorInputs: TensorShape([32, 1, 72]) F16 Amp(Left) -> TensorShape([32, 1, 80]) Amp(Left)
74source12840.04128op Some(35) OperatorInputs: TensorShape([32, 1, 72]) F16 Amp(Left) -> TensorShape([32, 1, 80]) Amp(Left)
74destination12840.11432op Some(35) OperatorInputs: TensorShape([32, 1, 72]) F16 Amp(Left) -> TensorShape([32, 1, 80]) Amp(Left)
74both12840.118160op Some(35) OperatorInputs: TensorShape([32, 1, 72]) F16 Amp(Left) -> TensorShape([32, 1, 80]) Amp(Left)
53original72910.000op Some(19) LayoutRearrangement: TensorShape([2, 729, 4304]) F16 RowMajor -> TensorShape([2, 729, 4304]) RowMajor
53source72918.41,076729op Some(19) LayoutRearrangement: TensorShape([2, 729, 4304]) F16 RowMajor -> TensorShape([2, 729, 4304]) RowMajor
53destination72918.41,076729op Some(19) LayoutRearrangement: TensorShape([2, 729, 4304]) F16 RowMajor -> TensorShape([2, 729, 4304]) RowMajor
53both72918.42,1521,458op Some(19) LayoutRearrangement: TensorShape([2, 729, 4304]) F16 RowMajor -> TensorShape([2, 729, 4304]) RowMajor
58original72910.000op Some(22) LayoutRearrangement: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([2, 729, 1152]) RowMajor
58source72912.2288729op Some(22) LayoutRearrangement: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([2, 729, 1152]) RowMajor
58destination72912.2288729op Some(22) LayoutRearrangement: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([2, 729, 1152]) RowMajor
58both72912.25761,458op Some(22) LayoutRearrangement: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([2, 729, 1152]) RowMajor