2026-09-07T14:03:28.854972Z INFO retained operator-plan finalist finalist=0 values=11 operations=8 estimated_cycles=952440 estimated_exchange_cycles=216120 exchange_row_bytes=47972 peak_standard_bytes=330596 peak_interleaved_bytes=149504 peak_total_bytes=437092 maximum_standard_allocation_bytes=129024 active_tile_counts={1440} padding_group_counts={} conversion_sources=[Some(OperationId(0)), Some(OperationId(0)), Some(OperationId(2)), Some(OperationId(2)), Some(OperationId(2))] 2026-09-07T14:03:28.862271Z INFO retained operator-plan finalist finalist=1 values=11 operations=8 estimated_cycles=955746 estimated_exchange_cycles=216120 exchange_row_bytes=47972 peak_standard_bytes=342884 peak_interleaved_bytes=149504 peak_total_bytes=449380 maximum_standard_allocation_bytes=129024 active_tile_counts={1440, 1470} padding_group_counts={} conversion_sources=[Some(OperationId(0)), Some(OperationId(0)), Some(OperationId(2)), Some(OperationId(2)), Some(OperationId(2))] 2026-09-07T14:03:28.869466Z INFO retained operator-plan finalist finalist=2 values=11 operations=8 estimated_cycles=1007998 estimated_exchange_cycles=217720 exchange_row_bytes=48332 peak_standard_bytes=321740 peak_interleaved_bytes=149504 peak_total_bytes=428236 maximum_standard_allocation_bytes=129024 active_tile_counts={1440, 1456} padding_group_counts={} conversion_sources=[Some(OperationId(0)), Some(OperationId(0)), Some(OperationId(2)), Some(OperationId(2)), Some(OperationId(2))] 2026-09-07T14:03:28.876670Z INFO retained operator-plan finalist finalist=3 values=11 operations=8 estimated_cycles=1036998 estimated_exchange_cycles=223800 exchange_row_bytes=49700 peak_standard_bytes=352804 peak_interleaved_bytes=137216 peak_total_bytes=377380 maximum_standard_allocation_bytes=147456 active_tile_counts={1472} padding_group_counts={} conversion_sources=[Some(OperationId(0)), Some(OperationId(0)), Some(OperationId(2)), Some(OperationId(2)), Some(OperationId(2))] 2026-09-07T14:03:28.963855Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:ipu_codegen.package.phase{phase="lower_mid"}: package build phase finished phase="lower_mid" elapsed_ms=14279 success=true 2026-09-07T14:03:40.490007Z WARN unaligned exchange chunk chunk_bytes=70 source_span=ByteSpan { offset: 0, bytes: 1680 } source=BlockValue { id: BlockValueId(9933), tile: 1248, tensor_type: TensorType { shape: TensorShape([4, 729, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 24, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 60, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(24) }] }, memory_class: Ipu21Interleaved } } }, extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }], definition: Value(MidValueId(8)) } transfer=LogicalExchange { source: ShardView { shard: BlockValueId(9933), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, destinations: [ShardView { shard: BlockValueId(26508), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26509), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26510), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }], order: Semantic } 2026-09-07T14:03:44.155984Z WARN unaligned exchange chunk chunk_bytes=66 source_span=ByteSpan { offset: 0, bytes: 1584 } source=BlockValue { id: BlockValueId(9798), tile: 920, tensor_type: TensorType { shape: TensorShape([4, 729, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 23, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 64, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(23) }] }, memory_class: Ipu21Interleaved } } }, extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32 }, ShardExtent { axis: 2, start: 2720, logical_end: 2786, physical_end: 2786 }], definition: Value(MidValueId(8)) } transfer=LogicalExchange { source: ShardView { shard: BlockValueId(9798), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 2720, logical_end: 2786, physical_end: 2786 }] }, destinations: [ShardView { shard: BlockValueId(27605), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 2720, logical_end: 2786, physical_end: 2786 }] }, ShardView { shard: BlockValueId(27606), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 24, physical_end: 24 }, ShardExtent { axis: 2, start: 2720, logical_end: 2786, physical_end: 2786 }] }], order: Semantic } 2026-09-07T14:03:44.847544Z WARN unaligned exchange chunk chunk_bytes=70 source_span=ByteSpan { offset: 0, bytes: 1960 } source=BlockValue { id: BlockValueId(9940), tile: 1248, tensor_type: TensorType { shape: TensorShape([4, 729, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 24, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 60, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(24) }] }, memory_class: Ipu21Interleaved } } }, extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }], definition: Value(MidValueId(8)) } transfer=LogicalExchange { source: ShardView { shard: BlockValueId(9940), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 28, physical_end: 28 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, destinations: [ShardView { shard: BlockValueId(26580), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 28, physical_end: 28 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26581), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 28, physical_end: 28 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26582), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 28, physical_end: 28 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26583), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 28, physical_end: 28 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }], order: Semantic } 2026-09-07T14:03:47.612196Z WARN unaligned exchange chunk chunk_bytes=70 source_span=ByteSpan { offset: 0, bytes: 1540 } source=BlockValue { id: BlockValueId(9930), tile: 1248, tensor_type: TensorType { shape: TensorShape([4, 729, 4304]), format: TensorFormat { precision: F8F143 { scale_exponent: -4 }, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1440, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 24, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 60, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(24) }] }, memory_class: Ipu21Interleaved } } }, extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }], definition: Value(MidValueId(8)) } transfer=LogicalExchange { source: ShardView { shard: BlockValueId(9930), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 22, physical_end: 22 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, destinations: [ShardView { shard: BlockValueId(26619), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 22, physical_end: 22 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26620), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 22, physical_end: 22 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }, ShardView { shard: BlockValueId(26621), extents: [ShardExtent { axis: 0, start: 0, logical_end: 4, physical_end: 4 }, ShardExtent { axis: 1, start: 0, logical_end: 22, physical_end: 22 }, ShardExtent { axis: 2, start: 3744, logical_end: 3814, physical_end: 3814 }] }], order: Semantic } 2026-09-07T14:03:47.740362Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:ipu_codegen.package.phase{phase="select_finalist"}: rejected infeasible operator-plan finalist finalist=0 error=exchange lowering failed: exchange payload is not a nonempty whole number of words 2026-09-07T14:03:47.740511Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:ipu_codegen.package.phase{phase="select_finalist"}: rejected infeasible operator-plan finalist finalist=1 error=exchange lowering failed: exchange payload is not a nonempty whole number of words 2026-09-07T14:03:47.740525Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:ipu_codegen.package.phase{phase="select_finalist"}: rejected infeasible operator-plan finalist finalist=2 error=exchange lowering failed: exchange payload is not a nonempty whole number of words 2026-09-07T14:03:47.740533Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:ipu_codegen.package.phase{phase="select_finalist"}: rejected infeasible operator-plan finalist finalist=3 error=exchange lowering failed: exchange payload is not a nonempty whole number of words 2026-09-07T14:03:47.740542Z INFO ipu_codegen.package.build{tile_count=1472 operations=3}:ipu_codegen.package.phase{phase="select_finalist"}: package build phase finished phase="select_finalist" elapsed_ms=18776 success=false Error: exchange lowering failed: exchange payload is not a nonempty whole number of words Caused by: exchange payload is not a nonempty whole number of words