Compiling ipu-codegen v0.1.0 (/srv/home/gc-sdk/ipu-stack/crates/ipu-codegen) warning: unused import: `region_program` --> crates/ipu-codegen/src/estimate/mod.rs:22:23 | 22 | operation_cycles, region_program, | ^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default warning: unused import: `memory::*` --> crates/ipu-codegen/src/estimate/mod.rs:39:16 | 39 | pub(crate) use memory::*; | ^^^^^^^^^ warning: unused import: `contiguous_axis_blocks` --> crates/ipu-codegen/src/storage/mod.rs:12:49 | 12 | ByteTraversal, StridedSpan, byte_traversal, contiguous_axis_blocks, contiguous_axis_stride, panel_byte_traversal, | ^^^^^^^^^^^^^^^^^^^^^^ warning: unused imports: `axis_tiling` and `broadcast_operand_tiling` --> crates/ipu-codegen/src/tensor/mod.rs:99:5 | 99 | axis_tiling, broadcast_operand_tiling, project_tiling, same_distribution, | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ warning: methods `objectives` and `total_with_exchange` are never used --> crates/ipu-codegen/src/estimate/memory.rs:57:19 | 46 | impl MemoryPeaks { | ---------------- methods in this implementation ... 57 | pub(crate) fn objectives(self) -> [u64; 5] { | ^^^^^^^^^^ ... 67 | pub(crate) fn total_with_exchange(self) -> u64 { | ^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default warning: function `tensor_memory` is never used --> crates/ipu-codegen/src/estimate/memory.rs:106:15 | 106 | pub(crate) fn tensor_memory(tensor: &TensorType) -> MemoryUsage { | ^^^^^^^^^^^^^ warning: function `operation_cycles` is never used --> crates/ipu-codegen/src/estimate/mid.rs:26:15 | 26 | pub(crate) fn operation_cycles<'a>( | ^^^^^^^^^^^^^^^^ warning: function `maximum_axis_shard_extent` is never used --> crates/ipu-codegen/src/estimate/tensor.rs:25:15 | 25 | pub(crate) fn maximum_axis_shard_extent(tensor: &TensorType, axis: usize) -> u64 { | ^^^^^^^^^^^^^^^^^^^^^^^^^ warning: constant `WORKER_CALL_CYCLES` is never used --> crates/ipu-codegen/src/kernel/copy.rs:18:18 | 18 | pub(crate) const WORKER_CALL_CYCLES: u64 = ipu_target::ipu21::costs::COSTS.local_copy_call_cycles; | ^^^^^^^^^^^^^^^^^^ warning: field `complete_rows` is never read --> crates/ipu-codegen/src/kernel/binding.rs:326:9 | 323 | pub(crate) struct OutputCapability { | ---------------- field in this struct ... 326 | pub complete_rows: bool, | ^^^^^^^^^^^^^ warning: function `supports_row_major_population` is never used --> crates/ipu-codegen/src/kernel/rearrange.rs:307:15 | 307 | pub(crate) fn supports_row_major_population(order: ElementOrder) -> bool { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `is_single_use` is never used --> crates/ipu-codegen/src/mid/rewrite.rs:44:15 | 44 | pub(crate) fn is_single_use( | ^^^^^^^^^^^^^ warning: function `producer_through_copies` is never used --> crates/ipu-codegen/src/mid/rewrite.rs:141:15 | 141 | pub(crate) fn producer_through_copies( | ^^^^^^^^^^^^^^^^^^^^^^^ warning: function `fusion_pays` is never used --> crates/ipu-codegen/src/mid/rewrite.rs:171:15 | 171 | pub(crate) fn fusion_pays<'a>( | ^^^^^^^^^^^ warning: method `input_axis` is never used --> crates/ipu-codegen/src/tensor/mod.rs:54:19 | 38 | impl<'a> Broadcast<'a> { | ---------------------- method in this implementation ... 54 | pub(crate) fn input_axis(self, output_axis: usize) -> Option { | ^^^^^^^^^^ warning: method `minimum_extent` is never used --> crates/ipu-codegen/src/tensor/resolved.rs:50:19 | 15 | impl ResolvedAxis { | ----------------- method in this implementation ... 50 | pub(crate) fn minimum_extent(&self) -> u32 { | ^^^^^^^^^^^^^^ warning: function `broadcast_operand_tiling` is never used --> crates/ipu-codegen/src/tensor/resolved.rs:503:15 | 503 | pub(crate) fn broadcast_operand_tiling( | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `axis_tiling` is never used --> crates/ipu-codegen/src/tensor/resolved.rs:514:15 | 514 | pub(crate) fn axis_tiling(tensor: &TensorType, axis: usize) -> Option<&AxisTiling> { | ^^^^^^^^^^^ warning: `ipu-codegen` (lib test) generated 18 warnings (run `cargo fix --lib -p ipu-codegen --tests` to apply 4 suggestions) Finished `release` profile [optimized] target(s) in 33.80s Running unittests src/lib.rs (target/release/deps/ipu_codegen-8a4acda8960e2f33) running 1 test OLD_FRAGMENT position=0 retained=0 coarse=Some((ProgramCycles { total: 137720, exchange: 38434 }, MemoryPeaks { standard: 58648, interleaved: 148480, total: 188416, exchange_rows: 0, maximum_standard_allocation: 32768 })) detailed=Some((ProgramCycles { total: 194134, exchange: 45840 }, MemoryPeaks { standard: 58648, interleaved: 148480, total: 188416, exchange_rows: 5456, maximum_standard_allocation: 32768 })) CAT position=0 cost=229708 peak=MemoryPeaks { standard: 73848, interleaved: 93184, total: 165888, exchange_rows: 13664, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(64) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=255926 peak=MemoryPeaks { standard: 57464, interleaved: 98304, total: 154624, exchange_rows: 16976, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1458, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=236716 peak=MemoryPeaks { standard: 73848, interleaved: 69632, total: 142336, exchange_rows: 13664, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(48) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=214524 peak=MemoryPeaks { standard: 104312, interleaved: 75776, total: 132096, exchange_rows: 9524, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 112 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1404, replicas: 39, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(234) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(39) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=214288 peak=MemoryPeaks { standard: 131192, interleaved: 32768, total: 162816, exchange_rows: 9632, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=219638 peak=MemoryPeaks { standard: 106616, interleaved: 55296, total: 160768, exchange_rows: 10028, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1428, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(84) }, AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=322956 peak=MemoryPeaks { standard: 62464, interleaved: 108544, total: 148480, exchange_rows: 24284, maximum_standard_allocation: 46080 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 112, output_columns: 192 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1452, replicas: 4, axes: [AxisTiling { axis: FromEnd(1), partitions: 33, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(44) }, AxisTiling { axis: FromEnd(2), partitions: 11, padding_groups: 1, block_size: 112, padding_multiple: 112, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=263044 peak=MemoryPeaks { standard: 100472, interleaved: 32768, total: 132096, exchange_rows: 15320, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 35, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(42) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=206804 peak=MemoryPeaks { standard: 68408, interleaved: 112128, total: 152064, exchange_rows: 8876, maximum_standard_allocation: 49920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 112, output_columns: 208 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1386, replicas: 21, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(231) }, AxisTiling { axis: FromEnd(1), partitions: 11, padding_groups: 1, block_size: 112, padding_multiple: 112, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(21) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=193952 peak=MemoryPeaks { standard: 57600, interleaved: 173056, total: 205824, exchange_rows: 6680, maximum_standard_allocation: 48000 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 112, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1386, replicas: 18, axes: [AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(198) }, AxisTiling { axis: FromEnd(1), partitions: 11, padding_groups: 1, block_size: 112, padding_multiple: 112, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(18) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=497323 peak=MemoryPeaks { standard: 77824, interleaved: 124416, total: 147968, exchange_rows: 43868, maximum_standard_allocation: 61824 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 80, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 49, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=197242 peak=MemoryPeaks { standard: 60376, interleaved: 143872, total: 183808, exchange_rows: 6212, maximum_standard_allocation: 34272 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 272 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1408, replicas: 16, axes: [AxisTiling { axis: FromEnd(2), partitions: 11, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(128) }, AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=231328 peak=MemoryPeaks { standard: 59896, interleaved: 137216, total: 177152, exchange_rows: 8084, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 272 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 16, axes: [AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(96) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=509488 peak=MemoryPeaks { standard: 83576, interleaved: 65536, total: 147968, exchange_rows: 43868, maximum_standard_allocation: 61824 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 80, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 49, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=230638 peak=MemoryPeaks { standard: 49504, interleaved: 171520, total: 195072, exchange_rows: 7796, maximum_standard_allocation: 32928 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 368 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(96) }, AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=209298 peak=MemoryPeaks { standard: 58688, interleaved: 159744, total: 183296, exchange_rows: 5816, maximum_standard_allocation: 41216 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 368 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1404, replicas: 12, axes: [AxisTiling { axis: FromEnd(2), partitions: 13, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(108) }, AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=216868 peak=MemoryPeaks { standard: 35328, interleaved: 269312, total: 285696, exchange_rows: 6536, maximum_standard_allocation: 26496 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 336 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1456, replicas: 13, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(91) }, AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(13) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=242168 peak=MemoryPeaks { standard: 57592, interleaved: 155648, total: 195584, exchange_rows: 7400, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 320 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1428, replicas: 14, axes: [AxisTiling { axis: FromEnd(2), partitions: 17, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(84) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(14) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=243258 peak=MemoryPeaks { standard: 43904, interleaved: 161792, total: 185344, exchange_rows: 7112, maximum_standard_allocation: 26240 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 336 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1404, replicas: 13, axes: [AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(78) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(13) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=220578 peak=MemoryPeaks { standard: 33152, interleaved: 315392, total: 331776, exchange_rows: 5780, maximum_standard_allocation: 23680 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 368 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(2), partitions: 20, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=292952 peak=MemoryPeaks { standard: 37176, interleaved: 240128, total: 263680, exchange_rows: 5780, maximum_standard_allocation: 19968 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 432 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1450, replicas: 10, axes: [AxisTiling { axis: FromEnd(2), partitions: 29, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(50) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=254360 peak=MemoryPeaks { standard: 30008, interleaved: 447488, total: 463872, exchange_rows: 4628, maximum_standard_allocation: 19968 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 432 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1450, replicas: 10, axes: [AxisTiling { axis: FromEnd(2), partitions: 29, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(50) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=594854 peak=MemoryPeaks { standard: 652800, interleaved: 11776, total: 652800, exchange_rows: 47360, maximum_standard_allocation: 327680 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 16, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(144) }, AxisTiling { axis: FromEnd(2), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=597287 peak=MemoryPeaks { standard: 652800, interleaved: 0, total: 652800, exchange_rows: 47360, maximum_standard_allocation: 327680 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(144) }, AxisTiling { axis: FromEnd(2), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=309284 peak=MemoryPeaks { standard: 35736, interleaved: 263168, total: 286720, exchange_rows: 5816, maximum_standard_allocation: 17664 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 480 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=283742 peak=MemoryPeaks { standard: 28224, interleaved: 555008, total: 571392, exchange_rows: 4052, maximum_standard_allocation: 18816 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 544 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1400, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 35, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(40) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=304316 peak=MemoryPeaks { standard: 27648, interleaved: 631808, total: 648192, exchange_rows: 3764, maximum_standard_allocation: 18432 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 624 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1435, replicas: 7, axes: [AxisTiling { axis: FromEnd(2), partitions: 41, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=307434 peak=MemoryPeaks { standard: 26744, interleaved: 659456, total: 675840, exchange_rows: 3440, maximum_standard_allocation: 16384 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 544 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=394346 peak=MemoryPeaks { standard: 33088, interleaved: 378368, total: 401920, exchange_rows: 5240, maximum_standard_allocation: 17280 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 720 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 49, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=329834 peak=MemoryPeaks { standard: 25920, interleaved: 723968, total: 740352, exchange_rows: 3296, maximum_standard_allocation: 17280 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 720 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 49, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=369656 peak=MemoryPeaks { standard: 24440, interleaved: 862208, total: 878592, exchange_rows: 3044, maximum_standard_allocation: 16384 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 720 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1464, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 61, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(24) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=425016 peak=MemoryPeaks { standard: 23288, interleaved: 1028096, total: 1044480, exchange_rows: 2936, maximum_standard_allocation: 16384 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 864 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1460, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 73, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=0 cost=201990 peak=MemoryPeaks { standard: 73848, interleaved: 93184, total: 165888, exchange_rows: 10568, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(64) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=219568 peak=MemoryPeaks { standard: 57464, interleaved: 98304, total: 154624, exchange_rows: 12908, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1458, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=202742 peak=MemoryPeaks { standard: 73848, interleaved: 83968, total: 156672, exchange_rows: 10928, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 96, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(96) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=190134 peak=MemoryPeaks { standard: 106616, interleaved: 57344, total: 162816, exchange_rows: 7688, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=205902 peak=MemoryPeaks { standard: 98424, interleaved: 65536, total: 162816, exchange_rows: 10496, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 128, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=207278 peak=MemoryPeaks { standard: 104312, interleaved: 75776, total: 132096, exchange_rows: 8984, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 112 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1404, replicas: 39, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(234) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(39) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=222770 peak=MemoryPeaks { standard: 57464, interleaved: 75776, total: 132096, exchange_rows: 11864, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 35, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(42) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=195210 peak=MemoryPeaks { standard: 131192, interleaved: 32768, total: 162816, exchange_rows: 7688, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(72) }, AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=221735 peak=MemoryPeaks { standard: 89720, interleaved: 65536, total: 154112, exchange_rows: 11720, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1456, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 26, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(56) }, AxisTiling { axis: FromEnd(2), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=200912 peak=MemoryPeaks { standard: 106616, interleaved: 55296, total: 160768, exchange_rows: 8120, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1428, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(84) }, AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=219519 peak=MemoryPeaks { standard: 107640, interleaved: 32768, total: 139264, exchange_rows: 10784, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 176, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1456, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 26, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(56) }, AxisTiling { axis: FromEnd(2), partitions: 7, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=267524 peak=MemoryPeaks { standard: 77944, interleaved: 65536, total: 142336, exchange_rows: 18128, maximum_standard_allocation: 50688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(48) }, AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=215904 peak=MemoryPeaks { standard: 49504, interleaved: 171520, total: 195072, exchange_rows: 6212, maximum_standard_allocation: 32928 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 368 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(96) }, AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=206196 peak=MemoryPeaks { standard: 58688, interleaved: 159744, total: 183296, exchange_rows: 5888, maximum_standard_allocation: 41216 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 368 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1404, replicas: 12, axes: [AxisTiling { axis: FromEnd(2), partitions: 13, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(108) }, AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=202062 peak=MemoryPeaks { standard: 35328, interleaved: 269312, total: 285696, exchange_rows: 4988, maximum_standard_allocation: 26496 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 336 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1456, replicas: 13, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(91) }, AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(13) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=229362 peak=MemoryPeaks { standard: 57592, interleaved: 155648, total: 195584, exchange_rows: 6032, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 320 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1428, replicas: 14, axes: [AxisTiling { axis: FromEnd(2), partitions: 17, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(84) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(14) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=224038 peak=MemoryPeaks { standard: 40440, interleaved: 161792, total: 185344, exchange_rows: 5384, maximum_standard_allocation: 23520 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 336 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1404, replicas: 13, axes: [AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(78) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(13) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=261910 peak=MemoryPeaks { standard: 37408, interleaved: 217088, total: 240640, exchange_rows: 5060, maximum_standard_allocation: 21600 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 480 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=232256 peak=MemoryPeaks { standard: 32408, interleaved: 386048, total: 402432, exchange_rows: 4340, maximum_standard_allocation: 19840 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 368 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 12, axes: [AxisTiling { axis: FromEnd(2), partitions: 24, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(60) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=284626 peak=MemoryPeaks { standard: 37176, interleaved: 240128, total: 263680, exchange_rows: 5024, maximum_standard_allocation: 19968 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 432 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1450, replicas: 10, axes: [AxisTiling { axis: FromEnd(2), partitions: 29, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(50) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=246034 peak=MemoryPeaks { standard: 30008, interleaved: 447488, total: 463872, exchange_rows: 3872, maximum_standard_allocation: 19968 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 432 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1450, replicas: 10, axes: [AxisTiling { axis: FromEnd(2), partitions: 29, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(50) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=488719 peak=MemoryPeaks { standard: 652800, interleaved: 11776, total: 652800, exchange_rows: 34724, maximum_standard_allocation: 327680 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 16, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(144) }, AxisTiling { axis: FromEnd(2), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=491152 peak=MemoryPeaks { standard: 652800, interleaved: 0, total: 652800, exchange_rows: 34724, maximum_standard_allocation: 327680 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 10, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(144) }, AxisTiling { axis: FromEnd(2), partitions: 72, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=301102 peak=MemoryPeaks { standard: 35736, interleaved: 263168, total: 286720, exchange_rows: 5132, maximum_standard_allocation: 17664 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 480 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(45) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=276496 peak=MemoryPeaks { standard: 28224, interleaved: 555008, total: 571392, exchange_rows: 3476, maximum_standard_allocation: 18816 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 544 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1400, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 35, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(40) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=352054 peak=MemoryPeaks { standard: 34816, interleaved: 332288, total: 355840, exchange_rows: 4772, maximum_standard_allocation: 18432 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 624 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1435, replicas: 7, axes: [AxisTiling { axis: FromEnd(2), partitions: 41, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(35) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=301316 peak=MemoryPeaks { standard: 26744, interleaved: 659456, total: 675840, exchange_rows: 3008, maximum_standard_allocation: 16384 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 544 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=388156 peak=MemoryPeaks { standard: 33088, interleaved: 378368, total: 401920, exchange_rows: 4844, maximum_standard_allocation: 17280 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 720 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 49, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=323644 peak=MemoryPeaks { standard: 25920, interleaved: 723968, total: 740352, exchange_rows: 2900, maximum_standard_allocation: 17280 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 720 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 49, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=364690 peak=MemoryPeaks { standard: 24440, interleaved: 862208, total: 878592, exchange_rows: 2792, maximum_standard_allocation: 16384 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 720 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1464, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 61, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(24) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=420594 peak=MemoryPeaks { standard: 23288, interleaved: 1028096, total: 1044480, exchange_rows: 2792, maximum_standard_allocation: 16384 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 864 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1460, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 73, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }, AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=0 cost=391188 peak=MemoryPeaks { standard: 77824, interleaved: 124416, total: 147968, exchange_rows: 30872, maximum_standard_allocation: 61824 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 80, output_columns: 368 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(1), partitions: 49, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 80, padding_multiple: 80, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } OLD_FRAGMENT position=2 retained=0 coarse=Some((ProgramCycles { total: 118006, exchange: 32904 }, MemoryPeaks { standard: 70120, interleaved: 94208, total: 134144, exchange_rows: 0, maximum_standard_allocation: 32768 })) detailed=Some((ProgramCycles { total: 171190, exchange: 40104 }, MemoryPeaks { standard: 70120, interleaved: 94208, total: 134144, exchange_rows: 5960, maximum_standard_allocation: 32768 })) CAT position=2 cost=224402 peak=MemoryPeaks { standard: 64928, interleaved: 97792, total: 154112, exchange_rows: 19316, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=177922 peak=MemoryPeaks { standard: 103968, interleaved: 73728, total: 130048, exchange_rows: 8084, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 128 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(243) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=201853 peak=MemoryPeaks { standard: 97696, interleaved: 66048, total: 155136, exchange_rows: 13376, maximum_standard_allocation: 81920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 80 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 10, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=218600 peak=MemoryPeaks { standard: 81312, interleaved: 83968, total: 156672, exchange_rows: 17480, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 96, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=231071 peak=MemoryPeaks { standard: 97184, interleaved: 65536, total: 154112, exchange_rows: 19316, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=187168 peak=MemoryPeaks { standard: 130464, interleaved: 60416, total: 182272, exchange_rows: 8948, maximum_standard_allocation: 114688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 48 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 16, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(240) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=221912 peak=MemoryPeaks { standard: 118176, interleaved: 32768, total: 142336, exchange_rows: 14060, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(184) }, AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=306322 peak=MemoryPeaks { standard: 85408, interleaved: 65536, total: 142336, exchange_rows: 30584, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(180) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=206016 peak=MemoryPeaks { standard: 77824, interleaved: 65536, total: 142336, exchange_rows: 10784, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1350, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 5, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(270) }, AxisTiling { axis: FromEnd(1), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=187524 peak=MemoryPeaks { standard: 66112, interleaved: 148480, total: 188416, exchange_rows: 6464, maximum_standard_allocation: 50112 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(120) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=194792 peak=MemoryPeaks { standard: 71968, interleaved: 124928, total: 164864, exchange_rows: 8516, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1380, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(115) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=195600 peak=MemoryPeaks { standard: 66208, interleaved: 143360, total: 183296, exchange_rows: 5240, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(92) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=178312 peak=MemoryPeaks { standard: 60032, interleaved: 235520, total: 268288, exchange_rows: 4916, maximum_standard_allocation: 41472 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1400, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(100) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=203590 peak=MemoryPeaks { standard: 60928, interleaved: 163840, total: 187392, exchange_rows: 7580, maximum_standard_allocation: 50688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1428, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(102) }, AxisTiling { axis: FromEnd(1), partitions: 34, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=182604 peak=MemoryPeaks { standard: 47616, interleaved: 286720, total: 303104, exchange_rows: 5744, maximum_standard_allocation: 44544 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(90) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=185966 peak=MemoryPeaks { standard: 43008, interleaved: 278528, total: 294912, exchange_rows: 5204, maximum_standard_allocation: 39936 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=221676 peak=MemoryPeaks { standard: 47104, interleaved: 167936, total: 191488, exchange_rows: 5924, maximum_standard_allocation: 36864 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 19, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(75) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=194700 peak=MemoryPeaks { standard: 39936, interleaved: 303104, total: 319488, exchange_rows: 4952, maximum_standard_allocation: 36864 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 19, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(75) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=234116 peak=MemoryPeaks { standard: 45472, interleaved: 192512, total: 216064, exchange_rows: 4808, maximum_standard_allocation: 30720 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(63) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=204068 peak=MemoryPeaks { standard: 38304, interleaved: 352256, total: 368640, exchange_rows: 3872, maximum_standard_allocation: 30720 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(63) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=261312 peak=MemoryPeaks { standard: 45120, interleaved: 217088, total: 240640, exchange_rows: 6392, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=224736 peak=MemoryPeaks { standard: 37952, interleaved: 401408, total: 417792, exchange_rows: 5096, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=261834 peak=MemoryPeaks { standard: 40800, interleaved: 217088, total: 240640, exchange_rows: 4880, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=223530 peak=MemoryPeaks { standard: 33632, interleaved: 401408, total: 417792, exchange_rows: 3368, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=529182 peak=MemoryPeaks { standard: 747808, interleaved: 7680, total: 755488, exchange_rows: 65104, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=530769 peak=MemoryPeaks { standard: 755488, interleaved: 0, total: 755488, exchange_rows: 65104, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=533705 peak=MemoryPeaks { standard: 754976, interleaved: 0, total: 754976, exchange_rows: 65612, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=363242 peak=MemoryPeaks { standard: 32448, interleaved: 843776, total: 860160, exchange_rows: 4448, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 57, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(25) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=409828 peak=MemoryPeaks { standard: 30976, interleaved: 991232, total: 1007616, exchange_rows: 4016, maximum_standard_allocation: 28160 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1407, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 67, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(21) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=432112 peak=MemoryPeaks { standard: 29472, interleaved: 1064960, total: 1081344, exchange_rows: 3980, maximum_standard_allocation: 24320 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 224, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1460, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 73, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }, AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=452020 peak=MemoryPeaks { standard: 29312, interleaved: 1138688, total: 1155072, exchange_rows: 3764, maximum_standard_allocation: 19584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 81, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(18) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=247975 peak=MemoryPeaks { standard: 105888, interleaved: 32768, total: 130048, exchange_rows: 19784, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 160, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1458, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(162) }, AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=196178 peak=MemoryPeaks { standard: 64928, interleaved: 97792, total: 154112, exchange_rows: 15860, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=176512 peak=MemoryPeaks { standard: 103968, interleaved: 73728, total: 130048, exchange_rows: 8120, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 128 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(243) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=180613 peak=MemoryPeaks { standard: 97696, interleaved: 66048, total: 155136, exchange_rows: 11000, maximum_standard_allocation: 81920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 80 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 10, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=193868 peak=MemoryPeaks { standard: 81312, interleaved: 83968, total: 156672, exchange_rows: 14492, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 96, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 4, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(360) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=202847 peak=MemoryPeaks { standard: 97184, interleaved: 65536, total: 154112, exchange_rows: 15860, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=174830 peak=MemoryPeaks { standard: 130464, interleaved: 60416, total: 182272, exchange_rows: 7508, maximum_standard_allocation: 114688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 48 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 16, axes: [AxisTiling { axis: FromEnd(1), partitions: 6, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(240) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=196016 peak=MemoryPeaks { standard: 118176, interleaved: 32768, total: 142336, exchange_rows: 10928, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 192, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1472, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(184) }, AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=263837 peak=MemoryPeaks { standard: 85408, interleaved: 65536, total: 142336, exchange_rows: 25364, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(180) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=204958 peak=MemoryPeaks { standard: 77824, interleaved: 65536, total: 142336, exchange_rows: 10856, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1350, replicas: 6, axes: [AxisTiling { axis: FromEnd(2), partitions: 5, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(270) }, AxisTiling { axis: FromEnd(1), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=186802 peak=MemoryPeaks { standard: 66112, interleaved: 148480, total: 188416, exchange_rows: 6536, maximum_standard_allocation: 50112 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(120) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=193998 peak=MemoryPeaks { standard: 71968, interleaved: 124928, total: 164864, exchange_rows: 8552, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1380, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(115) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=194734 peak=MemoryPeaks { standard: 66208, interleaved: 143360, total: 183296, exchange_rows: 5240, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(92) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=177590 peak=MemoryPeaks { standard: 60032, interleaved: 235520, total: 268288, exchange_rows: 4988, maximum_standard_allocation: 41472 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1400, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(100) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=203108 peak=MemoryPeaks { standard: 60928, interleaved: 163840, total: 187392, exchange_rows: 7616, maximum_standard_allocation: 50688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1428, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(102) }, AxisTiling { axis: FromEnd(1), partitions: 34, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=182122 peak=MemoryPeaks { standard: 47616, interleaved: 286720, total: 303104, exchange_rows: 5780, maximum_standard_allocation: 44544 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(90) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=185484 peak=MemoryPeaks { standard: 43008, interleaved: 278528, total: 294912, exchange_rows: 5240, maximum_standard_allocation: 39936 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=221194 peak=MemoryPeaks { standard: 47104, interleaved: 167936, total: 191488, exchange_rows: 5960, maximum_standard_allocation: 36864 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 19, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(75) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=194218 peak=MemoryPeaks { standard: 39936, interleaved: 303104, total: 319488, exchange_rows: 4988, maximum_standard_allocation: 36864 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 19, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(75) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=233634 peak=MemoryPeaks { standard: 45472, interleaved: 192512, total: 216064, exchange_rows: 4844, maximum_standard_allocation: 30720 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(63) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=203586 peak=MemoryPeaks { standard: 38304, interleaved: 352256, total: 368640, exchange_rows: 3908, maximum_standard_allocation: 30720 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(63) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=255982 peak=MemoryPeaks { standard: 45120, interleaved: 217088, total: 240640, exchange_rows: 5780, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=219406 peak=MemoryPeaks { standard: 37952, interleaved: 401408, total: 417792, exchange_rows: 4484, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=261256 peak=MemoryPeaks { standard: 40800, interleaved: 217088, total: 240640, exchange_rows: 4880, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=222952 peak=MemoryPeaks { standard: 33632, interleaved: 401408, total: 417792, exchange_rows: 3368, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=528388 peak=MemoryPeaks { standard: 747808, interleaved: 7680, total: 755488, exchange_rows: 65140, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=529975 peak=MemoryPeaks { standard: 755488, interleaved: 0, total: 755488, exchange_rows: 65140, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=532911 peak=MemoryPeaks { standard: 754976, interleaved: 0, total: 754976, exchange_rows: 65648, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=359520 peak=MemoryPeaks { standard: 32448, interleaved: 843776, total: 860160, exchange_rows: 4232, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 57, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(25) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=407010 peak=MemoryPeaks { standard: 30976, interleaved: 991232, total: 1007616, exchange_rows: 3944, maximum_standard_allocation: 28160 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1407, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 67, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(21) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=429262 peak=MemoryPeaks { standard: 29472, interleaved: 1064960, total: 1081344, exchange_rows: 3908, maximum_standard_allocation: 24320 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 224, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1460, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 73, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }, AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=449138 peak=MemoryPeaks { standard: 29312, interleaved: 1138688, total: 1155072, exchange_rows: 3728, maximum_standard_allocation: 19584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 81, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(18) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=218587 peak=MemoryPeaks { standard: 105888, interleaved: 32768, total: 130048, exchange_rows: 16184, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 160, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1458, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 9, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(162) }, AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=227570 peak=MemoryPeaks { standard: 60584, interleaved: 97792, total: 154112, exchange_rows: 19712, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=181378 peak=MemoryPeaks { standard: 99624, interleaved: 73728, total: 130048, exchange_rows: 8516, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 128 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(243) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=205021 peak=MemoryPeaks { standard: 93352, interleaved: 66048, total: 155136, exchange_rows: 13772, maximum_standard_allocation: 81920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 80 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 10, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=198172 peak=MemoryPeaks { standard: 109736, interleaved: 65536, total: 171008, exchange_rows: 11684, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 256, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1428, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(204) }, AxisTiling { axis: FromEnd(2), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=190856 peak=MemoryPeaks { standard: 126120, interleaved: 55808, total: 177664, exchange_rows: 10208, maximum_standard_allocation: 114688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 48 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 16, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=250480 peak=MemoryPeaks { standard: 97448, interleaved: 65536, total: 158720, exchange_rows: 19352, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 144, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(180) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=251497 peak=MemoryPeaks { standard: 85160, interleaved: 65536, total: 146432, exchange_rows: 23996, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1350, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(270) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=309202 peak=MemoryPeaks { standard: 81064, interleaved: 65536, total: 142336, exchange_rows: 30944, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(180) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=236078 peak=MemoryPeaks { standard: 132264, interleaved: 32768, total: 160768, exchange_rows: 13196, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 288, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(120) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=254881 peak=MemoryPeaks { standard: 121512, interleaved: 32768, total: 150016, exchange_rows: 16472, maximum_standard_allocation: 60928 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 272, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1456, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 13, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(112) }, AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 272, padding_multiple: 272, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=197672 peak=MemoryPeaks { standard: 67624, interleaved: 124928, total: 164864, exchange_rows: 8876, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1380, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(115) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=175728 peak=MemoryPeaks { standard: 54696, interleaved: 253952, total: 286720, exchange_rows: 4700, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(92) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=180040 peak=MemoryPeaks { standard: 55688, interleaved: 235520, total: 268288, exchange_rows: 5132, maximum_standard_allocation: 41472 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1400, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(100) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=182374 peak=MemoryPeaks { standard: 53760, interleaved: 262144, total: 278528, exchange_rows: 6644, maximum_standard_allocation: 50688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1428, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(102) }, AxisTiling { axis: FromEnd(1), partitions: 34, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=183756 peak=MemoryPeaks { standard: 47616, interleaved: 286720, total: 303104, exchange_rows: 5888, maximum_standard_allocation: 44544 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(90) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=187118 peak=MemoryPeaks { standard: 43008, interleaved: 278528, total: 294912, exchange_rows: 5348, maximum_standard_allocation: 39936 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=223116 peak=MemoryPeaks { standard: 47104, interleaved: 167936, total: 191488, exchange_rows: 6104, maximum_standard_allocation: 36864 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 19, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(75) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=199896 peak=MemoryPeaks { standard: 36864, interleaved: 327680, total: 344064, exchange_rows: 4700, maximum_standard_allocation: 33792 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 21, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(69) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=205796 peak=MemoryPeaks { standard: 33960, interleaved: 352256, total: 368640, exchange_rows: 4088, maximum_standard_allocation: 30720 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(63) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=263040 peak=MemoryPeaks { standard: 40776, interleaved: 217088, total: 240640, exchange_rows: 6608, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=226464 peak=MemoryPeaks { standard: 33608, interleaved: 401408, total: 417792, exchange_rows: 5312, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=262986 peak=MemoryPeaks { standard: 39424, interleaved: 217088, total: 240640, exchange_rows: 5024, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=224682 peak=MemoryPeaks { standard: 32256, interleaved: 401408, total: 417792, exchange_rows: 3512, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=300792 peak=MemoryPeaks { standard: 36736, interleaved: 272384, total: 295936, exchange_rows: 6176, maximum_standard_allocation: 26880 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 35, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(42) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=255576 peak=MemoryPeaks { standard: 29568, interleaved: 512000, total: 528384, exchange_rows: 4772, maximum_standard_allocation: 26880 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 35, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(42) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=530334 peak=MemoryPeaks { standard: 747808, interleaved: 7680, total: 755488, exchange_rows: 65248, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=531921 peak=MemoryPeaks { standard: 755488, interleaved: 0, total: 755488, exchange_rows: 65248, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=289190 peak=MemoryPeaks { standard: 29376, interleaved: 622592, total: 638976, exchange_rows: 4052, maximum_standard_allocation: 26112 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 256, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1462, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 43, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(34) }, AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=299900 peak=MemoryPeaks { standard: 29352, interleaved: 659456, total: 675840, exchange_rows: 3980, maximum_standard_allocation: 23040 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 272, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 272, padding_multiple: 272, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=309924 peak=MemoryPeaks { standard: 29288, interleaved: 696320, total: 712704, exchange_rows: 3944, maximum_standard_allocation: 20160 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 49, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=432808 peak=MemoryPeaks { standard: 26880, interleaved: 1064960, total: 1081344, exchange_rows: 3836, maximum_standard_allocation: 24320 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 224, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1460, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 73, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }, AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=452676 peak=MemoryPeaks { standard: 24968, interleaved: 1138688, total: 1155072, exchange_rows: 3656, maximum_standard_allocation: 19584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 81, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(18) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=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 } CAT position=2 cost=199346 peak=MemoryPeaks { standard: 60584, interleaved: 97792, total: 154112, exchange_rows: 16256, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=179968 peak=MemoryPeaks { standard: 99624, interleaved: 73728, total: 130048, exchange_rows: 8552, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 128 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 9, axes: [AxisTiling { axis: FromEnd(2), partitions: 6, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(243) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(9) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=183781 peak=MemoryPeaks { standard: 93352, interleaved: 66048, total: 155136, exchange_rows: 11396, maximum_standard_allocation: 81920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 80 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1470, replicas: 10, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(210) }, AxisTiling { axis: FromEnd(2), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(10) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=181210 peak=MemoryPeaks { standard: 109736, interleaved: 65536, total: 171008, exchange_rows: 9740, maximum_standard_allocation: 98304 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 256, output_columns: 64 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1428, replicas: 12, axes: [AxisTiling { axis: FromEnd(1), partitions: 7, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(204) }, AxisTiling { axis: FromEnd(2), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(12) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=178518 peak=MemoryPeaks { standard: 126120, interleaved: 55808, total: 177664, exchange_rows: 8768, maximum_standard_allocation: 114688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 48 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 16, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(288) }, AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(16) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=221965 peak=MemoryPeaks { standard: 97448, interleaved: 65536, total: 158720, exchange_rows: 15860, maximum_standard_allocation: 49152 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 144, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(180) }, AxisTiling { axis: FromEnd(2), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=223273 peak=MemoryPeaks { standard: 85160, interleaved: 65536, total: 146432, exchange_rows: 20540, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 128 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1350, replicas: 6, axes: [AxisTiling { axis: FromEnd(1), partitions: 5, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(270) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(6) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=266717 peak=MemoryPeaks { standard: 81064, interleaved: 65536, total: 142336, exchange_rows: 25724, maximum_standard_allocation: 67584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 96, output_columns: 192 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 4, axes: [AxisTiling { axis: FromEnd(1), partitions: 8, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(180) }, AxisTiling { axis: FromEnd(2), partitions: 45, padding_groups: 1, block_size: 96, padding_multiple: 96, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=211346 peak=MemoryPeaks { standard: 132264, interleaved: 32768, total: 160768, exchange_rows: 10208, maximum_standard_allocation: 65536 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 288, output_columns: 96 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1440, replicas: 8, axes: [AxisTiling { axis: FromEnd(1), partitions: 12, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(120) }, AxisTiling { axis: FromEnd(2), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(8) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=226657 peak=MemoryPeaks { standard: 121512, interleaved: 32768, total: 150016, exchange_rows: 13052, maximum_standard_allocation: 60928 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 272, output_columns: 112 } input=Layout { order: Amp(TransposedLeft), tiling: TensorTiling { tile_count: 1456, replicas: 7, axes: [AxisTiling { axis: FromEnd(1), partitions: 13, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(112) }, AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 272, padding_multiple: 272, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(7) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=196878 peak=MemoryPeaks { standard: 67624, interleaved: 124928, total: 164864, exchange_rows: 8912, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1380, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 12, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(115) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=174862 peak=MemoryPeaks { standard: 54696, interleaved: 253952, total: 286720, exchange_rows: 4700, maximum_standard_allocation: 32768 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(92) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=179318 peak=MemoryPeaks { standard: 55688, interleaved: 235520, total: 268288, exchange_rows: 5204, maximum_standard_allocation: 41472 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 288 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1400, replicas: 4, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(100) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(4) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=181892 peak=MemoryPeaks { standard: 53760, interleaved: 262144, total: 278528, exchange_rows: 6680, maximum_standard_allocation: 50688 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 128, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1428, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 14, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(102) }, AxisTiling { axis: FromEnd(1), partitions: 34, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=183274 peak=MemoryPeaks { standard: 47616, interleaved: 286720, total: 303104, exchange_rows: 5924, maximum_standard_allocation: 44544 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 144, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1440, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 16, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(90) }, AxisTiling { axis: FromEnd(1), partitions: 30, padding_groups: 1, block_size: 144, padding_multiple: 144, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=186636 peak=MemoryPeaks { standard: 43008, interleaved: 278528, total: 294912, exchange_rows: 5384, maximum_standard_allocation: 39936 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 18, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(81) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=222634 peak=MemoryPeaks { standard: 47104, interleaved: 167936, total: 191488, exchange_rows: 6140, maximum_standard_allocation: 36864 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 176, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1425, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 19, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(75) }, AxisTiling { axis: FromEnd(1), partitions: 25, padding_groups: 1, block_size: 176, padding_multiple: 176, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=199414 peak=MemoryPeaks { standard: 36864, interleaved: 327680, total: 344064, exchange_rows: 4736, maximum_standard_allocation: 33792 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 21, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(69) }, AxisTiling { axis: FromEnd(1), partitions: 23, padding_groups: 1, block_size: 192, padding_multiple: 192, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=205314 peak=MemoryPeaks { standard: 33960, interleaved: 352256, total: 368640, exchange_rows: 4124, maximum_standard_allocation: 30720 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1449, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(63) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=257710 peak=MemoryPeaks { standard: 40776, interleaved: 217088, total: 240640, exchange_rows: 5996, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=221134 peak=MemoryPeaks { standard: 33608, interleaved: 401408, total: 417792, exchange_rows: 4700, maximum_standard_allocation: 29376 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 384 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 3, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(3) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=262408 peak=MemoryPeaks { standard: 39424, interleaved: 217088, total: 240640, exchange_rows: 5024, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=224104 peak=MemoryPeaks { standard: 32256, interleaved: 401408, total: 417792, exchange_rows: 3512, maximum_standard_allocation: 29952 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 160, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 27, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(54) }, AxisTiling { axis: FromEnd(1), partitions: 27, padding_groups: 1, block_size: 160, padding_multiple: 160, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=295366 peak=MemoryPeaks { standard: 36736, interleaved: 272384, total: 295936, exchange_rows: 5564, maximum_standard_allocation: 26880 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 35, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(42) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=250150 peak=MemoryPeaks { standard: 29568, interleaved: 512000, total: 528384, exchange_rows: 4160, maximum_standard_allocation: 26880 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 208, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 35, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(42) }, AxisTiling { axis: FromEnd(1), partitions: 21, padding_groups: 1, block_size: 208, padding_multiple: 208, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=529540 peak=MemoryPeaks { standard: 747808, interleaved: 7680, total: 755488, exchange_rows: 65284, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=531127 peak=MemoryPeaks { standard: 755488, interleaved: 0, total: 755488, exchange_rows: 65284, maximum_standard_allocation: 385920 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Standard, inner_block: 16, output_columns: 240 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1345, replicas: 5, axes: [AxisTiling { axis: FromEnd(2), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 269, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(5) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=284412 peak=MemoryPeaks { standard: 29376, interleaved: 622592, total: 638976, exchange_rows: 3656, maximum_standard_allocation: 26112 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 256, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1462, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 43, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(34) }, AxisTiling { axis: FromEnd(1), partitions: 17, padding_groups: 1, block_size: 256, padding_multiple: 256, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=295674 peak=MemoryPeaks { standard: 29352, interleaved: 659456, total: 675840, exchange_rows: 3620, maximum_standard_allocation: 23040 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 272, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1472, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 46, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(32) }, AxisTiling { axis: FromEnd(1), partitions: 16, padding_groups: 1, block_size: 272, padding_multiple: 272, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=306250 peak=MemoryPeaks { standard: 29288, interleaved: 696320, total: 712704, exchange_rows: 3620, maximum_standard_allocation: 20160 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 288, output_columns: 576 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1470, replicas: 2, axes: [AxisTiling { axis: FromEnd(2), partitions: 49, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(30) }, AxisTiling { axis: FromEnd(1), partitions: 15, padding_groups: 1, block_size: 288, padding_multiple: 288, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(2) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=429958 peak=MemoryPeaks { standard: 26880, interleaved: 1064960, total: 1081344, exchange_rows: 3764, maximum_standard_allocation: 24320 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 224, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1460, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 73, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(20) }, AxisTiling { axis: FromEnd(1), partitions: 20, padding_groups: 1, block_size: 224, padding_multiple: 224, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } CAT position=2 cost=449794 peak=MemoryPeaks { standard: 24968, interleaved: 1138688, total: 1155072, exchange_rows: 3620, maximum_standard_allocation: 19584 } kernel=Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 240, output_columns: 1152 } input=Layout { order: Amp(Left), tiling: TensorTiling { tile_count: 1458, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 81, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(18) }, AxisTiling { axis: FromEnd(1), partitions: 18, padding_groups: 1, block_size: 240, padding_multiple: 240, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }] }, memory_class: Ipu21Standard } output=Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1469, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1469, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Standard } RESULT normal estimated=376366 memory=MemoryPeaks { standard: 106616, interleaved: 253952, total: 293888, exchange_rows: 12388, maximum_standard_allocation: 98304 } RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Direct } Some((ProgramCycles { total: 48984, exchange: 21336 }, MemoryUsage { standard: 0, interleaved: 0 }, 868)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged } Some((ProgramCycles { total: 39096, exchange: 6744 }, MemoryUsage { standard: 0, interleaved: 0 }, 3280)) RESULT_OP normal Gemm { axes: GemmAxes { left_inner: FromEnd(2), right_inner: FromEnd(1), output_column: FromEnd(2), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 64 } Some((ProgramCycles { total: 49446, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct } Some((ProgramCycles { total: 7512, exchange: 6648 }, MemoryUsage { standard: 0, interleaved: 0 }, 472)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct } Some((ProgramCycles { total: 7736, exchange: 6872 }, MemoryUsage { standard: 0, interleaved: 0 }, 688)) RESULT_OP normal ReductionSum { partials: 6 } Some((ProgramCycles { total: 6354, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged } Some((ProgramCycles { total: 31006, exchange: 1752 }, MemoryUsage { standard: 4608, interleaved: 0 }, 2380)) RESULT_OP normal Gelu Some((ProgramCycles { total: 11370, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged } Some((ProgramCycles { total: 31476, exchange: 5016 }, MemoryUsage { standard: 17664, interleaved: 0 }, 1840)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct } Some((ProgramCycles { total: 42360, exchange: 28248 }, MemoryUsage { standard: 0, interleaved: 0 }, 256)) RESULT_OP normal Gemm { axes: GemmAxes { left_inner: FromEnd(1), right_inner: FromEnd(2), output_column: FromEnd(1), valid_inner: None, valid_columns: None }, multiply: F16, accumulate: F32, mode: Initialize, weights: Interleaved, inner_block: 192, output_columns: 288 } Some((ProgramCycles { total: 74598, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: DirectRetile, packing: Direct } Some((ProgramCycles { total: 7368, exchange: 6936 }, MemoryUsage { standard: 0, interleaved: 0 }, 904)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [1, 0, 0, 0], view: None }, policy: DirectRetile, packing: Direct } Some((ProgramCycles { total: 7512, exchange: 7080 }, MemoryUsage { standard: 0, interleaved: 0 }, 1552)) RESULT_OP normal ReductionSum { partials: 23 } Some((ProgramCycles { total: 9510, exchange: 0 }, MemoryUsage { standard: 0, interleaved: 0 }, 0)) RESULT_OP normal Copy { mapping: CoordinateMapping { offsets: [], view: None }, policy: StageLogicalThenTransform, packing: Staged } Some((ProgramCycles { total: 2038, exchange: 888 }, MemoryUsage { standard: 0, interleaved: 0 }, 148)) thread 'planner::gemm::tests::trace_fp16_regression' (1187185) panicked at crates/ipu-codegen/src/estimate/program.rs:35:9: assertion `left == right` failed left: 7180 right: 9772 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace test planner::gemm::tests::trace_fp16_regression ... FAILED failures: failures: planner::gemm::tests::trace_fp16_regression test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 306 filtered out; finished in 58.51s error: test failed, to rerun pass `-p ipu-codegen --lib`