Some(OperationId(0)) 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: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, 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 }, 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: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, 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: LocalKernel }) Some((ProgramCycles { total: 19530, 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: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, 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(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: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, 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(0), storage_group: MidValueId(0) } Some(OperationId(0)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 4728, exchange: 3800 }, MemoryUsage { standard: 0, interleaved: 0 }, 724)) MidValue { id: MidValueId(1), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([588, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 320, column_block: 16 }), tiling: TensorTiling { tile_count: 144, 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: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(1), storage_group: MidValueId(1) } MidValue { id: MidValueId(121), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([588, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 320, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 10, axes: [AxisTiling { axis: FromStart(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(121) } Some(OperationId(0)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 320, 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: 7814, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 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: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, 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(0), storage_group: MidValueId(0) } MidValue { id: MidValueId(121), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([588, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 320, column_block: 16 }), tiling: TensorTiling { tile_count: 1440, replicas: 10, axes: [AxisTiling { axis: FromStart(1), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 320, padding_multiple: 320, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(121) } MidValue { id: MidValueId(122), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 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: 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: 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(122) } Some(OperationId(0)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 4510, exchange: 2200 }, MemoryUsage { standard: 7296, interleaved: 0 }, 364)) MidValue { id: MidValueId(122), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 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: 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: 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(72) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(3), storage_group: MidValueId(122) } MidValue { id: MidValueId(38), 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(3), storage_group: MidValueId(38) } Some(OperationId(1)) 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(38), 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(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: 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: 11832, exchange: 9720 }, MemoryUsage { standard: 0, interleaved: 0 }, 2056)) 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: 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(9), storage_group: MidValueId(42) } Some(OperationId(4)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 14712, exchange: 12120 }, MemoryUsage { standard: 0, interleaved: 0 }, 2596)) MidValue { id: MidValueId(6), tile_offset: 144, 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(10), storage_group: MidValueId(6) } MidValue { id: MidValueId(123), 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(12), storage_group: MidValueId(123) } Some(OperationId(4)) 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(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: 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(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(123), 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(12), storage_group: MidValueId(123) } MidValue { id: MidValueId(124), 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(12), storage_group: MidValueId(124) } Some(OperationId(4)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(124), 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(12), storage_group: MidValueId(124) } 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: 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(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: 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(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: 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(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: 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: 11832, exchange: 9720 }, MemoryUsage { standard: 0, interleaved: 0 }, 2056)) 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: 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(9), storage_group: MidValueId(42) } Some(OperationId(6)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 14712, exchange: 12120 }, MemoryUsage { standard: 0, interleaved: 0 }, 2596)) MidValue { id: MidValueId(8), tile_offset: 216, 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(14), storage_group: MidValueId(8) } 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: 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(16), storage_group: MidValueId(125) } Some(OperationId(6)) 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(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: 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(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: 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(16), storage_group: MidValueId(125) } MidValue { id: MidValueId(126), 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(16), storage_group: MidValueId(126) } Some(OperationId(6)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(126), 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(16), storage_group: MidValueId(126) } 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: 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(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: 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(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: 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(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: 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(16), storage_group: MidValueId(49) } Some(OperationId(7)) 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(50), 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(16), storage_group: MidValueId(49) } MidValue { id: MidValueId(9), 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(15), storage_group: MidValueId(9) } 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: 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(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: 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(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: 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: 11832, exchange: 9720 }, MemoryUsage { standard: 0, interleaved: 0 }, 2056)) 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: 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(9), storage_group: MidValueId(42) } Some(OperationId(8)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 14712, exchange: 12120 }, MemoryUsage { standard: 0, interleaved: 0 }, 2596)) MidValue { id: MidValueId(10), tile_offset: 288, 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(18), storage_group: MidValueId(10) } MidValue { id: MidValueId(127), 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(20), storage_group: MidValueId(127) } Some(OperationId(8)) 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(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: 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(9), storage_group: MidValueId(42) } MidValue { id: MidValueId(127), 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(20), storage_group: MidValueId(127) } MidValue { id: MidValueId(128), 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(20), storage_group: MidValueId(128) } Some(OperationId(8)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(128), 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(20), storage_group: MidValueId(128) } 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: 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(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: 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(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: 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(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(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: 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(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: 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(129) } 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: 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(17), storage_group: MidValueId(51) } MidValue { id: MidValueId(130), 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: 64, 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(130) } 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: 14772, exchange: 3160 }, MemoryUsage { standard: 4096, interleaved: 0 }, 580)) 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(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 0, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(132), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(132) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 0, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(133), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(133) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(132), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(132) } MidValue { id: MidValueId(134), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(134) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(134), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(134) } MidValue { id: MidValueId(135), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(135) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(135), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(135) } MidValue { id: MidValueId(133), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(133) } MidValue { id: MidValueId(136), 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(136) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: true, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 3534, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(136), 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(136) } MidValue { id: MidValueId(135), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(135) } MidValue { id: MidValueId(137), 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(137) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 64, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(138), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(Copy { mapping: CoordinateMapping { offsets: [0, 64, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(139), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(139) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(138), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(140), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(140) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(140), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(140) } MidValue { id: MidValueId(135), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(135) } MidValue { id: MidValueId(141), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(141) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(141), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(141) } MidValue { id: MidValueId(139), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(139) } MidValue { id: MidValueId(142), 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(142) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(142), 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(142) } MidValue { id: MidValueId(141), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(141) } MidValue { id: MidValueId(137), 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(137) } MidValue { id: MidValueId(143), 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(143) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 128, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(144), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(144) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 128, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(145), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(145) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(144), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(144) } MidValue { id: MidValueId(146), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(146) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(146), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(146) } MidValue { id: MidValueId(141), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(141) } MidValue { id: MidValueId(147), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(147) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(147), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(147) } MidValue { id: MidValueId(145), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(145) } MidValue { id: MidValueId(148), 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(148) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(148), 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(148) } MidValue { id: MidValueId(147), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(147) } MidValue { id: MidValueId(143), 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(143) } MidValue { id: MidValueId(149), 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(149) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 192, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(150), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(150) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 192, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(151), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(151) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(150), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(150) } MidValue { id: MidValueId(152), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(152) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(152), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(152) } MidValue { id: MidValueId(147), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(147) } MidValue { id: MidValueId(153), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(153) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(153), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(153) } MidValue { id: MidValueId(151), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(151) } MidValue { id: MidValueId(154), 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(154) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(154), 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(154) } MidValue { id: MidValueId(153), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(153) } MidValue { id: MidValueId(149), 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(149) } MidValue { id: MidValueId(155), 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(155) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 256, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(156), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(156) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 256, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(157), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(157) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(156), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(156) } MidValue { id: MidValueId(158), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(158) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(158), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(158) } MidValue { id: MidValueId(153), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(153) } MidValue { id: MidValueId(159), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(159) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(159), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(159) } MidValue { id: MidValueId(157), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(157) } MidValue { id: MidValueId(160), 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(160) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(160), 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(160) } MidValue { id: MidValueId(159), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(159) } MidValue { id: MidValueId(155), 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(155) } MidValue { id: MidValueId(161), 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(161) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 320, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(162), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(162) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 320, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(163), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(163) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(162), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(162) } MidValue { id: MidValueId(164), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(164) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(164), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(164) } MidValue { id: MidValueId(159), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(159) } MidValue { id: MidValueId(165), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(165) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(165), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(165) } MidValue { id: MidValueId(163), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(163) } MidValue { id: MidValueId(166), 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(166) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(166), 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(166) } MidValue { id: MidValueId(165), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(165) } MidValue { id: MidValueId(161), 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(161) } MidValue { id: MidValueId(167), 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(167) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 384, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(168), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(168) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 384, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(169), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(169) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(168), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(168) } MidValue { id: MidValueId(170), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(170) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(170), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(170) } MidValue { id: MidValueId(165), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(165) } MidValue { id: MidValueId(171), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(171) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(171), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(171) } MidValue { id: MidValueId(169), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(169) } MidValue { id: MidValueId(172), 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(172) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(172), 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(172) } MidValue { id: MidValueId(171), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(171) } MidValue { id: MidValueId(167), 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(167) } MidValue { id: MidValueId(173), 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(173) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 448, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(174), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(174) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 448, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(175), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(175) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(174), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(174) } MidValue { id: MidValueId(176), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(176) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(176), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(176) } MidValue { id: MidValueId(171), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(171) } MidValue { id: MidValueId(177), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(177) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(177), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(177) } MidValue { id: MidValueId(175), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(175) } MidValue { id: MidValueId(178), 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(178) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(178), 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(178) } MidValue { id: MidValueId(177), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(177) } MidValue { id: MidValueId(173), 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(173) } MidValue { id: MidValueId(179), 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(179) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 512, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(180), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(180) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 512, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(181), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(181) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(180), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(180) } MidValue { id: MidValueId(182), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(182) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(182), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(182) } MidValue { id: MidValueId(177), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(177) } MidValue { id: MidValueId(183), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(183) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(183), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(183) } MidValue { id: MidValueId(181), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(181) } MidValue { id: MidValueId(184), 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(184) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(184), 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(184) } MidValue { id: MidValueId(183), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(183) } MidValue { id: MidValueId(179), 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(179) } MidValue { id: MidValueId(185), 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(185) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 576, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(186), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(186) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 576, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(187), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(187) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(186), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(186) } MidValue { id: MidValueId(188), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(188) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(188), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(188) } MidValue { id: MidValueId(183), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(183) } MidValue { id: MidValueId(189), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(189) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(189), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(189) } MidValue { id: MidValueId(187), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(187) } MidValue { id: MidValueId(190), 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(190) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(190), 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(190) } MidValue { id: MidValueId(189), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(189) } MidValue { id: MidValueId(185), 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(185) } MidValue { id: MidValueId(191), 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(191) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 640, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(192), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(192) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 640, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(193), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(193) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(64) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(192), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(192) } MidValue { id: MidValueId(194), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(194) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 64, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 4284, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(194), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(194) } MidValue { id: MidValueId(189), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(189) } MidValue { id: MidValueId(195), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(195) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(64), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(195), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(195) } MidValue { id: MidValueId(193), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 64, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(193) } MidValue { id: MidValueId(196), 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(196) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: false }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 4956, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(196), 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(196) } MidValue { id: MidValueId(195), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(195) } MidValue { id: MidValueId(191), 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(191) } MidValue { id: MidValueId(197), 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(197) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 704, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(130), 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: 64, 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(130) } MidValue { id: MidValueId(198), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 25, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(198) } Some(OperationId(13)) Primitive(Copy { mapping: CoordinateMapping { offsets: [0, 704, 0], view: None }, reuse_local: true }) Some((ProgramCycles { total: 8568, exchange: 7000 }, MemoryUsage { standard: 0, interleaved: 0 }, 1444)) MidValue { id: MidValueId(131), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: 64, 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(131) } MidValue { id: MidValueId(199), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 25, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(199) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 64 }, 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(25) }), reuse_input: None }) Some((ProgramCycles { total: 4774, 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: 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(129) } MidValue { id: MidValueId(198), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 25, 80]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(TransposedRight), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(198) } MidValue { id: MidValueId(200), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(200) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionSoftmax { head_dimension: 72, key_columns: 25, padded_key_columns: 64 }, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 3906, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(200), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 729, 64]), 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(200) } MidValue { id: MidValueId(195), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(195) } MidValue { id: MidValueId(201), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(201) } Some(OperationId(13)) Primitive(Compute { kernel: Gemm { multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 64, output_columns: 80 }, operands: [OperandWindow([(2, 0, 64)]), OperandWindow([])], product: Some(ProductAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: Some(25), valid_columns: Some(72) }), reuse_input: None }) Some((ProgramCycles { total: 4774, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(201), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(201) } MidValue { id: MidValueId(199), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 25, 80]), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor(Matrix { row_block: 64, column_block: 16 }), 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: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromStart(1), partitions: 1, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromStart(2), 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(199) } MidValue { id: MidValueId(202), 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(202) } Some(OperationId(13)) Primitive(Compute { kernel: AttentionMerge { value_dimension: 72, padded_value_dimension: 80, key_block_columns: 64, initial: false, final_block: true }, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 5046, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(202), 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(202) } MidValue { id: MidValueId(201), 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: Ipu21Standard } } }, origin: ValueId(25), storage_group: MidValueId(201) } MidValue { id: MidValueId(197), 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(197) } MidValue { id: MidValueId(203), 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(203) } 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(203), 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(203) } 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: 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: 11832, exchange: 9720 }, MemoryUsage { standard: 0, interleaved: 0 }, 2056)) 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: 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(26), storage_group: MidValueId(60) } Some(OperationId(15)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 14712, exchange: 12120 }, MemoryUsage { standard: 0, interleaved: 0 }, 2596)) MidValue { id: MidValueId(12), tile_offset: 360, 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(27), storage_group: MidValueId(12) } MidValue { id: MidValueId(204), 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(29), storage_group: MidValueId(204) } Some(OperationId(15)) 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(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: 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(26), storage_group: MidValueId(60) } MidValue { id: MidValueId(204), 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(29), storage_group: MidValueId(204) } MidValue { id: MidValueId(205), 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(29), storage_group: MidValueId(205) } Some(OperationId(15)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(205), 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(29), storage_group: MidValueId(205) } 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: 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(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: 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(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: 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(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: 1458, replicas: 54, axes: [AxisTiling { axis: FromEnd(1), partitions: 3, padding_groups: 1, block_size: 384, padding_multiple: 384, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 9, 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: 48120, exchange: 39960 }, MemoryUsage { standard: 0, interleaved: 0 }, 8860)) 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: 1458, replicas: 54, axes: [AxisTiling { axis: FromEnd(1), partitions: 3, padding_groups: 1, block_size: 384, padding_multiple: 384, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 9, 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: 23928, exchange: 19800 }, MemoryUsage { standard: 0, interleaved: 0 }, 4324)) MidValue { id: MidValueId(16), tile_offset: 432, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 384, column_block: 16 }), tiling: TensorTiling { tile_count: 162, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 3, padding_groups: 1, block_size: 384, padding_multiple: 384, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(35), storage_group: MidValueId(16) } MidValue { id: MidValueId(206), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 384, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromStart(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 3, padding_groups: 1, block_size: 384, padding_multiple: 384, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(206) } Some(OperationId(19)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 384, output_columns: 80 }, 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: 49254, 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: 1458, replicas: 54, axes: [AxisTiling { axis: FromEnd(1), partitions: 3, padding_groups: 1, block_size: 384, padding_multiple: 384, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 9, 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(206), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([1152, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 384, column_block: 16 }), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromStart(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 3, padding_groups: 1, block_size: 384, padding_multiple: 384, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(206) } MidValue { id: MidValueId(207), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([3, 2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 9, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(162) }, AxisTiling { axis: FromStart(0), partitions: 3, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(54) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(207) } Some(OperationId(19)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 20542, exchange: 11800 }, MemoryUsage { standard: 35840, interleaved: 0 }, 2524)) MidValue { id: MidValueId(207), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([3, 2, 729, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), partitions: 9, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(162) }, AxisTiling { axis: FromStart(0), partitions: 3, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(54) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(37), storage_group: MidValueId(207) } 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: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }] }, 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: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }] }, 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: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }] }, 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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 8, 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: 89219, exchange: 44760 }, MemoryUsage { standard: 70656, interleaved: 0 }, 9940)) 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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), 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(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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 8, 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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), partitions: 8, 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: 14442, 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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), 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(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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), 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(39), storage_group: MidValueId(73) } Some(OperationId(22)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 21624, exchange: 17880 }, MemoryUsage { standard: 0, interleaved: 0 }, 3892)) MidValue { id: MidValueId(18), tile_offset: 594, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 184, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(40), storage_group: MidValueId(18) } MidValue { id: MidValueId(208), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromStart(1), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(208) } Some(OperationId(22)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 144 }, 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(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: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: None }, AxisTiling { axis: FromEnd(2), 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(39), storage_group: MidValueId(73) } MidValue { id: MidValueId(208), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 192, column_block: 16 }), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromStart(1), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(0), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(208) } MidValue { id: MidValueId(209), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([23, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), 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: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(209) } Some(OperationId(22)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 40482, exchange: 32280 }, MemoryUsage { standard: 55296, interleaved: 0 }, 7132)) MidValue { id: MidValueId(209), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([23, 2, 729, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromStart(2), 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: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(8) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(42), storage_group: MidValueId(209) } 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: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, 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: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, 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(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: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 184, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, 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: 593, 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: 593, 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: 593, 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: 593, 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(210), tile_offset: 593, 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(210) } Some(OperationId(26)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 2238, exchange: 1560 }, MemoryUsage { standard: 1664, interleaved: 0 }, 220)) MidValue { id: MidValueId(210), tile_offset: 593, 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(210) } 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(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1049, exchange: 760 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(24), tile_offset: 593, 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(211), 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(211) } 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(211), 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(211) } 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: 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: 11832, exchange: 9720 }, MemoryUsage { standard: 0, interleaved: 0 }, 2056)) 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: 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(28)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 14712, exchange: 12120 }, MemoryUsage { standard: 0, interleaved: 0 }, 2596)) 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: 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(53), storage_group: MidValueId(25) } MidValue { id: MidValueId(212), 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(55), storage_group: MidValueId(212) } Some(OperationId(28)) 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(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: 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(212), 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(55), storage_group: MidValueId(212) } MidValue { id: MidValueId(213), 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(55), storage_group: MidValueId(213) } Some(OperationId(28)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(213), 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(55), storage_group: MidValueId(213) } 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: 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(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: 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(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: 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(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: 11832, exchange: 9720 }, MemoryUsage { standard: 0, interleaved: 0 }, 2056)) 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: 14712, exchange: 12120 }, MemoryUsage { standard: 0, interleaved: 0 }, 2596)) MidValue { id: MidValueId(27), tile_offset: 72, 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(214), 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(214) } 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(214), 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(214) } MidValue { id: MidValueId(215), 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(215) } Some(OperationId(30)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 11838, exchange: 8280 }, MemoryUsage { standard: 17024, interleaved: 0 }, 1732)) MidValue { id: MidValueId(215), 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(215) } 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(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: 1066, exchange: 760 }, MemoryUsage { standard: 0, 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(97), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(3), 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(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: 79770, exchange: 66360 }, MemoryUsage { standard: 0, interleaved: 0 }, 14800)) 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(98), 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(3), 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(62), storage_group: MidValueId(95) } 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: 79770, exchange: 66360 }, MemoryUsage { standard: 0, interleaved: 0 }, 14800)) 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(99), 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(3), 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(63), storage_group: MidValueId(96) } Some(OperationId(35)) Primitive(Compute { kernel: FlashAttention { options: AttentionOptions { causal: false, scale: InverseSqrtQueryWidth }, accumulate: F32 }, operands: [OperandWindow([]), OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 69995, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) 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: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(3), 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(61), storage_group: MidValueId(94) } MidValue { id: MidValueId(98), 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(3), 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(62), storage_group: MidValueId(95) } MidValue { id: MidValueId(99), 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(3), 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(63), storage_group: MidValueId(96) } MidValue { id: MidValueId(216), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(3), 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(64), storage_group: MidValueId(216) } Some(OperationId(35)) Primitive(Compute { kernel: Cast { from: F32, to: F16 }, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 618, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(216), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(3), 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(64), storage_group: MidValueId(216) } MidValue { id: MidValueId(100), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(3), 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(64), storage_group: MidValueId(100) } 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(100), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([32, 1, 72]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(3), 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(64), storage_group: MidValueId(100) } MidValue { id: MidValueId(101), 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(101) } 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: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), 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 }, strategy: LocalKernel }) Some((ProgramCycles { total: 1914, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(101), 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(101) } MidValue { id: MidValueId(102), 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: 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(101) } Some(OperationId(37)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: Amp(Left), 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: 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: DirectRetile }) Some((ProgramCycles { total: 2376, exchange: 2040 }, MemoryUsage { standard: 0, interleaved: 0 }, 328)) MidValue { id: MidValueId(102), 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: 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(101) } MidValue { id: MidValueId(103), 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: 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(65), storage_group: MidValueId(101) } Some(OperationId(37)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 2040, exchange: 1560 }, MemoryUsage { standard: 0, interleaved: 0 }, 220)) MidValue { id: MidValueId(29), tile_offset: 778, 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(66), storage_group: MidValueId(29) } MidValue { id: MidValueId(218), tile_offset: 0, 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(66), storage_group: MidValueId(218) } Some(OperationId(37)) 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(103), 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: 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(65), storage_group: MidValueId(101) } MidValue { id: MidValueId(218), tile_offset: 0, 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(66), storage_group: MidValueId(218) } MidValue { id: MidValueId(217), tile_offset: 0, 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(68), storage_group: MidValueId(217) } Some(OperationId(37)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 2238, exchange: 1560 }, MemoryUsage { standard: 1664, interleaved: 0 }, 220)) MidValue { id: MidValueId(217), tile_offset: 0, 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(68), storage_group: MidValueId(217) } MidValue { id: MidValueId(104), 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(104) } 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(104), 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(104) } 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: 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(104) } Some(OperationId(38)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1049, exchange: 760 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(30), tile_offset: 593, 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(219), 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(219) } 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(105), 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(104) } MidValue { id: MidValueId(219), 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(219) } 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: 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(104) } MidValue { id: MidValueId(106), 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(106) } 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: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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: 1057, exchange: 760 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(106), 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(106) } MidValue { id: MidValueId(107), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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(106) } Some(OperationId(39)) Primitive(Compute { kernel: LayerNormMoments, operands: [OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 371, 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: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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(106) } MidValue { id: MidValueId(220), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 32, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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(32) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromStart(2), partitions: 32, 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(220) } Some(OperationId(39)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 1080, exchange: 760 }, MemoryUsage { standard: 0, interleaved: 0 }, 40)) MidValue { id: MidValueId(220), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 32, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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(32) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromStart(2), partitions: 32, 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(220) } MidValue { id: MidValueId(221), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 32, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, replicas: 32, 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(32) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(221) } Some(OperationId(39)) Primitive(Compute { kernel: LayerNormApply { parts: 32 }, operands: [OperandWindow([]), OperandWindow([]), OperandWindow([]), OperandWindow([])], product: None, reuse_input: None }) Some((ProgramCycles { total: 839, 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: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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(106) } 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: 64, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 32, 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: 64, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 32, 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(221), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 32, 2]), format: TensorFormat { precision: F32, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, replicas: 32, 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(32) }, AxisTiling { axis: FromStart(0), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }] }, memory_class: Ipu21Standard } } }, origin: ValueId(72), storage_group: MidValueId(221) } MidValue { id: MidValueId(108), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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(108) } Some(OperationId(40)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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: 3459, exchange: 1880 }, MemoryUsage { standard: 2048, interleaved: 0 }, 292)) MidValue { id: MidValueId(108), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 64, 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: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 32, 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(108) } MidValue { id: MidValueId(109), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(108) } Some(OperationId(40)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(109), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(108) } MidValue { id: MidValueId(110), 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: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(108) } Some(OperationId(40)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 256, 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: 1702, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(110), 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: 1345, replicas: 269, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(108) } 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: 256, column_block: 16 }), tiling: TensorTiling { tile_count: 1345, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 5, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(73), storage_group: MidValueId(33) } MidValue { id: MidValueId(222), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([5, 2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 269, 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(1345) }, AxisTiling { axis: FromStart(0), partitions: 5, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(269) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(222) } Some(OperationId(40)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 1430, exchange: 920 }, MemoryUsage { standard: 768, interleaved: 0 }, 76)) MidValue { id: MidValueId(222), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([5, 2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 1, axes: [AxisTiling { axis: FromStart(3), partitions: 269, 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(1345) }, AxisTiling { axis: FromStart(0), partitions: 5, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(269) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(222) } MidValue { id: MidValueId(111), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 269, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 269, 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(269) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), storage_group: MidValueId(111) } Some(OperationId(41)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 269, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 269, 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(269) }] }, 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: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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: 1130, exchange: 760 }, MemoryUsage { standard: 16, interleaved: 0 }, 40)) MidValue { id: MidValueId(111), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 269, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 269, 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(269) }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(75), 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: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(111) } Some(OperationId(41)) Primitive(Compute { kernel: Add, operands: [OperandWindow([]), OperandWindow([])], product: None, reuse_input: Some(2) }) Some((ProgramCycles { total: 35, 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: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(111) } 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: 1472, replicas: 2, axes: [AxisTiling { axis: FromStart(2), partitions: 736, 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(112), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(111) } MidValue { id: MidValueId(113), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(113) } Some(OperationId(42)) Primitive(Compute { kernel: Gelu, operands: [OperandWindow([])], product: None, reuse_input: Some(1) }) Some((ProgramCycles { total: 822, 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: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(113) } MidValue { id: MidValueId(113), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(113) } MidValue { id: MidValueId(114), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(114) } Some(OperationId(43)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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: 3459, exchange: 1880 }, MemoryUsage { standard: 2048, interleaved: 0 }, 292)) MidValue { id: MidValueId(114), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, 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(736) }, AxisTiling { axis: FromEnd(3), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(736) }, AxisTiling { axis: FromEnd(1), partitions: 736, 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(114) } MidValue { id: MidValueId(115), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(114) } Some(OperationId(43)) Convert(ConversionPlan { input: OperandRequirement { format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(115), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([2, 1, 4304]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(114) } MidValue { id: MidValueId(116), 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: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(114) } Some(OperationId(43)) Primitive(Copy { mapping: CoordinateMapping { offsets: [], view: None }, reuse_local: true }) Some((ProgramCycles { total: 3960, exchange: 3160 }, MemoryUsage { standard: 0, interleaved: 0 }, 580)) MidValue { id: MidValueId(35), tile_offset: 593, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 256, column_block: 16 }), tiling: TensorTiling { tile_count: 1224, 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: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(78), storage_group: MidValueId(35) } MidValue { id: MidValueId(224), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 256, column_block: 16 }), tiling: TensorTiling { tile_count: 1224, 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: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(78), storage_group: MidValueId(224) } Some(OperationId(43)) Primitive(Compute { kernel: Gemm { multiply: F8F143 { scale_exponent: -4 }, accumulate: F16, mode: Initialize, weights: Standard, inner_block: 256, 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: 1702, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) MidValue { id: MidValueId(116), 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: 1224, replicas: 72, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, 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(114) } MidValue { id: MidValueId(224), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([4304, 1152]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: BlockMajor(Matrix { row_block: 256, column_block: 16 }), tiling: TensorTiling { tile_count: 1224, 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: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved } } }, origin: ValueId(78), storage_group: MidValueId(224) } MidValue { id: MidValueId(223), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([17, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1224, 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(1224) }, AxisTiling { axis: FromStart(0), partitions: 17, 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(223) } Some(OperationId(43)) Primitive(Sum { axis: 0, staging: Complete }) Some((ProgramCycles { total: 2678, exchange: 1880 }, MemoryUsage { standard: 2304, interleaved: 0 }, 292)) MidValue { id: MidValueId(223), tile_offset: 0, tensor_type: TensorType { shape: TensorShape([17, 2, 1, 1152]), format: TensorFormat { precision: F16, layout: Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1224, 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(1224) }, AxisTiling { axis: FromStart(0), partitions: 17, 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(223) } MidValue { id: MidValueId(117), 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(117) } 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(117), 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(117) } MidValue { id: MidValueId(118), 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(117) } 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(118), 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(117) } 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(118), 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(117) } MidValue { id: MidValueId(119), 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(119) } 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(106), 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(106) } MidValue { id: MidValueId(119), 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(119) } MidValue { id: MidValueId(106), 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(106) } MidValue { id: MidValueId(120), 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(120) }