TileGraph { tile_count: 32, requires_finite_scratch: false, shards: [ BlockValue { id: BlockValueId( 0, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 0, ), ), }, BlockValue { id: BlockValueId( 1, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 2, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 3, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 4, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 5, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 6, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 7, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 8, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 9, ), tile: 8, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 10, ), tile: 9, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 11, ), tile: 10, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 12, ), tile: 11, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 13, ), tile: 12, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 14, ), tile: 13, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 15, ), tile: 14, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 16, ), tile: 15, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 17, ), tile: 16, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 18, ), tile: 17, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 19, ), tile: 18, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 20, ), tile: 19, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 21, ), tile: 20, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 22, ), tile: 21, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 23, ), tile: 22, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 24, ), tile: 23, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 25, ), tile: 24, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 26, ), tile: 25, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 27, ), tile: 26, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 28, ), tile: 27, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 29, ), tile: 28, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 30, ), tile: 29, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 31, ), tile: 30, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 32, ), tile: 31, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 1, ), ), }, BlockValue { id: BlockValueId( 33, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 34, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 35, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 36, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 37, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 38, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 39, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 40, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 41, ), tile: 8, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 42, ), tile: 9, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 43, ), tile: 10, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 44, ), tile: 11, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 45, ), tile: 12, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 46, ), tile: 13, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 47, ), tile: 14, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 48, ), tile: 15, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 49, ), tile: 16, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 50, ), tile: 17, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 51, ), tile: 18, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 52, ), tile: 19, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 53, ), tile: 20, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 54, ), tile: 21, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 55, ), tile: 22, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 56, ), tile: 23, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 57, ), tile: 24, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 58, ), tile: 25, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 59, ), tile: 26, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 60, ), tile: 27, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 61, ), tile: 28, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 62, ), tile: 29, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 63, ), tile: 30, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 64, ), tile: 31, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 2, ), ), }, BlockValue { id: BlockValueId( 65, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 66, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 67, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 68, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 69, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 70, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 71, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 72, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 3, ), ), }, BlockValue { id: BlockValueId( 73, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 5, ), ), }, BlockValue { id: BlockValueId( 74, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 5, ), ), }, BlockValue { id: BlockValueId( 75, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 5, ), ), }, BlockValue { id: BlockValueId( 76, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 5, ), ), }, BlockValue { id: BlockValueId( 77, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 78, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 79, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 80, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 81, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 82, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 83, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 84, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 6, ), ), }, BlockValue { id: BlockValueId( 85, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 86, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 87, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 88, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 89, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 90, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 91, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 92, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 7, ), ), }, BlockValue { id: BlockValueId( 93, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 94, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 95, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 96, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 97, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 98, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 99, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 100, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], definition: Value( MidValueId( 8, ), ), }, BlockValue { id: BlockValueId( 101, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 10, ), ), }, BlockValue { id: BlockValueId( 102, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 10, ), ), }, BlockValue { id: BlockValueId( 103, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 10, ), ), }, BlockValue { id: BlockValueId( 104, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 10, ), ), }, BlockValue { id: BlockValueId( 105, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 106, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 107, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 108, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 109, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 110, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 111, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 112, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 11, ), ), }, BlockValue { id: BlockValueId( 113, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 114, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 115, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 116, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 117, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 118, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 119, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 120, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Value( MidValueId( 12, ), ), }, BlockValue { id: BlockValueId( 121, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 122, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 123, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 124, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 125, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 126, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 127, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 128, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 129, ), tile: 8, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 130, ), tile: 9, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 131, ), tile: 10, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 132, ), tile: 11, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 133, ), tile: 12, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 134, ), tile: 13, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 135, ), tile: 14, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 136, ), tile: 15, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 137, ), tile: 16, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 138, ), tile: 17, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 139, ), tile: 18, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 140, ), tile: 19, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 141, ), tile: 20, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 142, ), tile: 21, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 143, ), tile: 22, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 144, ), tile: 23, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 145, ), tile: 24, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 146, ), tile: 25, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 147, ), tile: 26, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 148, ), tile: 27, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 149, ), tile: 28, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 150, ), tile: 29, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 151, ), tile: 30, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 152, ), tile: 31, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 13, ), ), }, BlockValue { id: BlockValueId( 153, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 154, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 155, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 156, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 157, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 158, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 159, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 160, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 161, ), tile: 8, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 162, ), tile: 9, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 163, ), tile: 10, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 164, ), tile: 11, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 165, ), tile: 12, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 166, ), tile: 13, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 167, ), tile: 14, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 168, ), tile: 15, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 169, ), tile: 16, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 170, ), tile: 17, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 171, ), tile: 18, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 172, ), tile: 19, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 173, ), tile: 20, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 174, ), tile: 21, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 175, ), tile: 22, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 176, ), tile: 23, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 177, ), tile: 24, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 178, ), tile: 25, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 179, ), tile: 26, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 180, ), tile: 27, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 181, ), tile: 28, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 182, ), tile: 29, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 183, ), tile: 30, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 184, ), tile: 31, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 14, ), ), }, BlockValue { id: BlockValueId( 185, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 121, ), ), }, BlockValue { id: BlockValueId( 186, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 122, ), ), }, BlockValue { id: BlockValueId( 187, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 123, ), ), }, BlockValue { id: BlockValueId( 188, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 124, ), ), }, BlockValue { id: BlockValueId( 189, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 125, ), ), }, BlockValue { id: BlockValueId( 190, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 126, ), ), }, BlockValue { id: BlockValueId( 191, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 127, ), ), }, BlockValue { id: BlockValueId( 192, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 128, ), ), }, BlockValue { id: BlockValueId( 193, ), tile: 8, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 129, ), ), }, BlockValue { id: BlockValueId( 194, ), tile: 9, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 130, ), ), }, BlockValue { id: BlockValueId( 195, ), tile: 10, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 131, ), ), }, BlockValue { id: BlockValueId( 196, ), tile: 11, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 132, ), ), }, BlockValue { id: BlockValueId( 197, ), tile: 12, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 133, ), ), }, BlockValue { id: BlockValueId( 198, ), tile: 13, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 134, ), ), }, BlockValue { id: BlockValueId( 199, ), tile: 14, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 135, ), ), }, BlockValue { id: BlockValueId( 200, ), tile: 15, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 136, ), ), }, BlockValue { id: BlockValueId( 201, ), tile: 16, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 137, ), ), }, BlockValue { id: BlockValueId( 202, ), tile: 17, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 138, ), ), }, BlockValue { id: BlockValueId( 203, ), tile: 18, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 139, ), ), }, BlockValue { id: BlockValueId( 204, ), tile: 19, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 140, ), ), }, BlockValue { id: BlockValueId( 205, ), tile: 20, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 141, ), ), }, BlockValue { id: BlockValueId( 206, ), tile: 21, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 142, ), ), }, BlockValue { id: BlockValueId( 207, ), tile: 22, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 143, ), ), }, BlockValue { id: BlockValueId( 208, ), tile: 23, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 144, ), ), }, BlockValue { id: BlockValueId( 209, ), tile: 24, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 145, ), ), }, BlockValue { id: BlockValueId( 210, ), tile: 25, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 146, ), ), }, BlockValue { id: BlockValueId( 211, ), tile: 26, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 147, ), ), }, BlockValue { id: BlockValueId( 212, ), tile: 27, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 148, ), ), }, BlockValue { id: BlockValueId( 213, ), tile: 28, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 149, ), ), }, BlockValue { id: BlockValueId( 214, ), tile: 29, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 150, ), ), }, BlockValue { id: BlockValueId( 215, ), tile: 30, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 151, ), ), }, BlockValue { id: BlockValueId( 216, ), tile: 31, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: WritableAlias( BlockValueId( 152, ), ), }, BlockValue { id: BlockValueId( 217, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Value( MidValueId( 16, ), ), }, BlockValue { id: BlockValueId( 218, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 85, ), ), }, BlockValue { id: BlockValueId( 219, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 86, ), ), }, BlockValue { id: BlockValueId( 220, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 87, ), ), }, BlockValue { id: BlockValueId( 221, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 88, ), ), }, BlockValue { id: BlockValueId( 222, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 89, ), ), }, BlockValue { id: BlockValueId( 223, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 90, ), ), }, BlockValue { id: BlockValueId( 224, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 91, ), ), }, BlockValue { id: BlockValueId( 225, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 92, ), ), }, BlockValue { id: BlockValueId( 226, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 227, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 228, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: Staging, }, BlockValue { id: BlockValueId( 229, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 230, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: Staging, }, BlockValue { id: BlockValueId( 231, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 232, ), tile: 0, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 113, ), ), }, BlockValue { id: BlockValueId( 233, ), tile: 1, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 114, ), ), }, BlockValue { id: BlockValueId( 234, ), tile: 2, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 115, ), ), }, BlockValue { id: BlockValueId( 235, ), tile: 3, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 116, ), ), }, BlockValue { id: BlockValueId( 236, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 117, ), ), }, BlockValue { id: BlockValueId( 237, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 118, ), ), }, BlockValue { id: BlockValueId( 238, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], definition: Alias( BlockValueId( 119, ), ), }, BlockValue { id: BlockValueId( 239, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, }, extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], definition: Alias( BlockValueId( 120, ), ), }, BlockValue { id: BlockValueId( 240, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: Staging, }, BlockValue { id: BlockValueId( 241, ), tile: 4, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 242, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: Staging, }, BlockValue { id: BlockValueId( 243, ), tile: 5, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 244, ), tile: 6, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, BlockValue { id: BlockValueId( 245, ), tile: 7, tensor_type: TensorType { shape: TensorShape( [ 256, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, }, extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], definition: ExchangeStaging, }, ], exchange_phases: [ ExchangePhase { id: ExchangePhaseId( 0, ), provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: None, reason: LayoutRearrangement, }, transfers: [ LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 66, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, destinations: [ ShardView { shard: BlockValueId( 67, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 68, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 69, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 70, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, destinations: [ ShardView { shard: BlockValueId( 71, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 72, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 1, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 2, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 3, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 4, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 5, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 6, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 7, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 8, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 9, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 10, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 11, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 12, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 13, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 14, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 15, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 16, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 17, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 18, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 19, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 20, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 21, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 22, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 23, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 24, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 25, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 26, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 27, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 28, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 29, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 30, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 31, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 32, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, ], }, ExchangePhase { id: ExchangePhaseId( 1, ), provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: None, reason: LayoutRearrangement, }, transfers: [ LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 94, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, destinations: [ ShardView { shard: BlockValueId( 95, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 96, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 97, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 98, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 0, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, destinations: [ ShardView { shard: BlockValueId( 99, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 100, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 33, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 34, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 35, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 36, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 37, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 38, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 39, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 40, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 16, physical_end: 16, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 41, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 42, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 43, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 44, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 45, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 46, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 47, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 48, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 16, logical_end: 32, physical_end: 32, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 49, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 50, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 51, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 52, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 53, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 54, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 55, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 56, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 48, physical_end: 48, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 57, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 58, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 59, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 32, logical_end: 48, physical_end: 48, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 60, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 48, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 61, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 80, physical_end: 80, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 62, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 80, logical_end: 96, physical_end: 96, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 63, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 96, logical_end: 112, physical_end: 112, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, LogicalExchange { source: ShardView { shard: BlockValueId( 64, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 112, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 48, logical_end: 64, physical_end: 64, }, ], }, ], order: Panels, }, ], }, ExchangePhase { id: ExchangePhaseId( 2, ), provenance: WorkProvenance { operation: None, value: None, reason: OperatorInputs, }, transfers: [ LogicalExchange { source: ShardView { shard: BlockValueId( 220, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 226, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 221, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 227, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 222, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 228, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 223, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 230, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 224, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 229, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 225, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 231, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 232, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 240, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 233, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 242, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 234, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 241, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 235, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 243, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 236, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 244, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 237, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 245, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], order: Physical, }, ], }, ExchangePhase { id: ExchangePhaseId( 3, ), provenance: WorkProvenance { operation: None, value: None, reason: OperatorInputs, }, transfers: [ LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 123, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 125, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 127, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 129, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 131, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 133, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 135, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 124, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 126, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 128, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 130, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 132, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 134, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 136, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 137, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 139, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 141, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 143, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 145, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 147, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 149, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 151, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 138, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 140, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 142, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 144, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 146, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 148, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 150, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 152, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 153, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 155, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 159, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 161, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 163, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 165, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 167, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 154, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 156, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 160, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 162, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 164, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 166, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 168, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 169, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 171, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 173, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 175, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 177, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 179, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 181, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 183, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 170, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 172, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 174, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 176, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 178, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 180, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 182, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, LogicalExchange { source: ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, destinations: [ ShardView { shard: BlockValueId( 184, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Semantic, }, ], }, ExchangePhase { id: ExchangePhaseId( 4, ), provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 16, ), ), reason: LayoutRearrangement, }, transfers: [ LogicalExchange { source: ShardView { shard: BlockValueId( 186, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 187, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 188, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 189, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 190, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 191, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 192, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 193, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 194, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 195, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 196, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 197, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 198, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 199, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 200, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 201, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 202, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 203, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 204, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 205, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 206, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 207, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 208, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 209, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 210, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 211, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 212, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 213, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 214, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 215, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, LogicalExchange { source: ShardView { shard: BlockValueId( 216, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, destinations: [ ShardView { shard: BlockValueId( 217, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], order: Physical, }, ], }, ], inputs: [ MidInput { name: "x", kind: Host, value: MidValueId( 0, ), }, MidInput { name: "wa", kind: Parameter, value: MidValueId( 1, ), }, MidInput { name: "wb", kind: Parameter, value: MidValueId( 2, ), }, ], body: BlockRegion { operations: [ Exchange( ExchangePhaseId( 0, ), ), Copy { tile: 0, copy: LocalCopyId( 0, ), }, Copy { tile: 0, copy: LocalCopyId( 1, ), }, Copy { tile: 0, copy: LocalCopyId( 2, ), }, Copy { tile: 0, copy: LocalCopyId( 3, ), }, Copy { tile: 0, copy: LocalCopyId( 4, ), }, Copy { tile: 6, copy: LocalCopyId( 5, ), }, Compute { tile: 0, run: KernelRunId( 0, ), }, Compute { tile: 1, run: KernelRunId( 1, ), }, Compute { tile: 2, run: KernelRunId( 2, ), }, Compute { tile: 3, run: KernelRunId( 3, ), }, Compute { tile: 4, run: KernelRunId( 4, ), }, Compute { tile: 5, run: KernelRunId( 5, ), }, Compute { tile: 6, run: KernelRunId( 6, ), }, Compute { tile: 7, run: KernelRunId( 7, ), }, Exchange( ExchangePhaseId( 1, ), ), Copy { tile: 0, copy: LocalCopyId( 6, ), }, Copy { tile: 0, copy: LocalCopyId( 7, ), }, Copy { tile: 0, copy: LocalCopyId( 8, ), }, Copy { tile: 0, copy: LocalCopyId( 9, ), }, Copy { tile: 0, copy: LocalCopyId( 10, ), }, Copy { tile: 6, copy: LocalCopyId( 11, ), }, Compute { tile: 0, run: KernelRunId( 8, ), }, Compute { tile: 1, run: KernelRunId( 9, ), }, Compute { tile: 2, run: KernelRunId( 10, ), }, Compute { tile: 3, run: KernelRunId( 11, ), }, Compute { tile: 4, run: KernelRunId( 12, ), }, Compute { tile: 5, run: KernelRunId( 13, ), }, Compute { tile: 6, run: KernelRunId( 14, ), }, Compute { tile: 7, run: KernelRunId( 15, ), }, Exchange( ExchangePhaseId( 2, ), ), Compute { tile: 0, run: KernelRunId( 16, ), }, Compute { tile: 1, run: KernelRunId( 17, ), }, Compute { tile: 2, run: KernelRunId( 18, ), }, Compute { tile: 3, run: KernelRunId( 19, ), }, Compute { tile: 4, run: KernelRunId( 20, ), }, Compute { tile: 5, run: KernelRunId( 21, ), }, Compute { tile: 6, run: KernelRunId( 22, ), }, Compute { tile: 7, run: KernelRunId( 23, ), }, Exchange( ExchangePhaseId( 3, ), ), Copy { tile: 0, copy: LocalCopyId( 12, ), }, Copy { tile: 1, copy: LocalCopyId( 13, ), }, Copy { tile: 4, copy: LocalCopyId( 14, ), }, Copy { tile: 5, copy: LocalCopyId( 15, ), }, Compute { tile: 0, run: KernelRunId( 24, ), }, Compute { tile: 1, run: KernelRunId( 25, ), }, Compute { tile: 2, run: KernelRunId( 26, ), }, Compute { tile: 3, run: KernelRunId( 27, ), }, Compute { tile: 4, run: KernelRunId( 28, ), }, Compute { tile: 5, run: KernelRunId( 29, ), }, Compute { tile: 6, run: KernelRunId( 30, ), }, Compute { tile: 7, run: KernelRunId( 31, ), }, Compute { tile: 8, run: KernelRunId( 32, ), }, Compute { tile: 9, run: KernelRunId( 33, ), }, Compute { tile: 10, run: KernelRunId( 34, ), }, Compute { tile: 11, run: KernelRunId( 35, ), }, Compute { tile: 12, run: KernelRunId( 36, ), }, Compute { tile: 13, run: KernelRunId( 37, ), }, Compute { tile: 14, run: KernelRunId( 38, ), }, Compute { tile: 15, run: KernelRunId( 39, ), }, Compute { tile: 16, run: KernelRunId( 40, ), }, Compute { tile: 17, run: KernelRunId( 41, ), }, Compute { tile: 18, run: KernelRunId( 42, ), }, Compute { tile: 19, run: KernelRunId( 43, ), }, Compute { tile: 20, run: KernelRunId( 44, ), }, Compute { tile: 21, run: KernelRunId( 45, ), }, Compute { tile: 22, run: KernelRunId( 46, ), }, Compute { tile: 23, run: KernelRunId( 47, ), }, Compute { tile: 24, run: KernelRunId( 48, ), }, Compute { tile: 25, run: KernelRunId( 49, ), }, Compute { tile: 26, run: KernelRunId( 50, ), }, Compute { tile: 27, run: KernelRunId( 51, ), }, Compute { tile: 28, run: KernelRunId( 52, ), }, Compute { tile: 29, run: KernelRunId( 53, ), }, Compute { tile: 30, run: KernelRunId( 54, ), }, Compute { tile: 31, run: KernelRunId( 55, ), }, Exchange( ExchangePhaseId( 4, ), ), Copy { tile: 0, copy: LocalCopyId( 16, ), }, ], }, kernel_runs: [ KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 65, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 77, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 85, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 66, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 78, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 86, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 67, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 79, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 87, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 68, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 80, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 88, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 69, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 81, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 89, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 70, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 82, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 90, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 71, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 83, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 91, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 7, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 72, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 84, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 92, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 93, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 105, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 113, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 94, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 106, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 114, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 95, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 107, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 115, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 96, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 108, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 116, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 97, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 109, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 117, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 98, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 110, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 64, physical_end: 64, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 118, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 99, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 111, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 119, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: Some( [ 32768, 32768, ], ), metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 12, ), ), reason: OperatorKernel, }, kernel: Gemm { multiply: F16, accumulate: F16, mode: Initialize, weights: Interleaved, inner_block: 64, output_columns: 32, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 32, access_tail_bytes: 16, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 32, access_tail_bytes: 0, }, ], distinct_elements: [ [ Output( 0, ), Input( 0, ), ], ], }, }, inputs: [ ShardView { shard: BlockValueId( 100, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 64, logical_end: 128, physical_end: 128, }, ], }, ShardView { shard: BlockValueId( 112, ), extents: [ ShardExtent { axis: 0, start: 64, logical_end: 128, physical_end: 128, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 120, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 2, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 5, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 218, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 226, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 73, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 5, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 219, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 227, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 74, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 5, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 228, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ShardView { shard: BlockValueId( 229, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 75, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 0, ), ), value: Some( MidValueId( 5, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 230, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ShardView { shard: BlockValueId( 231, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 76, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 10, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 240, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ShardView { shard: BlockValueId( 241, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 101, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 10, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 242, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ShardView { shard: BlockValueId( 243, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 102, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 10, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 238, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 244, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 103, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 1, ), ), value: Some( MidValueId( 10, ), ), reason: OperatorKernel, }, kernel: ReductionSum { partials: 2, }, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 239, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ShardView { shard: BlockValueId( 245, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 256, physical_end: 256, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 104, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 32, logical_end: 64, physical_end: 64, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 121, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 153, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 185, ), extents: [ ShardExtent { axis: 0, start: 0, logical_end: 1, physical_end: 1, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 122, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 154, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 186, ), extents: [ ShardExtent { axis: 0, start: 1, logical_end: 2, physical_end: 2, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 123, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 155, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 187, ), extents: [ ShardExtent { axis: 0, start: 2, logical_end: 3, physical_end: 3, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 124, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 156, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 188, ), extents: [ ShardExtent { axis: 0, start: 3, logical_end: 4, physical_end: 4, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 125, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 157, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 189, ), extents: [ ShardExtent { axis: 0, start: 4, logical_end: 5, physical_end: 5, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 126, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 158, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 190, ), extents: [ ShardExtent { axis: 0, start: 5, logical_end: 6, physical_end: 6, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 127, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 159, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 191, ), extents: [ ShardExtent { axis: 0, start: 6, logical_end: 7, physical_end: 7, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 128, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 160, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 192, ), extents: [ ShardExtent { axis: 0, start: 7, logical_end: 8, physical_end: 8, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 129, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 161, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 193, ), extents: [ ShardExtent { axis: 0, start: 8, logical_end: 9, physical_end: 9, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 130, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 162, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 194, ), extents: [ ShardExtent { axis: 0, start: 9, logical_end: 10, physical_end: 10, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 131, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 163, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 195, ), extents: [ ShardExtent { axis: 0, start: 10, logical_end: 11, physical_end: 11, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 132, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 164, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 196, ), extents: [ ShardExtent { axis: 0, start: 11, logical_end: 12, physical_end: 12, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 133, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 165, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 197, ), extents: [ ShardExtent { axis: 0, start: 12, logical_end: 13, physical_end: 13, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 134, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 166, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 198, ), extents: [ ShardExtent { axis: 0, start: 13, logical_end: 14, physical_end: 14, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 135, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 167, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 199, ), extents: [ ShardExtent { axis: 0, start: 14, logical_end: 15, physical_end: 15, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 136, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 168, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 200, ), extents: [ ShardExtent { axis: 0, start: 15, logical_end: 16, physical_end: 16, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 137, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 169, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 201, ), extents: [ ShardExtent { axis: 0, start: 16, logical_end: 17, physical_end: 17, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 138, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 170, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 202, ), extents: [ ShardExtent { axis: 0, start: 17, logical_end: 18, physical_end: 18, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 139, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 171, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 203, ), extents: [ ShardExtent { axis: 0, start: 18, logical_end: 19, physical_end: 19, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 140, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 172, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 204, ), extents: [ ShardExtent { axis: 0, start: 19, logical_end: 20, physical_end: 20, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 141, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 173, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 205, ), extents: [ ShardExtent { axis: 0, start: 20, logical_end: 21, physical_end: 21, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 142, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 174, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 206, ), extents: [ ShardExtent { axis: 0, start: 21, logical_end: 22, physical_end: 22, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 143, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 175, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 207, ), extents: [ ShardExtent { axis: 0, start: 22, logical_end: 23, physical_end: 23, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 144, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 176, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 208, ), extents: [ ShardExtent { axis: 0, start: 23, logical_end: 24, physical_end: 24, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 145, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 177, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 209, ), extents: [ ShardExtent { axis: 0, start: 24, logical_end: 25, physical_end: 25, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 146, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 178, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 210, ), extents: [ ShardExtent { axis: 0, start: 25, logical_end: 26, physical_end: 26, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 147, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 179, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 211, ), extents: [ ShardExtent { axis: 0, start: 26, logical_end: 27, physical_end: 27, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 148, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 180, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 212, ), extents: [ ShardExtent { axis: 0, start: 27, logical_end: 28, physical_end: 28, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 149, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 181, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 213, ), extents: [ ShardExtent { axis: 0, start: 28, logical_end: 29, physical_end: 29, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 150, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 182, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 214, ), extents: [ ShardExtent { axis: 0, start: 29, logical_end: 30, physical_end: 30, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 151, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 183, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 215, ), extents: [ ShardExtent { axis: 0, start: 30, logical_end: 31, physical_end: 31, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, KernelRun { product_flops: None, metadata: KernelRunMetadata { provenance: WorkProvenance { operation: Some( OperationId( 4, ), ), value: Some( MidValueId( 15, ), ), reason: OperatorKernel, }, kernel: Add, requirements: KernelRequirements { inputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], outputs: [ KernelAccess { format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, alignment: 8, access_tail_bytes: 0, }, ], distinct_elements: [], }, }, inputs: [ ShardView { shard: BlockValueId( 152, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ShardView { shard: BlockValueId( 184, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], outputs: [ ShardView { shard: BlockValueId( 216, ), extents: [ ShardExtent { axis: 0, start: 31, logical_end: 32, physical_end: 32, }, ShardExtent { axis: 1, start: 0, logical_end: 32, physical_end: 32, }, ], }, ], }, ], local_copies: [ CopyOperation { source: BlockValueId( 0, ), source_offset: 0, destination: BlockValueId( 65, ), destination_offset: 0, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 32, destination: BlockValueId( 65, ), destination_offset: 256, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 64, destination: BlockValueId( 65, ), destination_offset: 512, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 96, destination: BlockValueId( 65, ), destination_offset: 768, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 1, ), source_offset: 0, destination: BlockValueId( 77, ), destination_offset: 0, bytes: 512, pattern: Contiguous, }, CopyOperation { source: BlockValueId( 7, ), source_offset: 0, destination: BlockValueId( 83, ), destination_offset: 1024, bytes: 512, pattern: Contiguous, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 0, destination: BlockValueId( 93, ), destination_offset: 0, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 32, destination: BlockValueId( 93, ), destination_offset: 256, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 64, destination: BlockValueId( 93, ), destination_offset: 512, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 0, ), source_offset: 96, destination: BlockValueId( 93, ), destination_offset: 768, bytes: 256, pattern: Strided { rows: 8, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 33, ), source_offset: 0, destination: BlockValueId( 105, ), destination_offset: 0, bytes: 512, pattern: Contiguous, }, CopyOperation { source: BlockValueId( 39, ), source_offset: 0, destination: BlockValueId( 111, ), destination_offset: 1024, bytes: 512, pattern: Contiguous, }, CopyOperation { source: BlockValueId( 73, ), source_offset: 0, destination: BlockValueId( 121, ), destination_offset: 0, bytes: 64, pattern: Strided { rows: 2, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 74, ), source_offset: 0, destination: BlockValueId( 122, ), destination_offset: 0, bytes: 64, pattern: Strided { rows: 2, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 101, ), source_offset: 64, destination: BlockValueId( 157, ), destination_offset: 0, bytes: 64, pattern: Strided { rows: 2, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 102, ), source_offset: 64, destination: BlockValueId( 158, ), destination_offset: 0, bytes: 64, pattern: Strided { rows: 2, row_bytes: 32, source_stride: 256, destination_stride: 32, }, }, CopyOperation { source: BlockValueId( 185, ), source_offset: 0, destination: BlockValueId( 217, ), destination_offset: 0, bytes: 64, pattern: Contiguous, }, ], value_shards: [ [ BlockValueId( 0, ), ], [ BlockValueId( 1, ), BlockValueId( 2, ), BlockValueId( 3, ), BlockValueId( 4, ), BlockValueId( 5, ), BlockValueId( 6, ), BlockValueId( 7, ), BlockValueId( 8, ), BlockValueId( 9, ), BlockValueId( 10, ), BlockValueId( 11, ), BlockValueId( 12, ), BlockValueId( 13, ), BlockValueId( 14, ), BlockValueId( 15, ), BlockValueId( 16, ), BlockValueId( 17, ), BlockValueId( 18, ), BlockValueId( 19, ), BlockValueId( 20, ), BlockValueId( 21, ), BlockValueId( 22, ), BlockValueId( 23, ), BlockValueId( 24, ), BlockValueId( 25, ), BlockValueId( 26, ), BlockValueId( 27, ), BlockValueId( 28, ), BlockValueId( 29, ), BlockValueId( 30, ), BlockValueId( 31, ), BlockValueId( 32, ), ], [ BlockValueId( 33, ), BlockValueId( 34, ), BlockValueId( 35, ), BlockValueId( 36, ), BlockValueId( 37, ), BlockValueId( 38, ), BlockValueId( 39, ), BlockValueId( 40, ), BlockValueId( 41, ), BlockValueId( 42, ), BlockValueId( 43, ), BlockValueId( 44, ), BlockValueId( 45, ), BlockValueId( 46, ), BlockValueId( 47, ), BlockValueId( 48, ), BlockValueId( 49, ), BlockValueId( 50, ), BlockValueId( 51, ), BlockValueId( 52, ), BlockValueId( 53, ), BlockValueId( 54, ), BlockValueId( 55, ), BlockValueId( 56, ), BlockValueId( 57, ), BlockValueId( 58, ), BlockValueId( 59, ), BlockValueId( 60, ), BlockValueId( 61, ), BlockValueId( 62, ), BlockValueId( 63, ), BlockValueId( 64, ), ], [ BlockValueId( 65, ), BlockValueId( 66, ), BlockValueId( 67, ), BlockValueId( 68, ), BlockValueId( 69, ), BlockValueId( 70, ), BlockValueId( 71, ), BlockValueId( 72, ), ], [], [ BlockValueId( 73, ), BlockValueId( 74, ), BlockValueId( 75, ), BlockValueId( 76, ), ], [ BlockValueId( 77, ), BlockValueId( 78, ), BlockValueId( 79, ), BlockValueId( 80, ), BlockValueId( 81, ), BlockValueId( 82, ), BlockValueId( 83, ), BlockValueId( 84, ), ], [ BlockValueId( 85, ), BlockValueId( 86, ), BlockValueId( 87, ), BlockValueId( 88, ), BlockValueId( 89, ), BlockValueId( 90, ), BlockValueId( 91, ), BlockValueId( 92, ), ], [ BlockValueId( 93, ), BlockValueId( 94, ), BlockValueId( 95, ), BlockValueId( 96, ), BlockValueId( 97, ), BlockValueId( 98, ), BlockValueId( 99, ), BlockValueId( 100, ), ], [], [ BlockValueId( 101, ), BlockValueId( 102, ), BlockValueId( 103, ), BlockValueId( 104, ), ], [ BlockValueId( 105, ), BlockValueId( 106, ), BlockValueId( 107, ), BlockValueId( 108, ), BlockValueId( 109, ), BlockValueId( 110, ), BlockValueId( 111, ), BlockValueId( 112, ), ], [ BlockValueId( 113, ), BlockValueId( 114, ), BlockValueId( 115, ), BlockValueId( 116, ), BlockValueId( 117, ), BlockValueId( 118, ), BlockValueId( 119, ), BlockValueId( 120, ), ], [ BlockValueId( 121, ), BlockValueId( 122, ), BlockValueId( 123, ), BlockValueId( 124, ), BlockValueId( 125, ), BlockValueId( 126, ), BlockValueId( 127, ), BlockValueId( 128, ), BlockValueId( 129, ), BlockValueId( 130, ), BlockValueId( 131, ), BlockValueId( 132, ), BlockValueId( 133, ), BlockValueId( 134, ), BlockValueId( 135, ), BlockValueId( 136, ), BlockValueId( 137, ), BlockValueId( 138, ), BlockValueId( 139, ), BlockValueId( 140, ), BlockValueId( 141, ), BlockValueId( 142, ), BlockValueId( 143, ), BlockValueId( 144, ), BlockValueId( 145, ), BlockValueId( 146, ), BlockValueId( 147, ), BlockValueId( 148, ), BlockValueId( 149, ), BlockValueId( 150, ), BlockValueId( 151, ), BlockValueId( 152, ), ], [ BlockValueId( 153, ), BlockValueId( 154, ), BlockValueId( 155, ), BlockValueId( 156, ), BlockValueId( 157, ), BlockValueId( 158, ), BlockValueId( 159, ), BlockValueId( 160, ), BlockValueId( 161, ), BlockValueId( 162, ), BlockValueId( 163, ), BlockValueId( 164, ), BlockValueId( 165, ), BlockValueId( 166, ), BlockValueId( 167, ), BlockValueId( 168, ), BlockValueId( 169, ), BlockValueId( 170, ), BlockValueId( 171, ), BlockValueId( 172, ), BlockValueId( 173, ), BlockValueId( 174, ), BlockValueId( 175, ), BlockValueId( 176, ), BlockValueId( 177, ), BlockValueId( 178, ), BlockValueId( 179, ), BlockValueId( 180, ), BlockValueId( 181, ), BlockValueId( 182, ), BlockValueId( 183, ), BlockValueId( 184, ), ], [ BlockValueId( 185, ), BlockValueId( 186, ), BlockValueId( 187, ), BlockValueId( 188, ), BlockValueId( 189, ), BlockValueId( 190, ), BlockValueId( 191, ), BlockValueId( 192, ), BlockValueId( 193, ), BlockValueId( 194, ), BlockValueId( 195, ), BlockValueId( 196, ), BlockValueId( 197, ), BlockValueId( 198, ), BlockValueId( 199, ), BlockValueId( 200, ), BlockValueId( 201, ), BlockValueId( 202, ), BlockValueId( 203, ), BlockValueId( 204, ), BlockValueId( 205, ), BlockValueId( 206, ), BlockValueId( 207, ), BlockValueId( 208, ), BlockValueId( 209, ), BlockValueId( 210, ), BlockValueId( 211, ), BlockValueId( 212, ), BlockValueId( 213, ), BlockValueId( 214, ), BlockValueId( 215, ), BlockValueId( 216, ), ], [ BlockValueId( 217, ), ], ], outputs: [ MidValueId( 16, ), ], logical_values: [ MidValue { id: MidValueId( 0, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 0, ), storage_group: MidValueId( 0, ), }, MidValue { id: MidValueId( 1, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 1, ), storage_group: MidValueId( 1, ), }, MidValue { id: MidValueId( 2, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( TransposedLeft, ), tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 8, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 1, ), partitions: 4, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 2, ), storage_group: MidValueId( 2, ), }, MidValue { id: MidValueId( 3, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 0, ), storage_group: MidValueId( 0, ), }, MidValue { id: MidValueId( 4, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 1, ), storage_group: MidValueId( 4, ), }, MidValue { id: MidValueId( 5, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 3, ), storage_group: MidValueId( 5, ), }, MidValue { id: MidValueId( 6, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 3, ), storage_group: MidValueId( 6, ), }, MidValue { id: MidValueId( 7, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 3, ), storage_group: MidValueId( 7, ), }, MidValue { id: MidValueId( 8, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 16, 128, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 0, ), storage_group: MidValueId( 0, ), }, MidValue { id: MidValueId( 9, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: None, }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 2, ), storage_group: MidValueId( 9, ), }, MidValue { id: MidValueId( 10, ), owners: OwnerMap { rotation: 4, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 4, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromEnd( 2, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 4, ), storage_group: MidValueId( 10, ), }, MidValue { id: MidValueId( 11, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 128, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: BlockMajor( Matrix { row_block: 64, column_block: 16, }, ), tiling: TensorTiling { tile_count: 8, replicas: 2, axes: [ AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 64, padding_multiple: 64, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 4, ), storage_group: MidValueId( 11, ), }, MidValue { id: MidValueId( 12, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 2, 16, 64, ], ), format: TensorFormat { precision: F16, layout: Layout { order: Amp( Left, ), tiling: TensorTiling { tile_count: 8, replicas: 1, axes: [ AxisTiling { axis: FromStart( 2, ), partitions: 2, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 1, ), }, AxisTiling { axis: FromStart( 1, ), partitions: 2, padding_groups: 1, block_size: 2, padding_multiple: 2, shard_padding_multiple: 1, padding: Zero, tile_stride: Some( 4, ), }, AxisTiling { axis: FromStart( 0, ), partitions: 2, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some( 2, ), }, ], }, memory_class: Ipu21Interleaved, }, }, }, origin: ValueId( 4, ), storage_group: MidValueId( 12, ), }, MidValue { id: MidValueId( 13, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 5, ), storage_group: MidValueId( 13, ), }, MidValue { id: MidValueId( 14, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 6, ), storage_group: MidValueId( 14, ), }, MidValue { id: MidValueId( 15, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 32, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 32, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 7, ), storage_group: MidValueId( 15, ), }, MidValue { id: MidValueId( 16, ), owners: OwnerMap { rotation: 0, embedding: None, }, tensor_type: TensorType { shape: TensorShape( [ 32, 32, ], ), format: TensorFormat { precision: F16, layout: Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1, replicas: 1, axes: [ AxisTiling { axis: FromEnd( 2, ), partitions: 1, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: None, }, ], }, memory_class: Ipu21Standard, }, }, }, origin: ValueId( 7, ), storage_group: MidValueId( 15, ), }, ], checkpoints: [ ( OperationId( 0, ), [ MidValueId( 7, ), ], ), ( OperationId( 1, ), [ MidValueId( 12, ), ], ), ( OperationId( 0, ), [ MidValueId( 5, ), ], ), ( OperationId( 1, ), [ MidValueId( 10, ), ], ), ( OperationId( 2, ), [ MidValueId( 13, ), ], ), ( OperationId( 3, ), [ MidValueId( 14, ), ], ), ( OperationId( 4, ), [ MidValueId( 16, ), ], ), ], }