2026-09-23T10:14:49.981051Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_runtime: close time.busy=297µs time.idle=1.48µs 2026-09-23T10:15:01.327549Z DEBUG GEMM model frontier assignments=701524 retained=163 2026-09-23T10:15:01.327660Z DEBUG GEMM model frontier assignments=701524 retained=163 GEMM BOUNDARY 0: 116606 MidGraph { tile_count: 1472, inputs: [MidInput { name: "left", kind: Host, value: MidValueId(0) }, MidInput { name: "right.0", kind: Parameter, value: MidValueId(1) }], values: [MidValue { id: MidValueId(0), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(0), storage_group: MidValueId(0) }, MidValue { id: MidValueId(1), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1152, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 16, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(1), storage_group: MidValueId(1) }, MidValue { id: MidValueId(2), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1152, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(64) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(1), storage_group: MidValueId(2) }, MidValue { id: MidValueId(3), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 144, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 23, axes: [AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(0), storage_group: MidValueId(3) }, MidValue { id: MidValueId(4), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([8, 1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(64) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 8, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(4) }, MidValue { id: MidValueId(5), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(5) }, MidValue { id: MidValueId(6), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([7, 1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(6) }, MidValue { id: MidValueId(7), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(7) }, MidValue { id: MidValueId(8), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(8) }], operations: [MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(1)], results: [MidValueId(2)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(0)], results: [MidValueId(3)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(2), MidValueId(3)], results: [MidValueId(4)], kind: Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 96 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(4)], results: [MidValueId(5)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(4)], results: [MidValueId(6)], kind: Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(5), MidValueId(6)], results: [MidValueId(7)], kind: ReductionSum { partials: 8 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(7)], results: [MidValueId(8)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }], outputs: [MidValueId(8)], estimated_cycles: 116606, estimated_exchange_cycles: 42688, peak_memory: MemoryPeaks { standard: 101496, interleaved: 93184, total: 165888, exchange_rows: 13664, maximum_standard_allocation: 65536 } } GEMM BOUNDARY 0: 115606 MidGraph { tile_count: 1472, inputs: [MidInput { name: "left", kind: Host, value: MidValueId(0) }, MidInput { name: "right.0", kind: Parameter, value: MidValueId(1) }], values: [MidValue { id: MidValueId(0), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(0), storage_group: MidValueId(0) }, MidValue { id: MidValueId(1), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1152, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 16, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(1), storage_group: MidValueId(1) }, MidValue { id: MidValueId(2), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1152, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(64) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(1), storage_group: MidValueId(2) }, MidValue { id: MidValueId(3), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 144, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 23, axes: [AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(0), storage_group: MidValueId(3) }, MidValue { id: MidValueId(4), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([8, 1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(64) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 8, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(4) }, MidValue { id: MidValueId(5), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(5) }, MidValue { id: MidValueId(6), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([7, 1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(6) }, MidValue { id: MidValueId(7), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(7) }, MidValue { id: MidValueId(8), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(8) }], operations: [MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(1)], results: [MidValueId(2)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(0)], results: [MidValueId(3)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(2), MidValueId(3)], results: [MidValueId(4)], kind: Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 96 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(4)], results: [MidValueId(5)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(4)], results: [MidValueId(6)], kind: Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(5), MidValueId(6)], results: [MidValueId(7)], kind: ReductionSum { partials: 8 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(0)), inputs: [MidValueId(7)], results: [MidValueId(8)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }], outputs: [MidValueId(8)], estimated_cycles: 115606, estimated_exchange_cycles: 41688, peak_memory: MemoryPeaks { standard: 101496, interleaved: 93184, total: 165888, exchange_rows: 10568, maximum_standard_allocation: 65536 } } 2026-09-23T10:15:10.961789Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:gemm_candidates: close time.busy=21.0s time.idle=4.29µs 2026-09-23T10:15:21.951975Z DEBUG GEMM model frontier assignments=648664 retained=201 2026-09-23T10:15:21.952070Z DEBUG GEMM model frontier assignments=648664 retained=201 2026-09-23T10:15:21.952072Z DEBUG GEMM model frontier assignments=648664 retained=199 2026-09-23T10:15:21.952076Z DEBUG GEMM model frontier assignments=648664 retained=199 GEMM BOUNDARY 2: 109435 MidGraph { tile_count: 1472, inputs: [MidInput { name: "right.1", kind: Parameter, value: MidValueId(0) }, MidInput { name: "value.4", kind: Host, value: MidValueId(1) }], values: [MidValue { id: MidValueId(0), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 16, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 40, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(0) }, MidValue { id: MidValueId(1), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(1) }, MidValue { id: MidValueId(2), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(2) }, MidValue { id: MidValueId(3), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 144, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(4), storage_group: MidValueId(3) }, MidValue { id: MidValueId(4), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([30, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 30, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(5), storage_group: MidValueId(4) }, MidValue { id: MidValueId(5), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(5) }, MidValue { id: MidValueId(6), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([29, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(6) }, MidValue { id: MidValueId(7), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(7) }, MidValue { id: MidValueId(8), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(8) }], operations: [MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(0)], results: [MidValueId(2)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(1)], results: [MidValueId(3)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(2), MidValueId(3)], results: [MidValueId(4)], kind: Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 64 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(5)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(6)], kind: Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(5), MidValueId(6)], results: [MidValueId(7)], kind: ReductionSum { partials: 30 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(7)], results: [MidValueId(8)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }], outputs: [MidValueId(8)], estimated_cycles: 109435, estimated_exchange_cycles: 46920, peak_memory: MemoryPeaks { standard: 128168, interleaved: 83968, total: 189440, exchange_rows: 12476, maximum_standard_allocation: 98304 } } GEMM BOUNDARY 2: 109691 MidGraph { tile_count: 1472, inputs: [MidInput { name: "right.1", kind: Parameter, value: MidValueId(0) }, MidInput { name: "value.4", kind: Host, value: MidValueId(1) }], values: [MidValue { id: MidValueId(0), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 16, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 40, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(0) }, MidValue { id: MidValueId(1), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(1) }, MidValue { id: MidValueId(2), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(2) }, MidValue { id: MidValueId(3), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 144, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(4), storage_group: MidValueId(3) }, MidValue { id: MidValueId(4), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([30, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 30, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(5), storage_group: MidValueId(4) }, MidValue { id: MidValueId(5), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(5) }, MidValue { id: MidValueId(6), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([29, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(6) }, MidValue { id: MidValueId(7), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(7) }, MidValue { id: MidValueId(8), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(8) }], operations: [MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(0)], results: [MidValueId(2)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(1)], results: [MidValueId(3)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(2), MidValueId(3)], results: [MidValueId(4)], kind: Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 64 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(5)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(6)], kind: Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(5), MidValueId(6)], results: [MidValueId(7)], kind: ReductionSum { partials: 30 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(7)], results: [MidValueId(8)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }], outputs: [MidValueId(8)], estimated_cycles: 109691, estimated_exchange_cycles: 47176, peak_memory: MemoryPeaks { standard: 128168, interleaved: 83968, total: 189440, exchange_rows: 14456, maximum_standard_allocation: 98304 } } GEMM BOUNDARY 2: 109691 MidGraph { tile_count: 1472, inputs: [MidInput { name: "right.1", kind: Parameter, value: MidValueId(0) }, MidInput { name: "value.4", kind: Host, value: MidValueId(1) }], values: [MidValue { id: MidValueId(0), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 16, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 40, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(0) }, MidValue { id: MidValueId(1), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(1) }, MidValue { id: MidValueId(2), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(2) }, MidValue { id: MidValueId(3), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 144, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(4), storage_group: MidValueId(3) }, MidValue { id: MidValueId(4), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([30, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 30, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(5), storage_group: MidValueId(4) }, MidValue { id: MidValueId(5), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(5) }, MidValue { id: MidValueId(6), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([29, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(6) }, MidValue { id: MidValueId(7), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(7) }, MidValue { id: MidValueId(8), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(8) }], operations: [MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(0)], results: [MidValueId(2)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(1)], results: [MidValueId(3)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(2), MidValueId(3)], results: [MidValueId(4)], kind: Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 64 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(5)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(6)], kind: Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(5), MidValueId(6)], results: [MidValueId(7)], kind: ReductionSum { partials: 30 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(7)], results: [MidValueId(8)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }], outputs: [MidValueId(8)], estimated_cycles: 109691, estimated_exchange_cycles: 47176, peak_memory: MemoryPeaks { standard: 132512, interleaved: 83968, total: 189440, exchange_rows: 14168, maximum_standard_allocation: 98304 } } GEMM BOUNDARY 2: 109435 MidGraph { tile_count: 1472, inputs: [MidInput { name: "right.1", kind: Parameter, value: MidValueId(0) }, MidInput { name: "value.4", kind: Host, value: MidValueId(1) }], values: [MidValue { id: MidValueId(0), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 16, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 40, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(0) }, MidValue { id: MidValueId(1), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(1) }, MidValue { id: MidValueId(2), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 4304, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(2) }, MidValue { id: MidValueId(3), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 144, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(4), storage_group: MidValueId(3) }, MidValue { id: MidValueId(4), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([30, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 30, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(5), storage_group: MidValueId(4) }, MidValue { id: MidValueId(5), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(5) }, MidValue { id: MidValueId(6), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([29, 1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(6) }, MidValue { id: MidValueId(7), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 120, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 16, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(7) }, MidValue { id: MidValueId(8), owners: OwnerMap { rotation: 0, embedding: None }, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(8) }], operations: [MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(0)], results: [MidValueId(2)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(1)], results: [MidValueId(3)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(2), MidValueId(3)], results: [MidValueId(4)], kind: Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 64 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(5)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(4)], results: [MidValueId(6)], kind: Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct }, operands: [], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(5), MidValueId(6)], results: [MidValueId(7)], kind: ReductionSum { partials: 30 }, operands: [Local(OperandWindow([])), Local(OperandWindow([]))], output_aliases: [], output_windows: [] }, MidOperation { source: Some(OperationId(2)), inputs: [MidValueId(7)], results: [MidValueId(8)], kind: Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged }, operands: [], output_aliases: [], output_windows: [] }], outputs: [MidValueId(8)], estimated_cycles: 109435, estimated_exchange_cycles: 46920, peak_memory: MemoryPeaks { standard: 132512, interleaved: 83968, total: 189440, exchange_rows: 12188, maximum_standard_allocation: 98304 } } 2026-09-23T10:15:33.509485Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:gemm_candidates: close time.busy=22.5s time.idle=9.44µs 2026-09-23T10:16:08.784718Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=834µs time.idle=3.17µs 2026-09-23T10:16:08.796807Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=11.9ms time.idle=1.04µs 2026-09-23T10:16:08.853885Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:08.855198Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=58.4ms time.idle=1.04µs 2026-09-23T10:16:09.288331Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=0 mid_cycles=236411 low_cycles=266550 elapsed_ms=2433 2026-09-23T10:16:11.183064Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=818µs time.idle=2.88µs 2026-09-23T10:16:11.195043Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=11.7ms time.idle=1.40µs 2026-09-23T10:16:11.252283Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:11.253527Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=58.5ms time.idle=1.28µs 2026-09-23T10:16:11.604087Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=1 mid_cycles=236667 low_cycles=266806 elapsed_ms=2068 2026-09-23T10:16:14.123801Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=763µs time.idle=3.34µs 2026-09-23T10:16:14.135341Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=11.3ms time.idle=1.60µs 2026-09-23T10:16:14.201309Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:14.202801Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=67.4ms time.idle=1.87µs 2026-09-23T10:16:14.555026Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=2 mid_cycles=237450 low_cycles=266332 elapsed_ms=2720 2026-09-23T10:16:16.730327Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=1.19ms time.idle=3.16µs 2026-09-23T10:16:16.740006Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=9.45ms time.idle=948ns 2026-09-23T10:16:16.802795Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:16.804253Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=64.2ms time.idle=816ns 2026-09-23T10:16:17.150781Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=3 mid_cycles=237668 low_cycles=277023 elapsed_ms=2328 2026-09-23T10:16:19.680131Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=495µs time.idle=3.18µs 2026-09-23T10:16:19.694510Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=14.1ms time.idle=931ns 2026-09-23T10:16:19.751833Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:19.753005Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=58.5ms time.idle=899ns 2026-09-23T10:16:20.046391Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=4 mid_cycles=237706 low_cycles=266588 elapsed_ms=2674 2026-09-23T10:16:22.157387Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=824µs time.idle=2.49µs 2026-09-23T10:16:22.168607Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=11.0ms time.idle=999ns 2026-09-23T10:16:22.226090Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:22.227405Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=58.8ms time.idle=1.09µs 2026-09-23T10:16:22.533652Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=5 mid_cycles=237908 low_cycles=277263 elapsed_ms=2248 2026-09-23T10:16:24.877789Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=902µs time.idle=3.35µs 2026-09-23T10:16:24.891699Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=13.7ms time.idle=1.02µs 2026-09-23T10:16:24.967952Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:24.969461Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=77.7ms time.idle=1.17µs 2026-09-23T10:16:25.334480Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=6 mid_cycles=237935 low_cycles=290173 elapsed_ms=2517 2026-09-23T10:16:27.645752Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:group_exchanges: close time.busy=904µs time.idle=3.34µs 2026-09-23T10:16:27.655837Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:merge_copies: close time.busy=9.83ms time.idle=1.17µs 2026-09-23T10:16:27.722585Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:27.723964Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid:eliminate: close time.busy=68.1ms time.idle=734ns 2026-09-23T10:16:28.047240Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: costed planning finalist rank=7 mid_cycles=238191 low_cycles=290429 elapsed_ms=2457 2026-09-23T10:16:28.303818Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:construct_mid: close time.busy=98.3s time.idle=1.99µs 2026-09-23T10:16:29.863923Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:group_exchanges: close time.busy=794µs time.idle=2.86µs 2026-09-23T10:16:29.873636Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:merge_copies: close time.busy=9.52ms time.idle=1.14µs 2026-09-23T10:16:29.929511Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:eliminate: eliminated padding clears using kernel access contracts removed=0 2026-09-23T10:16:29.930915Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:eliminate: close time.busy=57.3ms time.idle=772ns 2026-09-23T10:16:29.985669Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:place_provisional_storage: close time.busy=53.3ms time.idle=1.56µs 2026-09-23T10:16:30.642903Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: prepared large physical exchange phase phase=1 transfers=29652 maximum_identical_destinations=1 2026-09-23T10:16:30.642937Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: optimized physical exchange schedule phase=1 initial_horizon=7297 selected_horizon=7297 endpoint_lower_bound=6272 lower_bound_gap=1025 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:30.879696Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=8612 2026-09-23T10:16:31.407124Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=32961 2026-09-23T10:16:31.954641Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=8612 elapsed_ms=1074 success=true 2026-09-23T10:16:32.406681Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=88507 2026-09-23T10:16:32.474152Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=88718 2026-09-23T10:16:32.638126Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=164610 2026-09-23T10:16:33.267647Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=32961 elapsed_ms=1860 success=true 2026-09-23T10:16:33.442087Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=8612 2026-09-23T10:16:34.739612Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=88507 elapsed_ms=2332 success=true 2026-09-23T10:16:34.951712Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=8612 elapsed_ms=1509 success=true 2026-09-23T10:16:35.139437Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=32961 2026-09-23T10:16:35.630863Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: compared ordinary and paired exchange schedules phase=0 candidates=2808 ordinary_horizon=35109 paired_horizon=20451 use_paired=true 2026-09-23T10:16:35.650506Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=88718 elapsed_ms=3176 success=true 2026-09-23T10:16:35.716632Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: prepared large physical exchange phase phase=0 transfers=8612 maximum_identical_destinations=1 2026-09-23T10:16:35.716662Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: optimized physical exchange schedule phase=0 initial_horizon=20451 selected_horizon=20451 endpoint_lower_bound=16512 lower_bound_gap=3939 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:35.946713Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=164610 elapsed_ms=3308 success=true 2026-09-23T10:16:36.368061Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: prepared large physical exchange phase phase=5 transfers=88507 maximum_identical_destinations=1 2026-09-23T10:16:36.368088Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: optimized physical exchange schedule phase=5 initial_horizon=760 selected_horizon=760 endpoint_lower_bound=320 lower_bound_gap=440 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:37.165815Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: finished incremental instruction-alignment validation transfers=32961 elapsed_ms=2026 success=true 2026-09-23T10:16:37.750417Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: prepared large physical exchange phase phase=4 transfers=164610 maximum_identical_destinations=1 2026-09-23T10:16:37.750446Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: optimized physical exchange schedule phase=4 initial_horizon=11368 selected_horizon=11368 endpoint_lower_bound=9600 lower_bound_gap=1768 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:38.047849Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: compared ordinary and paired exchange schedules phase=3 candidates=9684 ordinary_horizon=31253 paired_horizon=22864 use_paired=true 2026-09-23T10:16:38.124942Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: prepared large physical exchange phase phase=3 transfers=32961 maximum_identical_destinations=1 2026-09-23T10:16:38.124963Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: optimized physical exchange schedule phase=3 initial_horizon=22864 selected_horizon=22864 endpoint_lower_bound=14976 lower_bound_gap=7888 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:38.264906Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: prepared large physical exchange phase phase=2 transfers=88718 maximum_identical_destinations=1 2026-09-23T10:16:38.264938Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: optimized physical exchange schedule phase=2 initial_horizon=3698 selected_horizon=3698 endpoint_lower_bound=1152 lower_bound_gap=2546 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:38.347758Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:schedule_provisional_exchanges: close time.busy=8.36s time.idle=3.91µs 2026-09-23T10:16:38.367477Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:plan_kernels: close time.busy=19.7ms time.idle=3.07µs 2026-09-23T10:16:38.368444Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/gemm_f16_amp.S name="gemm_f16_interleaved_packed0_k144_c64_r288" target="ipu21" 2026-09-23T10:16:38.417955Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/bb34d46c9c6dc5fce26b38b3b55a707f766a7ab6273990c37cee81a1c503a034/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/bb34d46c9c6dc5fce26b38b3b55a707f766a7ab6273990c37cee81a1c503a034/kernel.json 2026-09-23T10:16:38.418353Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/unpack_transposed_amp_f16.S name="unpack_amp_to_row_major_f16_o1_r64_p64_c10_p10" target="ipu21" 2026-09-23T10:16:38.465887Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/c2d73490a316ece959fed22acd14ea5f8a147e7e4163ff38e9a5a62b4be9d3ea/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/c2d73490a316ece959fed22acd14ea5f8a147e7e4163ff38e9a5a62b4be9d3ea/kernel.json 2026-09-23T10:16:38.466053Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/unpack_transposed_amp_f16.S name="unpack_amp_to_row_major_f16_o1_r48_p48_c10_p10" target="ipu21" 2026-09-23T10:16:38.511198Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/ed7bb0fcca0e91f04b2df8da0b85c8e81b2a0553a85ff0571269397937a9c3be/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/ed7bb0fcca0e91f04b2df8da0b85c8e81b2a0553a85ff0571269397937a9c3be/kernel.json 2026-09-23T10:16:38.511549Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/unpack_transposed_amp_f16.S name="unpack_amp_to_row_major_f16_o1_r41_p48_c10_p10" target="ipu21" 2026-09-23T10:16:38.553260Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/8b1042df72fe87cb59f73b55ba519788faa787ce6398c35f1fed04a997fdfaf1/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/8b1042df72fe87cb59f73b55ba519788faa787ce6398c35f1fed04a997fdfaf1/kernel.json 2026-09-23T10:16:38.553582Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/unpack_transposed_amp_f16.S name="unpack_amp_to_row_major_f16_o1_r64_p64_c8_p8" target="ipu21" 2026-09-23T10:16:38.594059Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/c98c8ba86798dc77172becea54f9711861d8b943a1fce7a7baef23eccbb3e4e0/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/c98c8ba86798dc77172becea54f9711861d8b943a1fce7a7baef23eccbb3e4e0/kernel.json 2026-09-23T10:16:38.594548Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/unpack_transposed_amp_f16.S name="unpack_amp_to_row_major_f16_o1_r48_p48_c8_p8" target="ipu21" 2026-09-23T10:16:38.637775Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/13932b6c432761174002412f05ce9fe8fb1e59291829821b31530c66e08d8f55/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/13932b6c432761174002412f05ce9fe8fb1e59291829821b31530c66e08d8f55/kernel.json 2026-09-23T10:16:38.638098Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: compiling kernel source=/srv/home/gc-sdk/ipu-stack/crates/ipu-tests/../../device/unpack_transposed_amp_f16.S name="unpack_amp_to_row_major_f16_o1_r41_p48_c8_p8" target="ipu21" 2026-09-23T10:16:38.685447Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: kernel artifact created object=/srv/home/.cache/ipu-stack/kernels/f749702c004915bf10a040a131b26fbb7ef70c93462c5f37cba3b205700a95cf/kernel.o metadata=/srv/home/.cache/ipu-stack/kernels/f749702c004915bf10a040a131b26fbb7ef70c93462c5f37cba3b205700a95cf/kernel.json 2026-09-23T10:16:38.685511Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:compile_kernels: close time.busy=318ms time.idle=4.43µs 2026-09-23T10:16:38.686031Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:link_runtime: close time.busy=338µs time.idle=2.56µs 2026-09-23T10:16:38.793130Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}: exchange table and repeat patch storage exchange_table_bytes=8884 maximum_uncompressed_repeat_patch_bytes=0 maximum_elided_arithmetic_patch_bytes=0 2026-09-23T10:16:39.020115Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:size_tile_code: close time.busy=10.2ms time.idle=4.32µs 2026-09-23T10:16:39.020144Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}: placing generated tile programs linked_end=317356 host_code_base=376832 host_code_bytes=732 generated_code_bytes=3772 exchange_table_bytes=8884 executable_ranges=[(377632, 524288)] 2026-09-23T10:16:39.020176Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}: allocated package support memory linked_end=317356 profile_bytes=184 exchange_table_bytes=8884 host_code_bytes=732 host_data_bytes=492 generated_code_bytes=3772 code_address=377632 available_ranges=[(327680, 360448), (362700, 376832), (409600, 949168)] 2026-09-23T10:16:39.120936Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:place_storage: close time.busy=89.0ms time.idle=3.48µs 2026-09-23T10:16:39.373026Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: reused exchange optimization after validating relocated rows phase=1 2026-09-23T10:16:39.382698Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: prepared large physical exchange phase phase=1 transfers=29652 maximum_identical_destinations=1 2026-09-23T10:16:39.382715Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: optimized physical exchange schedule phase=1 initial_horizon=7297 selected_horizon=7297 endpoint_lower_bound=6272 lower_bound_gap=1025 selected_kind="reused" neighborhood_improvements=0 2026-09-23T10:16:40.086639Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=8612 2026-09-23T10:16:40.832403Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=32961 2026-09-23T10:16:41.497903Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: reused exchange optimization after validating relocated rows phase=2 2026-09-23T10:16:41.537781Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: prepared large physical exchange phase phase=2 transfers=88718 maximum_identical_destinations=1 2026-09-23T10:16:41.537806Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: optimized physical exchange schedule phase=2 initial_horizon=3698 selected_horizon=3698 endpoint_lower_bound=1152 lower_bound_gap=2546 selected_kind="reused" neighborhood_improvements=0 2026-09-23T10:16:41.596886Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: finished incremental instruction-alignment validation transfers=8612 elapsed_ms=1510 success=true 2026-09-23T10:16:42.615928Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: reused exchange optimization after validating relocated rows phase=4 2026-09-23T10:16:42.680301Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: prepared large physical exchange phase phase=4 transfers=164610 maximum_identical_destinations=1 2026-09-23T10:16:42.680327Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: optimized physical exchange schedule phase=4 initial_horizon=11368 selected_horizon=11368 endpoint_lower_bound=9600 lower_bound_gap=1768 selected_kind="reused" neighborhood_improvements=0 2026-09-23T10:16:42.884181Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=8612 2026-09-23T10:16:43.435948Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: finished incremental instruction-alignment validation transfers=32961 elapsed_ms=2603 success=true 2026-09-23T10:16:43.560976Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=88507 2026-09-23T10:16:44.171263Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: finished incremental instruction-alignment validation transfers=8612 elapsed_ms=1287 success=true 2026-09-23T10:16:44.774036Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: compared ordinary and paired exchange schedules phase=0 candidates=138 ordinary_horizon=30898 paired_horizon=30550 use_paired=true 2026-09-23T10:16:44.864689Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: prepared large physical exchange phase phase=0 transfers=8612 maximum_identical_destinations=1 2026-09-23T10:16:44.864712Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: optimized physical exchange schedule phase=0 initial_horizon=30550 selected_horizon=30550 endpoint_lower_bound=26880 lower_bound_gap=3670 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:45.945718Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: retrying exchange schedule with incremental instruction-alignment validation transfers=32961 2026-09-23T10:16:46.755038Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: finished incremental instruction-alignment validation transfers=88507 elapsed_ms=3194 success=true 2026-09-23T10:16:48.566702Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: finished incremental instruction-alignment validation transfers=32961 elapsed_ms=2620 success=true 2026-09-23T10:16:49.243267Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: prepared large physical exchange phase phase=5 transfers=88507 maximum_identical_destinations=1 2026-09-23T10:16:49.243303Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: optimized physical exchange schedule phase=5 initial_horizon=746 selected_horizon=746 endpoint_lower_bound=320 lower_bound_gap=426 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:49.727453Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: compared ordinary and paired exchange schedules phase=3 candidates=3603 ordinary_horizon=33586 paired_horizon=29853 use_paired=true 2026-09-23T10:16:49.843397Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: prepared large physical exchange phase phase=3 transfers=32961 maximum_identical_destinations=1 2026-09-23T10:16:49.843430Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: optimized physical exchange schedule phase=3 initial_horizon=29853 selected_horizon=29853 endpoint_lower_bound=25344 lower_bound_gap=4509 selected_kind="full-duplex" neighborhood_improvements=0 2026-09-23T10:16:49.913353Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:lower_exchanges: close time.busy=10.8s time.idle=4.30µs 2026-09-23T10:16:49.942475Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}: costed final placed program final_cycles=280276 final_exchange=87112 2026-09-23T10:16:50.131710Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:prepare_tile_code: close time.busy=16.6ms time.idle=3.73µs 2026-09-23T10:16:50.160579Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:emit_tile_code: close time.busy=28.8ms time.idle=1.49µs 2026-09-23T10:16:50.316601Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:build_tile_images: close time.busy=136ms time.idle=1.91µs 2026-09-23T10:16:50.582337Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}: close time.busy=121s time.idle=6.21µs 2026-09-23T10:16:50.589500Z INFO writing application package tiles=1472 2026-09-23T10:16:50.738985Z INFO application package written 2026-09-23T10:16:50.742227Z INFO reading application package 2026-09-23T10:16:50.966659Z INFO application package read tiles=1472 compiler=0.1.0 2026-09-23T10:16:50.971388Z INFO waiting for hardware ownership path=/tmp/ipu-stack-device.lock 2026-09-23T10:16:50.971404Z INFO acquired hardware ownership path=/tmp/ipu-stack-device.lock 2026-09-23T10:16:50.971408Z INFO opening IPU device path="/dev/ipu0" 2026-09-23T10:16:50.971439Z INFO IPU device attached path=/dev/ipu0 2026-09-23T10:16:50.971442Z INFO initializing IPU device 2026-09-23T10:16:50.979364Z INFO IPU device initialized 2026-09-23T10:16:50.979371Z INFO replaying device configuration register_writes=2003 2026-09-23T10:16:50.985334Z INFO loading application tile_count=1472 final_mark=23 2026-09-23T10:16:51.173185Z INFO application loaded and initial synchronization completed tile_count=1472 2026-09-23T10:16:51.665044Z INFO prepared reference inputs elapsed_ms=488 2026-09-23T10:16:51.681473Z INFO configured host reference BLAS threads=4 referencePrecision=device 2026-09-23T10:16:51.776888Z INFO evaluated host reference elapsed_ms=111 2026-09-23T10:16:51.781641Z INFO starting host exchange session startup_mark=23 2026-09-23T10:16:51.781652Z INFO attaching host exchange pages pages=2 2026-09-23T10:16:51.782373Z INFO host exchange session started 2026-09-23T10:16:51.782448Z INFO invoking host exchange call call="initialize" command=0 phases=8 2026-09-23T10:16:51.786880Z INFO invoking host exchange call call="run" command=0 phases=13 referenceInference=1 numericalTest=PASS profile=artifacts/gemm-solver-20260923/f16-b1.capnp tiles=1472 samples=57474 workload=siglip-mlp-f16-b1-t729-d1152-h4304-n1 benchmark=siglip-mlp-f16 batch=1 tokens=729 rows=729 dimension=1152 hiddenDimension=4304 blocks=1 biases=false activeTiles=1469 executionTiles=1472 inputBytes=1679616 weightBytes=19832832 cycles=277170 minimumTileCycles=270252 deviceMicroseconds=184.780 effectiveGemmTflops=78.245 peakTflops=282.624 efficiencyPercent=27.69 maximumAbsoluteError=0.001221 package=artifacts/gemm-solver-20260923/f16-b1.ipuexe tiles=1472 hardwareTest=PASS