Planner memory profile

rejected-op4 · 1472 tiles · Automatic / Automatic

Planner estimate: sum of per-allocation maximum shard sizes, not a placed tile. Repeat execution counts do not multiply scratch. Exchange rows are reserved separately for the whole program.

Effective total peak: 593.1 KiB / 573.2 KiB budget. Support reserve: 48.0 KiB. Separate estimated exchange rows: 12.6 KiB (replaced by the support reserve in the capacity check). Interleaved limit: 414.9 KiB. Contiguous-standard overflow: 0 bytes. Budget check: FAIL.

Black: total + support reserve · Blue: standard + support · Green: interleaved · Red: total budget. Click the timeline to inspect a step.

0K160K320K480K641K

Step 0 · source operation 3 · executed 1 times: LayerNorm

Live tensors + scratch: 329.1 KiB standard, 216.0 KiB interleaved. Reduction/conversion scratch: 0.0 KiB standard, 0.0 KiB interleaved. Support reserve and exchange rows are not allocation rows below.

Allocation / groupClassResident copiesShard × copiesAlignment/tail × copiesTotal bytes
vit.encoder.attention.qkv.weight
root 3; aliases 3; origin 334; F8F143 { scale_exponent: -4 } [1152,3456]; Layout { order: BlockMajor(Matrix { row_block: 128, column_block: 16 }), tiling: TensorTiling { tile_count: 486, replicas: 1, axes: [AxisTiling { axis: FromEnd(1), partitions: 54, padding_groups: 1, block_size: 16, padding_multiple: 16, shard_padding_multiple: 1, padding: Zero, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(2), partitions: 9, padding_groups: 1, block_size: 128, padding_multiple: 128, shard_padding_multiple: 1, padding: Zero, tile_stride: None }] }, memory_class: Ipu21Interleaved }
Ipu21Interleaved27221,1840221,184
vit.encoder.mlp.up.weight
root 9; aliases 9; origin 340; F8F143 { scale_exponent: -4 } [1152,4304]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 8, padding_multiple: 8, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard2791,152091,152
vit.encoder.mlp.down.weight
root 11; aliases 11; origin 342; F8F143 { scale_exponent: -4 } [4304,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 8, padding_multiple: 8, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard2791,152091,152
vit.encoder.attention_norm.scale
root 1; aliases 1; origin 332; F16 [1,1,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 729, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard }
Ipu21Standard2762,208062,208
vit.encoder.attention_norm.bias
root 2; aliases 2; origin 333; F16 [1,1,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 729, axes: [AxisTiling { axis: FromStart(2), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard }
Ipu21Standard2762,208062,208
vit.encoder.attention.output.weight
root 5; aliases 5; origin 336; F8F143 { scale_exponent: -4 } [1152,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1472, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1472, padding_groups: 1, block_size: 8, padding_multiple: 8, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard2724,408024,408
operation 2 result 0
root 0; aliases 0; origin 331; F16 [1,729,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard }
Ipu21Standard12,30402,304
operation 3 result 0
root 13; aliases 13; origin 344; F16 [1,729,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 729, replicas: 1, axes: [AxisTiling { axis: FromEnd(2), partitions: 729, padding_groups: 1, block_size: 1, padding_multiple: 1, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }, AxisTiling { axis: FromEnd(1), partitions: 1, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: Some(1) }] }, memory_class: Ipu21Standard }
Ipu21Standard12,30402,304
vit.encoder.attention.qkv.bias
root 4; aliases 4; origin 335; F16 [1,1,3456]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 864, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 864, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard272160216
vit.encoder.attention.output.bias
root 6; aliases 6; origin 337; F16 [1,1,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 288, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard272160216
vit.encoder.mlp_norm.scale
root 7; aliases 7; origin 338; F16 [1,1,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 288, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard272160216
vit.encoder.mlp_norm.bias
root 8; aliases 8; origin 339; F16 [1,1,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 288, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard272160216
vit.encoder.mlp.up.bias
root 10; aliases 10; origin 341; F16 [1,1,4304]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 1076, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 1076, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard272160216
vit.encoder.mlp.down.bias
root 12; aliases 12; origin 343; F16 [1,1,1152]; Layout { order: RowMajor, tiling: TensorTiling { tile_count: 288, replicas: 1, axes: [AxisTiling { axis: Linear, partitions: 288, padding_groups: 1, block_size: 4, padding_multiple: 4, shard_padding_multiple: 1, padding: Reject, tile_stride: None }] }, memory_class: Ipu21Standard }
Ipu21Standard272160216