Some(OperationId(0)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 2874, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(0), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 588]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(0), storage_group: MidValueId(0) } MidValue { id: MidValueId(37), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 588]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(0), storage_group: MidValueId(0) } Some(OperationId(0)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 2808, exchange: 1880 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(37), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 588]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(0), storage_group: MidValueId(0) } MidValue { id: MidValueId(118), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 588]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromStart(1), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(46) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(118) } Some(OperationId(0)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 160, output_columns: 16 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(0), right_inner: FromStart(2), output_column: FromEnd(2), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 7384, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(1), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([588, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 46, axes: [AxisTiling { axis: FromEnd(2), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(1), storage_group: MidValueId(1) } MidValue { id: MidValueId(118), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 588]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(TransposedMatrix { row_block: 160, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromStart(1), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 4, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(46) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(118) } MidValue { id: MidValueId(119), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(3), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(184) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(46) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(119) } Some(OperationId(0)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 7650, exchange: 4920 }, MemoryUsage { standard: 11520, interleaved: 0 }, 976)) MidValue { id: MidValueId(119), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(3), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(184) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(46) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(119) } MidValue { id: MidValueId(38), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(46) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(38) } Some(OperationId(1)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(46) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14136, exchange: 2040 }, MemoryUsage { standard: 2304, interleaved: 0 }, 328)) MidValue { id: MidValueId(38), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(46) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(38) } MidValue { id: MidValueId(39), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(38) } Some(OperationId(1)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(39), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(38) } MidValue { id: MidValueId(2), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(2), storage_group: MidValueId(2) } MidValue { id: MidValueId(39), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(3), storage_group: MidValueId(38) } MidValue { id: MidValueId(40), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(40) } Some(OperationId(2)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(40), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(40) } MidValue { id: MidValueId(3), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromStart(1), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(5), storage_group: MidValueId(3) } MidValue { id: MidValueId(40), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(4), storage_group: MidValueId(40) } MidValue { id: MidValueId(41), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(6), storage_group: MidValueId(41) } Some(OperationId(3)) Primitive(Compute { kernel: LayerNorm, operands: [OperandWindow([]), OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 16139, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(41), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(6), storage_group: MidValueId(41) } MidValue { id: MidValueId(4), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(7), storage_group: MidValueId(4) } MidValue { id: MidValueId(5), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(8), storage_group: MidValueId(5) } MidValue { id: MidValueId(42), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } Some(OperationId(4)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 906, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(42), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(43), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } Some(OperationId(4)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 55992, exchange: 54360 }, MemoryUsage { standard: 0, interleaved: 0 }, 12100)) MidValue { id: MidValueId(43), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(44), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } Some(OperationId(4)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 7032, exchange: 4696 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(6), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 81, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(10), storage_group: MidValueId(6) } MidValue { id: MidValueId(120), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(12), storage_group: MidValueId(120) } Some(OperationId(4)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 128, output_columns: 128 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 16166, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(44), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(120), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(12), storage_group: MidValueId(120) } MidValue { id: MidValueId(121), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(12), storage_group: MidValueId(121) } Some(OperationId(4)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 18858, exchange: 14040 }, MemoryUsage { standard: 26880, interleaved: 0 }, 3028)) MidValue { id: MidValueId(121), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(12), storage_group: MidValueId(121) } MidValue { id: MidValueId(45), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(12), storage_group: MidValueId(45) } Some(OperationId(5)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14136, exchange: 2040 }, MemoryUsage { standard: 2304, interleaved: 0 }, 328)) MidValue { id: MidValueId(45), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(12), storage_group: MidValueId(45) } MidValue { id: MidValueId(46), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(12), storage_group: MidValueId(45) } Some(OperationId(5)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(46), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(12), storage_group: MidValueId(45) } MidValue { id: MidValueId(7), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(11), storage_group: MidValueId(7) } MidValue { id: MidValueId(46), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(12), storage_group: MidValueId(45) } MidValue { id: MidValueId(47), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(13), storage_group: MidValueId(47) } Some(OperationId(6)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 36, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 219336, exchange: 213720 }, MemoryUsage { standard: 0, interleaved: 0 }, 47956)) MidValue { id: MidValueId(43), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(48), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 36, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } Some(OperationId(6)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 4344, exchange: 2904 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(8), tile_offset: 81, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 288, column_block: 16 }), tiling: TensorTiling { tile_count: 144, 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: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(14), storage_group: MidValueId(8) } MidValue { id: MidValueId(122), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 288, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 10, axes: [AxisTiling { axis: FromStart(1), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(16), storage_group: MidValueId(122) } Some(OperationId(6)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 288, output_columns: 32 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 13830, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(48), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 36, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(122), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 288, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 10, axes: [AxisTiling { axis: FromStart(1), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(16), storage_group: MidValueId(122) } MidValue { id: MidValueId(123), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(144) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(16), storage_group: MidValueId(123) } Some(OperationId(6)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 8436, exchange: 5400 }, MemoryUsage { standard: 12800, interleaved: 0 }, 1084)) MidValue { id: MidValueId(123), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 36, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(144) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(16), storage_group: MidValueId(123) } MidValue { id: MidValueId(49), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), 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: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(16), storage_group: MidValueId(49) } Some(OperationId(7)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), 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: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 27384, exchange: 3480 }, MemoryUsage { standard: 4608, interleaved: 0 }, 652)) MidValue { id: MidValueId(49), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), 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: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(36) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(16), storage_group: MidValueId(49) } MidValue { id: MidValueId(50), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(16), storage_group: MidValueId(49) } Some(OperationId(7)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1752, exchange: 1176 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(9), tile_offset: 81, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(15), storage_group: MidValueId(9) } MidValue { id: MidValueId(124), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1472, axes: [] }, memory_class: Ipu21Standard } } }, origin: ValueId(17), storage_group: MidValueId(124) } Some(OperationId(7)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 6923, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(50), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(16), storage_group: MidValueId(49) } MidValue { id: MidValueId(124), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1472, axes: [] }, memory_class: Ipu21Standard } } }, origin: ValueId(17), storage_group: MidValueId(124) } MidValue { id: MidValueId(50), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(16), storage_group: MidValueId(49) } MidValue { id: MidValueId(51), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(17), storage_group: MidValueId(51) } Some(OperationId(8)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 55992, exchange: 54360 }, MemoryUsage { standard: 0, interleaved: 0 }, 12100)) MidValue { id: MidValueId(43), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(52), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } Some(OperationId(8)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 7032, exchange: 4696 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(10), tile_offset: 225, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 81, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(18), storage_group: MidValueId(10) } MidValue { id: MidValueId(125), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(20), storage_group: MidValueId(125) } Some(OperationId(8)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 128, output_columns: 128 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 16166, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(52), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(125), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(20), storage_group: MidValueId(125) } MidValue { id: MidValueId(126), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(20), storage_group: MidValueId(126) } Some(OperationId(8)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 18858, exchange: 14040 }, MemoryUsage { standard: 26880, interleaved: 0 }, 3028)) MidValue { id: MidValueId(126), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(20), storage_group: MidValueId(126) } MidValue { id: MidValueId(53), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(20), storage_group: MidValueId(53) } Some(OperationId(9)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14136, exchange: 2040 }, MemoryUsage { standard: 2304, interleaved: 0 }, 328)) MidValue { id: MidValueId(53), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(20), storage_group: MidValueId(53) } MidValue { id: MidValueId(54), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(20), storage_group: MidValueId(53) } Some(OperationId(9)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(54), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(20), storage_group: MidValueId(53) } MidValue { id: MidValueId(11), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(19), storage_group: MidValueId(11) } MidValue { id: MidValueId(54), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(20), storage_group: MidValueId(53) } MidValue { id: MidValueId(55), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(21), storage_group: MidValueId(55) } Some(OperationId(10)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: false }) }, reuse_local: false }) Some((ProgramCycles { total: 4099, exchange: 2200 }, MemoryUsage { standard: 2560, interleaved: 0 }, 364)) MidValue { id: MidValueId(47), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(13), storage_group: MidValueId(47) } MidValue { id: MidValueId(56), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(22), storage_group: MidValueId(56) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: false }) }, reuse_local: false }) Some((ProgramCycles { total: 10115, exchange: 3160 }, MemoryUsage { standard: 4096, interleaved: 0 }, 580)) MidValue { id: MidValueId(51), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1472, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(17), storage_group: MidValueId(51) } MidValue { id: MidValueId(127), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 1152, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(96) }, AxisTiling { axis: FromStart(2), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(127) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: false }) }, reuse_local: false }) Some((ProgramCycles { total: 42660, exchange: 15960 }, MemoryUsage { standard: 24576, interleaved: 0 }, 3460)) MidValue { id: MidValueId(55), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(21), storage_group: MidValueId(55) } MidValue { id: MidValueId(128), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 768, column_block: 16 }), tiling: TensorTiling { tile_count: 160, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }, AxisTiling { axis: FromStart(2), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(128) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 22948, exchange: 19000 }, MemoryUsage { standard: 0, interleaved: 0 }, 4144)) MidValue { id: MidValueId(56), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(22), storage_group: MidValueId(56) } MidValue { id: MidValueId(129), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1408, replicas: 11, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(129) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 10488, exchange: 8600 }, MemoryUsage { standard: 0, interleaved: 0 }, 1804)) MidValue { id: MidValueId(127), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 1152, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(96) }, AxisTiling { axis: FromStart(2), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(127) } MidValue { id: MidValueId(130), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 1408, replicas: 4, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }, AxisTiling { axis: FromStart(1), partitions: 11, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(130) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 80, output_columns: 80 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(1), output_column: FromEnd(1), valid_inner: Some(72), valid_columns: Some(729) }), reuse_input: None }) Some((ProgramCycles { total: 22594, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(129), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1408, replicas: 11, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(129) } MidValue { id: MidValueId(130), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 1408, replicas: 4, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }, AxisTiling { axis: FromStart(1), partitions: 11, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(130) } MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1408, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }, AxisTiling { axis: FromStart(2), partitions: 11, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(131) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 19320, exchange: 15960 }, MemoryUsage { standard: 0, interleaved: 0 }, 3460)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1408, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(352) }, AxisTiling { axis: FromStart(2), partitions: 11, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(131) } MidValue { id: MidValueId(132), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(132) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 729, padded_key_columns: 768 }, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 41130, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(132), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(132) } MidValue { id: MidValueId(133), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 784]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(133) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 27360, exchange: 22680 }, MemoryUsage { standard: 0, interleaved: 0 }, 4972)) MidValue { id: MidValueId(133), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 784]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(133) } MidValue { id: MidValueId(134), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 768]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1024, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(256) }, AxisTiling { axis: FromStart(2), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(134) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 18168, exchange: 15960 }, MemoryUsage { standard: 0, interleaved: 0 }, 3460)) MidValue { id: MidValueId(128), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 768, column_block: 16 }), tiling: TensorTiling { tile_count: 160, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }, AxisTiling { axis: FromStart(2), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(128) } MidValue { id: MidValueId(135), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 96, column_block: 16 }), tiling: TensorTiling { tile_count: 1024, replicas: 4, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(135) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 96, output_columns: 80 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(729), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 27054, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(134), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 768]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1024, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(256) }, AxisTiling { axis: FromStart(2), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(134) } MidValue { id: MidValueId(135), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 96, column_block: 16 }), tiling: TensorTiling { tile_count: 1024, replicas: 4, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 8, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(135) } MidValue { id: MidValueId(136), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([8, 32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1024, replicas: 1, axes: [AxisTiling { axis: FromStart(1), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(256) }, AxisTiling { axis: FromStart(3), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(0), partitions: 8, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(136) } Some(OperationId(13)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 16132, exchange: 11800 }, MemoryUsage { standard: 23040, interleaved: 0 }, 2524)) MidValue { id: MidValueId(136), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([8, 32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1024, replicas: 1, axes: [AxisTiling { axis: FromStart(1), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(256) }, AxisTiling { axis: FromStart(3), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(0), partitions: 8, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(136) } MidValue { id: MidValueId(137), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(137) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 2808, exchange: 2200 }, MemoryUsage { standard: 0, interleaved: 0 }, 364)) MidValue { id: MidValueId(137), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(137) } MidValue { id: MidValueId(138), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(138) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 768, initial: true, final_block: true }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 3588, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(138), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(25), storage_group: MidValueId(138) } MidValue { id: MidValueId(133), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 784]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(133) } MidValue { id: MidValueId(139), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(139) } Some(OperationId(13)) Primitive(Compute { kernel: Cast { from: F32, to: F16 }, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 5466, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(139), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(139) } MidValue { id: MidValueId(59), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(59) } Some(OperationId(14)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: true }) }, reuse_local: false }) Some((ProgramCycles { total: 4344, exchange: 3480 }, MemoryUsage { standard: 0, interleaved: 0 }, 652)) MidValue { id: MidValueId(59), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(59) } MidValue { id: MidValueId(60), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 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(26), storage_group: MidValueId(60) } Some(OperationId(15)) Convert(ConversionPlan { input: OperandRequirement { 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 } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), 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 } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 1914, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(60), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 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(26), storage_group: MidValueId(60) } MidValue { id: MidValueId(61), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), 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(26), storage_group: MidValueId(60) } Some(OperationId(15)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), 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 } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 55992, exchange: 54360 }, MemoryUsage { standard: 0, interleaved: 0 }, 12100)) MidValue { id: MidValueId(61), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), 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(26), storage_group: MidValueId(60) } MidValue { id: MidValueId(62), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(26), storage_group: MidValueId(60) } Some(OperationId(15)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 7032, exchange: 4696 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(12), tile_offset: 306, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 81, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(27), storage_group: MidValueId(12) } MidValue { id: MidValueId(140), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(29), storage_group: MidValueId(140) } Some(OperationId(15)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 128, output_columns: 128 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 16166, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(62), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(26), storage_group: MidValueId(60) } MidValue { id: MidValueId(140), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(29), storage_group: MidValueId(140) } MidValue { id: MidValueId(141), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(29), storage_group: MidValueId(141) } Some(OperationId(15)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 18858, exchange: 14040 }, MemoryUsage { standard: 26880, interleaved: 0 }, 3028)) MidValue { id: MidValueId(141), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(29), storage_group: MidValueId(141) } MidValue { id: MidValueId(63), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(29), storage_group: MidValueId(63) } Some(OperationId(16)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14136, exchange: 2040 }, MemoryUsage { standard: 2304, interleaved: 0 }, 328)) MidValue { id: MidValueId(63), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(29), storage_group: MidValueId(63) } MidValue { id: MidValueId(64), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(29), storage_group: MidValueId(63) } Some(OperationId(16)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(64), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(29), storage_group: MidValueId(63) } MidValue { id: MidValueId(13), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(28), storage_group: MidValueId(13) } MidValue { id: MidValueId(64), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(29), storage_group: MidValueId(63) } MidValue { id: MidValueId(65), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(30), storage_group: MidValueId(65) } Some(OperationId(17)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(41), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(6), storage_group: MidValueId(41) } MidValue { id: MidValueId(65), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(30), storage_group: MidValueId(65) } MidValue { id: MidValueId(41), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(6), storage_group: MidValueId(41) } MidValue { id: MidValueId(66), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(31), storage_group: MidValueId(66) } Some(OperationId(18)) Primitive(Compute { kernel: LayerNorm, operands: [OperandWindow([]), OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 16139, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(66), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(31), storage_group: MidValueId(66) } MidValue { id: MidValueId(14), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(32), storage_group: MidValueId(14) } MidValue { id: MidValueId(15), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(33), storage_group: MidValueId(15) } MidValue { id: MidValueId(67), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(34), storage_group: MidValueId(67) } Some(OperationId(19)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 906, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(67), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(34), storage_group: MidValueId(67) } MidValue { id: MidValueId(68), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(34), storage_group: MidValueId(67) } Some(OperationId(19)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 35, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 209496, exchange: 204120 }, MemoryUsage { standard: 0, interleaved: 0 }, 45796)) MidValue { id: MidValueId(68), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(34), storage_group: MidValueId(67) } MidValue { id: MidValueId(69), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 35, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(34), storage_group: MidValueId(67) } Some(OperationId(19)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 10104, exchange: 6744 }, MemoryUsage { standard: 0, interleaved: 0 }, 76)) MidValue { id: MidValueId(16), tile_offset: 387, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 210, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(35), storage_group: MidValueId(16) } MidValue { id: MidValueId(142), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromStart(1), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(142) } Some(OperationId(19)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 128 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 48678, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(69), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 35, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(34), storage_group: MidValueId(67) } MidValue { id: MidValueId(142), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromStart(1), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(142) } MidValue { id: MidValueId(143), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([6, 2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(143) } Some(OperationId(19)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 41778, exchange: 29400 }, MemoryUsage { standard: 64512, interleaved: 0 }, 6484)) MidValue { id: MidValueId(143), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([6, 2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(143) } MidValue { id: MidValueId(70), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 42, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(70) } Some(OperationId(20)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 42, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 50444, exchange: 6040 }, MemoryUsage { standard: 8608, interleaved: 0 }, 1228)) MidValue { id: MidValueId(70), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 35, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 42, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(70) } MidValue { id: MidValueId(71), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(37), storage_group: MidValueId(70) } Some(OperationId(21)) Primitive(Compute { kernel: BiasGelu, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 31928, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(71), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(37), storage_group: MidValueId(70) } MidValue { id: MidValueId(17), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(36), storage_group: MidValueId(17) } MidValue { id: MidValueId(73), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(39), storage_group: MidValueId(73) } Some(OperationId(22)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 35459, exchange: 17880 }, MemoryUsage { standard: 27648, interleaved: 0 }, 3892)) MidValue { id: MidValueId(73), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(39), storage_group: MidValueId(73) } MidValue { id: MidValueId(74), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(39), storage_group: MidValueId(73) } Some(OperationId(22)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 6594, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(74), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(39), storage_group: MidValueId(73) } MidValue { id: MidValueId(75), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(39), storage_group: MidValueId(73) } Some(OperationId(22)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 42360, exchange: 28248 }, MemoryUsage { standard: 0, interleaved: 0 }, 256)) MidValue { id: MidValueId(18), tile_offset: 597, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 288, column_block: 16 }), tiling: TensorTiling { tile_count: 45, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(40), storage_group: MidValueId(18) } MidValue { id: MidValueId(144), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 288, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 32, axes: [AxisTiling { axis: FromStart(1), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(144) } Some(OperationId(22)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 288, output_columns: 384 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 76326, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(75), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(39), storage_group: MidValueId(73) } MidValue { id: MidValueId(144), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 288, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 32, axes: [AxisTiling { axis: FromStart(1), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(144) } MidValue { id: MidValueId(145), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([15, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }, AxisTiling { axis: FromStart(0), partitions: 15, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(3) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(145) } Some(OperationId(22)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 35250, exchange: 27480 }, MemoryUsage { standard: 49152, interleaved: 0 }, 6052)) MidValue { id: MidValueId(145), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([15, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 3, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }, AxisTiling { axis: FromStart(0), partitions: 15, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(3) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(145) } MidValue { id: MidValueId(76), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 45, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(76) } Some(OperationId(23)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 45, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14296, exchange: 2200 }, MemoryUsage { standard: 2304, interleaved: 0 }, 364)) MidValue { id: MidValueId(76), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 45, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(76) } MidValue { id: MidValueId(77), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(42), storage_group: MidValueId(76) } Some(OperationId(23)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(77), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(42), storage_group: MidValueId(76) } MidValue { id: MidValueId(19), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(41), storage_group: MidValueId(19) } MidValue { id: MidValueId(77), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(42), storage_group: MidValueId(76) } MidValue { id: MidValueId(78), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(43), storage_group: MidValueId(78) } Some(OperationId(25)) Primitive(Compute { kernel: AddLayerNorm, operands: [OperandWindow([]), OperandWindow([]), OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 17291, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(66), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(31), storage_group: MidValueId(66) } MidValue { id: MidValueId(78), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(43), storage_group: MidValueId(78) } MidValue { id: MidValueId(20), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(45), storage_group: MidValueId(20) } MidValue { id: MidValueId(21), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(46), storage_group: MidValueId(21) } MidValue { id: MidValueId(80), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } Some(OperationId(26)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 906, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(22), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(48), storage_group: MidValueId(22) } MidValue { id: MidValueId(81), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(48), storage_group: MidValueId(22) } Some(OperationId(26)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 16 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 822, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(81), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(48), storage_group: MidValueId(22) } MidValue { id: MidValueId(23), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 96, column_block: 16 }), tiling: TensorTiling { tile_count: 864, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(49), storage_group: MidValueId(23) } MidValue { id: MidValueId(146), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([12, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(864) }, AxisTiling { axis: FromStart(0), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(51), storage_group: MidValueId(146) } Some(OperationId(26)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 2238, exchange: 1560 }, MemoryUsage { standard: 1664, interleaved: 0 }, 220)) MidValue { id: MidValueId(146), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([12, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 864, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(864) }, AxisTiling { axis: FromStart(0), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(51), storage_group: MidValueId(146) } MidValue { id: MidValueId(82), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(51), storage_group: MidValueId(82) } Some(OperationId(27)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 1089, exchange: 760 }, MemoryUsage { standard: 8, interleaved: 0 }, 40)) MidValue { id: MidValueId(82), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(51), storage_group: MidValueId(82) } MidValue { id: MidValueId(83), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(51), storage_group: MidValueId(82) } Some(OperationId(27)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 23, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(83), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(51), storage_group: MidValueId(82) } MidValue { id: MidValueId(24), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(50), storage_group: MidValueId(24) } MidValue { id: MidValueId(83), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(51), storage_group: MidValueId(82) } MidValue { id: MidValueId(84), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(52), storage_group: MidValueId(84) } Some(OperationId(28)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 906, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(80), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } MidValue { id: MidValueId(85), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } Some(OperationId(28)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 55992, exchange: 54360 }, MemoryUsage { standard: 0, interleaved: 0 }, 12100)) MidValue { id: MidValueId(85), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } MidValue { id: MidValueId(86), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } Some(OperationId(28)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 7032, exchange: 4696 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(25), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 81, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(53), storage_group: MidValueId(25) } MidValue { id: MidValueId(147), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(55), storage_group: MidValueId(147) } Some(OperationId(28)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 128, output_columns: 128 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 16166, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(86), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } MidValue { id: MidValueId(147), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 18, axes: [AxisTiling { axis: FromStart(1), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(55), storage_group: MidValueId(147) } MidValue { id: MidValueId(148), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(55), storage_group: MidValueId(148) } Some(OperationId(28)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 18858, exchange: 14040 }, MemoryUsage { standard: 26880, interleaved: 0 }, 3028)) MidValue { id: MidValueId(148), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 9, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 18, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(9) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(55), storage_group: MidValueId(148) } MidValue { id: MidValueId(87), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(55), storage_group: MidValueId(87) } Some(OperationId(29)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14136, exchange: 2040 }, MemoryUsage { standard: 2304, interleaved: 0 }, 328)) MidValue { id: MidValueId(87), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 54, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(27) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(55), storage_group: MidValueId(87) } MidValue { id: MidValueId(88), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(55), storage_group: MidValueId(87) } Some(OperationId(29)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(88), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(55), storage_group: MidValueId(87) } MidValue { id: MidValueId(26), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(54), storage_group: MidValueId(26) } MidValue { id: MidValueId(88), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(55), storage_group: MidValueId(87) } MidValue { id: MidValueId(89), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(56), storage_group: MidValueId(89) } Some(OperationId(30)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 75672, exchange: 73560 }, MemoryUsage { standard: 0, interleaved: 0 }, 16420)) MidValue { id: MidValueId(85), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } MidValue { id: MidValueId(90), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } Some(OperationId(30)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 7800, exchange: 5208 }, MemoryUsage { standard: 0, interleaved: 0 }, 76)) MidValue { id: MidValueId(27), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(57), storage_group: MidValueId(27) } MidValue { id: MidValueId(149), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 20, axes: [AxisTiling { axis: FromStart(1), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(59), storage_group: MidValueId(149) } Some(OperationId(30)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 96 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 16998, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(90), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(47), storage_group: MidValueId(80) } MidValue { id: MidValueId(149), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 20, axes: [AxisTiling { axis: FromStart(1), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(59), storage_group: MidValueId(149) } MidValue { id: MidValueId(150), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([6, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(59), storage_group: MidValueId(150) } Some(OperationId(30)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(150), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([6, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 12, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromStart(0), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(12) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(59), storage_group: MidValueId(150) } MidValue { id: MidValueId(91), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(59), storage_group: MidValueId(91) } Some(OperationId(31)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 14296, exchange: 2200 }, MemoryUsage { standard: 2304, interleaved: 0 }, 364)) MidValue { id: MidValueId(91), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(59), storage_group: MidValueId(91) } MidValue { id: MidValueId(92), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(59), storage_group: MidValueId(91) } Some(OperationId(31)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 3467, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(92), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(59), storage_group: MidValueId(91) } MidValue { id: MidValueId(28), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, replicas: 1458, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(58), storage_group: MidValueId(28) } MidValue { id: MidValueId(92), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(59), storage_group: MidValueId(91) } MidValue { id: MidValueId(93), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(60), storage_group: MidValueId(93) } Some(OperationId(32)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: false }) }, reuse_local: false }) Some((ProgramCycles { total: 1159, exchange: 760 }, MemoryUsage { standard: 160, interleaved: 0 }, 40)) MidValue { id: MidValueId(84), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(52), storage_group: MidValueId(84) } MidValue { id: MidValueId(94), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(61), storage_group: MidValueId(94) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: false }) }, reuse_local: false }) Some((ProgramCycles { total: 23939, exchange: 7000 }, MemoryUsage { standard: 10240, interleaved: 0 }, 1444)) MidValue { id: MidValueId(89), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(56), storage_group: MidValueId(89) } MidValue { id: MidValueId(151), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 384, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(151) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: false }) }, reuse_local: false }) Some((ProgramCycles { total: 42660, exchange: 15960 }, MemoryUsage { standard: 24576, interleaved: 0 }, 3460)) MidValue { id: MidValueId(93), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1458, 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: Some(1) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(729) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(60), storage_group: MidValueId(93) } MidValue { id: MidValueId(152), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 768, column_block: 16 }), tiling: TensorTiling { tile_count: 160, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }, AxisTiling { axis: FromStart(2), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(152) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1068, exchange: 760 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(94), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(61), storage_group: MidValueId(94) } MidValue { id: MidValueId(153), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 46, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(153) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 7448, exchange: 6840 }, MemoryUsage { standard: 0, interleaved: 0 }, 1408)) MidValue { id: MidValueId(151), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 384, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 12, padding_groups: 1, block_size: 64, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(151) } MidValue { id: MidValueId(154), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }, AxisTiling { axis: FromStart(1), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(154) } Some(OperationId(35)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 80, output_columns: 16 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(1), output_column: FromEnd(1), valid_inner: Some(72), valid_columns: Some(729) }), reuse_input: None }) Some((ProgramCycles { total: 1114, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(153), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 46, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(153) } MidValue { id: MidValueId(154), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }, AxisTiling { axis: FromStart(1), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(154) } MidValue { id: MidValueId(155), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }, AxisTiling { axis: FromStart(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(155) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8440, exchange: 7960 }, MemoryUsage { standard: 0, interleaved: 0 }, 1660)) MidValue { id: MidValueId(155), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1472) }, AxisTiling { axis: FromStart(2), partitions: 46, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(155) } MidValue { id: MidValueId(156), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(156) } Some(OperationId(35)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 729, padded_key_columns: 768 }, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 5814, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(156), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 729]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(156) } MidValue { id: MidValueId(157), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 784]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(157) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 2056, exchange: 1720 }, MemoryUsage { standard: 0, interleaved: 0 }, 256)) MidValue { id: MidValueId(157), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 784]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(157) } MidValue { id: MidValueId(158), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 768]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 640, replicas: 5, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(640) }, AxisTiling { axis: FromStart(2), partitions: 4, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(158) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 17016, exchange: 15960 }, MemoryUsage { standard: 0, interleaved: 0 }, 3460)) MidValue { id: MidValueId(152), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 768, column_block: 16 }), tiling: TensorTiling { tile_count: 160, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 768, padding_multiple: 768, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }, AxisTiling { axis: FromStart(2), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(152) } MidValue { id: MidValueId(159), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 640, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }, AxisTiling { axis: FromStart(2), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(159) } Some(OperationId(35)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 16 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(729), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 2262, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(158), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 768]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 640, replicas: 5, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(640) }, AxisTiling { axis: FromStart(2), partitions: 4, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(158) } MidValue { id: MidValueId(159), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 72]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 640, replicas: 1, axes: [AxisTiling { axis: FromStart(0), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 4, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }, AxisTiling { axis: FromStart(2), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(159) } MidValue { id: MidValueId(160), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4, 32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 640, replicas: 1, axes: [AxisTiling { axis: FromStart(1), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(640) }, AxisTiling { axis: FromStart(3), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(160) } Some(OperationId(35)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 1406, exchange: 920 }, MemoryUsage { standard: 800, interleaved: 0 }, 76)) MidValue { id: MidValueId(160), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4, 32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 640, replicas: 1, axes: [AxisTiling { axis: FromStart(1), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(640) }, AxisTiling { axis: FromStart(3), partitions: 5, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromStart(0), partitions: 4, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(160) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(160) } MidValue { id: MidValueId(161), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(161) } Some(OperationId(35)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1068, exchange: 760 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(161), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(161) } MidValue { id: MidValueId(162), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(162) } Some(OperationId(35)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 768, initial: true, final_block: true }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 1344, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(162), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(64), storage_group: MidValueId(162) } MidValue { id: MidValueId(157), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 784]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(157) } MidValue { id: MidValueId(163), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(163) } Some(OperationId(35)) Primitive(Compute { kernel: Cast { from: F32, to: F16 }, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 666, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(163), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(163) } MidValue { id: MidValueId(97), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(97) } Some(OperationId(36)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: Some(AxisFactorView { split_axis: 2, merge_axis: 0, factor: 16, reversed: true }) }, reuse_local: false }) Some((ProgramCycles { total: 4344, exchange: 3480 }, MemoryUsage { standard: 0, interleaved: 0 }, 652)) MidValue { id: MidValueId(97), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(3), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(64), storage_group: MidValueId(97) } MidValue { id: MidValueId(98), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(65), storage_group: MidValueId(98) } Some(OperationId(37)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 4099, exchange: 3480 }, MemoryUsage { standard: 512, interleaved: 0 }, 652)) MidValue { id: MidValueId(98), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(65), storage_group: MidValueId(98) } MidValue { id: MidValueId(99), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(65), storage_group: MidValueId(98) } Some(OperationId(37)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 714, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(99), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(65), storage_group: MidValueId(98) } MidValue { id: MidValueId(100), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(65), storage_group: MidValueId(98) } Some(OperationId(37)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1272, exchange: 856 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(29), tile_offset: 642, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), tiling: TensorTiling { tile_count: 1296, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(66), storage_group: MidValueId(29) } MidValue { id: MidValueId(165), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), tiling: TensorTiling { tile_count: 1296, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(66), storage_group: MidValueId(165) } Some(OperationId(37)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 16 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 646, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(100), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(65), storage_group: MidValueId(98) } MidValue { id: MidValueId(165), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), tiling: TensorTiling { tile_count: 1296, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(66), storage_group: MidValueId(165) } MidValue { id: MidValueId(164), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([18, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1296) }, AxisTiling { axis: FromStart(0), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(68), storage_group: MidValueId(164) } Some(OperationId(37)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 2862, exchange: 2040 }, MemoryUsage { standard: 2432, interleaved: 0 }, 328)) MidValue { id: MidValueId(164), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([18, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1296, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1296) }, AxisTiling { axis: FromStart(0), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(68), storage_group: MidValueId(164) } MidValue { id: MidValueId(101), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(68), storage_group: MidValueId(101) } Some(OperationId(38)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 1089, exchange: 760 }, MemoryUsage { standard: 8, interleaved: 0 }, 40)) MidValue { id: MidValueId(101), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(68), storage_group: MidValueId(101) } MidValue { id: MidValueId(102), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(68), storage_group: MidValueId(101) } Some(OperationId(38)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 23, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(102), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(68), storage_group: MidValueId(101) } MidValue { id: MidValueId(30), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(67), storage_group: MidValueId(30) } MidValue { id: MidValueId(102), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(68), storage_group: MidValueId(101) } MidValue { id: MidValueId(103), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } Some(OperationId(39)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: DirectRetile }) Some((ProgramCycles { total: 3786, exchange: 3480 }, MemoryUsage { standard: 0, interleaved: 0 }, 652)) MidValue { id: MidValueId(103), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } MidValue { id: MidValueId(104), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } Some(OperationId(39)) Primitive(Compute { kernel: LayerNormMoments, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 731, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(104), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } MidValue { id: MidValueId(166), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 16, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromStart(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(166) } Some(OperationId(39)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 3464, exchange: 3160 }, MemoryUsage { standard: 0, interleaved: 0 }, 580)) MidValue { id: MidValueId(166), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 16, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromStart(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(166) } MidValue { id: MidValueId(167), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 16, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 16, axes: [AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(167) } Some(OperationId(39)) Primitive(Compute { kernel: LayerNormApply { parts: 16 }, operands: [OperandWindow([]), OperandWindow([]), OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 803, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(104), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } MidValue { id: MidValueId(31), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(70), storage_group: MidValueId(31) } MidValue { id: MidValueId(32), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(71), storage_group: MidValueId(32) } MidValue { id: MidValueId(167), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 16, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 16, axes: [AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(167) } MidValue { id: MidValueId(105), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(105) } Some(OperationId(40)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 2179, exchange: 1240 }, MemoryUsage { standard: 1024, interleaved: 0 }, 148)) MidValue { id: MidValueId(105), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(16) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(105) } MidValue { id: MidValueId(106), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(105) } Some(OperationId(40)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 1098, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(106), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(105) } MidValue { id: MidValueId(107), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(105) } Some(OperationId(40)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 128, output_columns: 32 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 1702, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(107), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 163, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(105) } MidValue { id: MidValueId(33), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 1467, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 163, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(73), storage_group: MidValueId(33) } MidValue { id: MidValueId(168), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 163, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1467) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(163) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(168) } Some(OperationId(40)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 2648, exchange: 1880 }, MemoryUsage { standard: 2560, interleaved: 0 }, 292)) MidValue { id: MidValueId(168), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([9, 2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1467, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 163, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1467) }, AxisTiling { axis: FromStart(0), partitions: 9, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(163) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(168) } MidValue { id: MidValueId(108), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 163, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 163, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(163) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(108) } Some(OperationId(41)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 163, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 163, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(163) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 1253, exchange: 760 }, MemoryUsage { standard: 40, interleaved: 0 }, 40)) MidValue { id: MidValueId(108), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 163, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 163, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(163) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(108) } MidValue { id: MidValueId(109), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(75), storage_group: MidValueId(108) } Some(OperationId(41)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 71, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(109), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(75), storage_group: MidValueId(108) } MidValue { id: MidValueId(34), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(74), storage_group: MidValueId(34) } MidValue { id: MidValueId(109), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(75), storage_group: MidValueId(108) } MidValue { id: MidValueId(110), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(76), storage_group: MidValueId(110) } Some(OperationId(42)) Primitive(Compute { kernel: Gelu, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 858, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(110), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(76), storage_group: MidValueId(110) } MidValue { id: MidValueId(110), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(76), storage_group: MidValueId(110) } MidValue { id: MidValueId(111), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(77), storage_group: MidValueId(111) } Some(OperationId(43)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 3139, exchange: 1720 }, MemoryUsage { standard: 1792, interleaved: 0 }, 256)) MidValue { id: MidValueId(111), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 512, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(256) }, AxisTiling { axis: FromEnd(1), partitions: 256, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(77), storage_group: MidValueId(111) } MidValue { id: MidValueId(112), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(77), storage_group: MidValueId(111) } Some(OperationId(43)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: LocalKernel }) Some((ProgramCycles { total: 1146, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(112), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(77), storage_group: MidValueId(111) } MidValue { id: MidValueId(113), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(77), storage_group: MidValueId(111) } Some(OperationId(43)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 224, output_columns: 16 }, operands: [OperandWindow([]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromStart(2), right_inner: FromStart(0), output_column: FromEnd(1), valid_inner: None, valid_columns: None }), reuse_input: None }) Some((ProgramCycles { total: 1526, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(113), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } } }, origin: ValueId(77), storage_group: MidValueId(111) } MidValue { id: MidValueId(35), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 224, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(78), storage_group: MidValueId(35) } MidValue { id: MidValueId(169), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([20, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1440) }, AxisTiling { axis: FromStart(0), partitions: 20, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(80), storage_group: MidValueId(169) } Some(OperationId(43)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 3070, exchange: 2200 }, MemoryUsage { standard: 2688, interleaved: 0 }, 364)) MidValue { id: MidValueId(169), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([20, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1440) }, AxisTiling { axis: FromStart(0), partitions: 20, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(80), storage_group: MidValueId(169) } MidValue { id: MidValueId(114), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(80), storage_group: MidValueId(114) } Some(OperationId(44)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, output: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } }, alignment: 8, access_tail_bytes: 0, local_staging: Direct, materialization: Complete }, strategy: StageLogicalThenTransform }) Some((ProgramCycles { total: 1089, exchange: 760 }, MemoryUsage { standard: 8, interleaved: 0 }, 40)) MidValue { id: MidValueId(114), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 72, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(80), storage_group: MidValueId(114) } MidValue { id: MidValueId(115), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(80), storage_group: MidValueId(114) } Some(OperationId(44)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 23, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(115), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(80), storage_group: MidValueId(114) } MidValue { id: MidValueId(36), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(79), storage_group: MidValueId(36) } MidValue { id: MidValueId(115), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(80), storage_group: MidValueId(114) } MidValue { id: MidValueId(116), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(81), storage_group: MidValueId(116) } Some(OperationId(45)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 23, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(103), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } MidValue { id: MidValueId(116), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(81), storage_group: MidValueId(116) } MidValue { id: MidValueId(103), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(69), storage_group: MidValueId(103) } MidValue { id: MidValueId(117), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 576, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(1), partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(82), storage_group: MidValueId(117) }