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. Scheduler results use ordinary B1024 transfers and synthetic placement; rows are per-phase, before sharing. Affine loops are representability estimates, not generated code.

JSON results

PhaseStaging TransfersMax endpoint fragmentsMax scratch KiB/tile Copy cycle floorAffine loops, all tilesMax row bytesExchange cycles (model)Provenance
50original62,4822,1090.0001790833758READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
50source62,4822,10935.84,5762,471——READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
50destination5,60311491.511,712122,021——READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
50both5,603114127.216,288124,492——READ/WRITE DEPENDENCIES: staging results invalid. op Some(18) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
55original303,0421,9130.000793614672READ/WRITE DEPENDENCIES: staging results invalid. op Some(21) OperatorInputs: TensorShape([4304, 1152]) F8F143 { scale_exponent: -4 } Amp(TransposedLeft) -> TensorShape([4304, 1152]) BlockMajor(Matrix { row_block: 192, column_block: 16 })
55source4,32616330.53,9041,696——READ/WRITE DEPENDENCIES: staging results invalid. op Some(21) OperatorInputs: TensorShape([4304, 1152]) F8F143 { scale_exponent: -4 } Amp(TransposedLeft) -> TensorShape([4304, 1152]) BlockMajor(Matrix { row_block: 192, column_block: 16 })
55destination4,32616327.03,4561,609——READ/WRITE DEPENDENCIES: staging results invalid. op Some(21) OperatorInputs: TensorShape([4304, 1152]) F8F143 { scale_exponent: -4 } Amp(TransposedLeft) -> TensorShape([4304, 1152]) BlockMajor(Matrix { row_block: 192, column_block: 16 })
55both3,2462257.57,3603,305——READ/WRITE DEPENDENCIES: staging results invalid. op Some(21) OperatorInputs: TensorShape([4304, 1152]) F8F143 { scale_exponent: -4 } Amp(TransposedLeft) -> TensorShape([4304, 1152]) BlockMajor(Matrix { row_block: 192, column_block: 16 })
16original54,5021,4200.0001205629826READ/WRITE DEPENDENCIES: staging results invalid. op Some(4) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
16source54,5021,42032.24,1282,300——READ/WRITE DEPENDENCIES: staging results invalid. op Some(4) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
16destination4,9309468.68,784106,503——READ/WRITE DEPENDENCIES: staging results invalid. op Some(4) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
16both4,93094100.912,912108,803——READ/WRITE DEPENDENCIES: staging results invalid. op Some(4) OperatorInputs: TensorShape([2, 729, 1152]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 1152]) Amp(Left)
54original196,8301,3740.0001134810220op Some(21) LayoutRearrangement: TensorShape([2, 729, 4304]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 4304]) Amp(Left)
54source196,8301,3748.41,0761,4581134810220op Some(21) LayoutRearrangement: TensorShape([2, 729, 4304]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 4304]) Amp(Left)
54destination17,49620834.54,416139,96815209238op Some(21) LayoutRearrangement: TensorShape([2, 729, 4304]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 4304]) Amp(Left)
54both16,76711542.95,492141,42615129239op Some(21) LayoutRearrangement: TensorShape([2, 729, 4304]) F8F143 { scale_exponent: -4 } Amp(Left) -> TensorShape([2, 729, 4304]) Amp(Left)
56original586,3681,2060.000516816724op Some(21) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([25344]) RowMajor
56source32,5766750.66,48032,57671615103op Some(21) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([25344]) RowMajor
56destination586,3681,20651.86,6241,488514015109op Some(21) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([25344]) RowMajor
56both32,57667102.413,10434,06471615103op Some(21) OperatorInputs: TensorShape([2, 729, 1152]) F16 Amp(Left) -> TensorShape([25344]) RowMajor
70original139,8081,0130.000852411465op Some(35) OperatorInputs: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([32, 729, 80]) RowMajor
70source139,8081,01313.31,70624,27184209521op Some(35) OperatorInputs: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([32, 729, 80]) RowMajor
70destination139,8081,01331.94,08222,33577569472op Some(35) OperatorInputs: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([32, 729, 80]) RowMajor
70both129,60091944.95,78846,60672889427op Some(35) OperatorInputs: TensorShape([2, 729, 1152]) F16 RowMajor -> TensorShape([32, 729, 80]) RowMajor