Skip to content

[WIP] Update mlir-aie to latest nightly (1.4.2.dev12) and reduce IRON/mlir-aie duplication - #150

Open
hunhoffe wants to merge 6 commits into
develfrom
update-mlir-aie-latest-nightly
Open

[WIP] Update mlir-aie to latest nightly (1.4.2.dev12) and reduce IRON/mlir-aie duplication#150
hunhoffe wants to merge 6 commits into
develfrom
update-mlir-aie-latest-nightly

Conversation

@hunhoffe

Copy link
Copy Markdown
Collaborator
  • Bumps mlir_aie to the latest nightly (1.4.2.dev12+ga5b4788, on top of Update mlir-aie to v1.4.0 and migrate the operator library to its APIs #145's v1.4.0 migration) and llvm-aie to 22.0.0.2026081401 (LLVM 21→22).
  • Fixes the resulting breaking changes: aiecc flipped its Peano/Chess default (--no-xchesscc/--no-xbridge no longer exist), and XRTTensor's residency tracking was reworked into a shared storage/coherence-map model.
  • Removes --dynamic-objFifos everywhere it was passed — it's the default upstream now.
  • While fixing the coherence-tracking break, found that upstream added a first-class subview() API that fully supersedes our hand-rolled XRTSubBuffer class (it even resolves a FIXME we had: XRTSubBuffer.to() used to resync the entire parent buffer, clobbering sibling sub-views). Migrated all six call sites and deleted the class.
  • One more small dedup: get_kernel_dir()'s device→arch-string mapping now delegates to upstream's resolve_target_arch() instead of reimplementing it.
  • Also fixes a pre-existing bug found along the way: iron/operators/__init__.py unconditionally imported the stream-dse-backed operator, which broke its documented self-skip behavior when onnx/stream-dse aren't installed.

PR Merge Checklist

  1. The PR is rebased on the latest devel commit and pointing to devel.
  2. Your PR has been reviewed and approved.
  3. All checks are passing.

atassis and others added 4 commits August 3, 2026 11:30
v1.4.0 carries two breaking changes that the pinned v1.3.5.dev20 predates, so
the version bump alone does not build.

mlir-aie #3387 reworked the IRON Runtime into a callback body. Runtime() plus
'with rt.sequence(...)' is gone; the constructor now takes (seq_fn, fn_args),
fill/drain moved onto the ObjectFifo handle, workers moved to Program(workers=),
task_group()/finish_task_group() became TaskGroup()/tg.finish(), set_barrier()
became barrier.set(), inline_ops() became a direct call, enable_trace() moved to
Program and sync_parameters() to module scope. The per-transfer tile= argument is
now bound on .prod()/.cons(), since placement is a property of the handle.

mlir-aie #3364 unified aiecc's output selection under --get-<name>, removing
--aie-generate-xclbin, --aie-generate-npu-insts and --no-compile-host. Asking
only for the insts is what --no-compile used to mean, so that flag goes away
rather than being renamed.

Two spots needed more than a rename. gemm returns tensor access patterns that are
recorded while the sequence body runs, and the body now runs at resolve_program()
rather than at construction, so the program is resolved before the taps are read.
mem_copy guarded rt.start on 'not bypass', which becomes a conditional workers=
argument.

Verified on Strix (npu2): the axpy suite passes 20/20 on device.
…0.2026081401

Builds on #145's v1.4.0 migration. Fixes further upstream breaking changes:
- aiecc flipped its Peano/Chess default; --no-xchesscc/--no-xbridge no longer
  exist, so drop them (Peano is now the implicit default)
- XRTTensor's residency tracking was reworked into a Storage/coherence-map
  model; XRTSubBuffer now shares its parent's _storage instead of
  bootstrapping incompatible state
- drop --dynamic-objFifos everywhere it was passed (default upstream now)

Also fixes iron/operators/__init__.py unconditionally importing the
stream-dse-backed operator, which broke its documented self-skip behavior
when onnx/stream-dse aren't installed.

Verified: 146/146 fast + 2830/2830 extensive operator tests pass on NPU2
hardware (some extensive failures under -n auto were pre-existing xdist
build-directory races, confirmed passing when rerun serially).

Co-Authored-By: Claude <noreply@anthropic.com>
mlir-aie's nightly (1.4.2.dev12) added a first-class subview() API backed by
a shared storage/coherence map between a view and its parent. This directly
supersedes XRTSubBuffer, which existed only because that capability didn't
exist upstream (per its own TODO). Deleting it also fixes a real bug it had:
XRTSubBuffer.to() always resynced the *entire* parent buffer, which could
clobber a sibling sub-view whose fresh device data hadn't been read back yet.
subview()'s shared coherence map tracks dirtiness per byte range instead, so
each view's .to() only moves what it needs to.

Converts all six call sites (iron/common/sequence.py, and four in
llama_npu.py) from XRTSubBuffer(...)/XRTSubBuffer.from_parent(...) to
parent.subview(offset_bytes, shape, dtype), then deletes the class.

Verified: 146/146 fast + 2830/2830 extensive operator tests pass on NPU2
hardware. llama_npu.py's call sites are syntax/import-checked only; no model
weights available locally to run it end-to-end.

Co-Authored-By: Claude <noreply@anthropic.com>
…_arch()

get_kernel_dir() reimplemented the device-arch-to-kernel-dir-string mapping
that mlir-aie's aie.utils.compile.utils.resolve_target_arch() now provides.
Keep our own no-arg auto-detect default (resolve_target_arch(None) returns
"aie2" unconditionally rather than checking the current device, which would
silently regress every no-arg call site on NPU2 hardware), but delegate the
actual device->arch-string logic once a concrete device is known.

Verified: 2830/2830 operator tests pass on NPU2 hardware.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

CI Test Results

0e9b53e (2026_08_14_17_42_59)

IRON - CI Summary

Small

iron/operators/axpy
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_axpy[input_length_2048-num_aie_columns_1-tile_size_2048-scalar_factor_3.0] - - 389.70
test_axpy[input_length_2048-num_aie_columns_2-tile_size_1024-scalar_factor_3.0] - - 338.36
test_axpy[input_length_2048-num_aie_columns_4-tile_size_512-scalar_factor_3.0] - - 508.96
iron/operators/dequant
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_dequant[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-group_size_32] - - 347.04
test_dequant[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-group_size_32] - - 447.98
test_dequant[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-group_size_32] - - 433.66
test_dequant[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-group_size_32] - - 481.44
test_dequant[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-group_size_32] - - 395.88
test_dequant[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-group_size_32] - - 418.00
iron/operators/elementwise_add
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_elementwise_add[input_length_2048-num_aie_columns_1-tile_size_2048] - - 348.22
test_elementwise_add[input_length_2048-num_aie_columns_2-tile_size_1024] - - 692.68
test_elementwise_add[input_length_2048-num_aie_columns_4-tile_size_512] - - 376.78
iron/operators/elementwise_mul
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_elementwise_mul[input_length_2048-num_aie_columns_1-tile_size_2048] - - 270.14
test_elementwise_mul[input_length_2048-num_aie_columns_2-tile_size_1024] - - 324.34
test_elementwise_mul[input_length_2048-num_aie_columns_4-tile_size_512] - - 399.80
iron/operators/gelu
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_gelu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048] - - 351.12
test_gelu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 409.12
test_gelu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 633.22
test_gelu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 381.24
test_gelu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 440.72
test_gelu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 753.64
iron/operators/gemm
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_gemm[M_192-K_384-N_64-num_aie_columns_4-b_col_maj_False-c_col_maj_False-m_48-k_96-n_16-trace_size_0-partition_N_1] - - 501.66
test_gemm[M_192-K_384-N_64-num_aie_columns_4-b_col_maj_True-c_col_maj_True-m_48-k_96-n_16-trace_size_0-partition_N_1] - - 518.74
test_gemm[M_2048-K_2048-N_2048-num_aie_columns_1-b_col_maj_False-c_col_maj_False-m_64-k_64-n_64-trace_size_0-partition_N_1] - - 82620.94
test_gemm[M_2048-K_2048-N_2048-num_aie_columns_2-b_col_maj_True-c_col_maj_False-m_64-k_64-n_64-trace_size_0-partition_N_1] - - 25085.42
test_gemm[M_384-K_1536-N_1792-num_aie_columns_4-b_col_maj_True-c_col_maj_False-m_32-k_48-n_64-trace_size_0-partition_N_1] - - 4491.88
test_gemm[M_64-K_512-N_256-num_aie_columns_4-b_col_maj_True-c_col_maj_False-m_16-k_64-n_64-trace_size_0-partition_N_4] - - 6162.90
iron/operators/gemv
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_gemv[M_128-K_128-num_aie_columns_1-tile_size_input_32-tile_size_output_128] - - 0.09
test_gemv[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048] - - 3.71
test_gemv[M_2048-K_8192-num_aie_columns_2-tile_size_input_1-tile_size_output_1024] - - 6.17
test_gemv[M_2048-K_8192-num_aie_columns_4-tile_size_input_1-tile_size_output_512] - - 9.52
test_gemv[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024] - - 3.61
test_gemv[M_8192-K_2048-num_aie_columns_2-tile_size_input_4-tile_size_output_1024] - - 6.83
test_gemv[M_8192-K_2048-num_aie_columns_4-tile_size_input_4-tile_size_output_1024] - - 9.14
test_gemv_batched[M_1024-K_1024-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_2] - - 1.79
test_gemv_batched[M_1026-K_64-num_aie_columns_1-tile_size_input_1-tile_size_output_2-num_batches_2] - - 0.21
test_gemv_batched[M_256-K_128-num_aie_columns_1-tile_size_input_1-tile_size_output_256-num_batches_4] - - 0.30
test_gemv_batched[M_64-K_1536-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_8] - - 1.59
test_gemv_gelu[M_128-K_128-num_aie_columns_1-tile_size_input_32-tile_size_output_128] - - -
test_gemv_gelu[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048] - - -
test_gemv_gelu[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024] - - -
iron/operators/layer_norm
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048] - - 394.88
test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 448.44
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 433.66
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 809.40
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 520.70
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 434.72
iron/operators/leaky_relu
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.01] - - 410.48
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.1] - - 396.94
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.25] - - 406.98
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-alpha_0.01] - - 389.88
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-alpha_0.01] - - 328.88
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-alpha_0.01] - - 595.74
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-alpha_0.01] - - 340.28
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-alpha_0.01] - - 455.40
iron/operators/mem_copy
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_mem_copy[input_length_2048-num_cores_1-num_channels_1-bypass_False-tile_size_2048] - - 272.10
test_mem_copy[input_length_2048-num_cores_2-num_channels_1-bypass_False-tile_size_1024] - - 357.58
test_mem_copy[input_length_2048-num_cores_2-num_channels_2-bypass_False-tile_size_1024] - - 450.30
test_mem_copy[input_length_2048-num_cores_4-num_channels_1-bypass_False-tile_size_512] - - 390.70
test_mem_copy[input_length_2048-num_cores_4-num_channels_2-bypass_False-tile_size_512] - - 364.30
test_mem_copy[input_length_2048-num_cores_8-num_channels_2-bypass_False-tile_size_256] - - 732.20
iron/operators/relu
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048] - - 267.10
test_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 373.06
test_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 442.06
test_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 408.64
test_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 487.74
test_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 488.72
iron/operators/rms_norm
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_False] - - -
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_True] - - -
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_False] - - -
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_True] - - -
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_False] - - -
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_True] - - -
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_False] - - -
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_True] - - -
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_False] - - -
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_True] - - -
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-weighted_False] - - -
iron/operators/rope
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_1-method_type_0] - - 334.98
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_2-method_type_0] - - 422.34
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_4-method_type_0] - - 446.14
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_1-method_type_0] - - 423.94
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_2-method_type_0] - - 509.90
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_4-method_type_0] - - 483.62
iron/operators/sigmoid
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_sigmoid[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048] - - 438.34
test_sigmoid[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 358.54
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 356.74
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 469.90
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 399.76
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 466.64
iron/operators/silu
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_silu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048] - - 416.44
test_silu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 457.74
test_silu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 428.84
iron/operators/softmax
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_1024] - - 449.06
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_2048] - - 389.06
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_512] - - 391.66
iron/operators/swiglu_decode
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_swiglu_decode[embedding_dim_1024-hidden_dim_3584] - - 10393.99
test_swiglu_decode[embedding_dim_2048-hidden_dim_2048] - - 13872.40
iron/operators/swiglu_prefill
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_swiglu_prefill[seq_len_256-embedding_dim_2048-hidden_dim_2048-prio_accuracy_False] - - 21293.02
iron/operators/tanh
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_tanh[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048] - - 373.84
test_tanh[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 303.52
test_tanh[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 382.34
test_tanh[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 451.26
test_tanh[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 437.38
test_tanh[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 387.06
iron/operators/transpose
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_1] - - 568.16
test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_2] - - 1166.36
test_transpose[M_2048-N_64-aie_columns_1-channels_2-m_64-n_64-s_8-num_batches_1] - - 633.14
Phoenix - Small

IRON

Tested on 2026_08_14_17_42_59 at commit 0e9b53e.

iron/operators/axpy
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_axpy[input_length_2048-num_aie_columns_1-tile_size_2048-scalar_factor_3.0]✅ 5/5389.700.04n/a
test_axpy[input_length_2048-num_aie_columns_2-tile_size_1024-scalar_factor_3.0]✅ 5/5338.360.04n/a
test_axpy[input_length_2048-num_aie_columns_4-tile_size_512-scalar_factor_3.0]✅ 5/5508.960.03n/a
iron/operators/dequant
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_dequant[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-group_size_32]✅ 5/5347.040.02n/a
test_dequant[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-group_size_32]✅ 5/5447.980.01n/a
test_dequant[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-group_size_32]✅ 5/5433.660.01n/a
test_dequant[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-group_size_32]✅ 5/5481.440.01n/a
test_dequant[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-group_size_32]✅ 5/5395.880.02n/a
test_dequant[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-group_size_32]✅ 5/5418.000.01n/a
iron/operators/elementwise_add
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_elementwise_add[input_length_2048-num_aie_columns_1-tile_size_2048]✅ 5/5348.220.04n/a
test_elementwise_add[input_length_2048-num_aie_columns_2-tile_size_1024]✅ 5/5692.680.03n/a
test_elementwise_add[input_length_2048-num_aie_columns_4-tile_size_512]✅ 5/5376.780.04n/a
iron/operators/elementwise_mul
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_elementwise_mul[input_length_2048-num_aie_columns_1-tile_size_2048]✅ 5/5270.140.05n/a
test_elementwise_mul[input_length_2048-num_aie_columns_2-tile_size_1024]✅ 5/5324.340.04n/a
test_elementwise_mul[input_length_2048-num_aie_columns_4-tile_size_512]✅ 5/5399.800.03n/a
iron/operators/gelu
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_gelu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]✅ 5/5351.120.03n/a
test_gelu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5409.120.02n/a
test_gelu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5633.220.02n/a
test_gelu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5381.240.02n/a
test_gelu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5440.720.02n/a
test_gelu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5753.640.02n/a
iron/operators/gemm
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_gemm[M_192-K_384-N_64-num_aie_columns_4-b_col_maj_False-c_col_maj_False-m_48-k_96-n_16-trace_size_0-partition_N_1]✅ 5/5501.660.4619.65
test_gemm[M_192-K_384-N_64-num_aie_columns_4-b_col_maj_True-c_col_maj_True-m_48-k_96-n_16-trace_size_0-partition_N_1]✅ 5/5518.740.4418.59
test_gemm[M_2048-K_2048-N_2048-num_aie_columns_1-b_col_maj_False-c_col_maj_False-m_64-k_64-n_64-trace_size_0-partition_N_1]✅ 5/582620.940.30208.02
test_gemm[M_2048-K_2048-N_2048-num_aie_columns_2-b_col_maj_True-c_col_maj_False-m_64-k_64-n_64-trace_size_0-partition_N_1]✅ 5/525085.421.00684.99
test_gemm[M_384-K_1536-N_1792-num_aie_columns_4-b_col_maj_True-c_col_maj_False-m_32-k_48-n_64-trace_size_0-partition_N_1]✅ 5/54491.882.11554.36
test_gemm[M_64-K_512-N_256-num_aie_columns_4-b_col_maj_True-c_col_maj_False-m_16-k_64-n_64-trace_size_0-partition_N_4]✅ 5/56162.900.2111.16
iron/operators/gemv
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_gemv[M_128-K_128-num_aie_columns_1-tile_size_input_32-tile_size_output_128]✅ 5/5n/a0.090.09
test_gemv[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048]✅ 5/5n/a3.713.71
test_gemv[M_2048-K_8192-num_aie_columns_2-tile_size_input_1-tile_size_output_1024]✅ 5/5n/a6.176.17
test_gemv[M_2048-K_8192-num_aie_columns_4-tile_size_input_1-tile_size_output_512]✅ 5/5n/a9.529.51
test_gemv[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024]✅ 5/5n/a3.613.61
test_gemv[M_8192-K_2048-num_aie_columns_2-tile_size_input_4-tile_size_output_1024]✅ 5/5n/a6.836.82
test_gemv[M_8192-K_2048-num_aie_columns_4-tile_size_input_4-tile_size_output_1024]✅ 5/5n/a9.149.13
test_gemv_batched[M_1024-K_1024-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_2]✅ 5/5n/a1.791.78
test_gemv_batched[M_1026-K_64-num_aie_columns_1-tile_size_input_1-tile_size_output_2-num_batches_2]✅ 5/5n/a0.210.21
test_gemv_batched[M_256-K_128-num_aie_columns_1-tile_size_input_1-tile_size_output_256-num_batches_4]✅ 5/5n/a0.300.30
test_gemv_batched[M_64-K_1536-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_8]✅ 5/5n/a1.591.57
test_gemv_gelu[M_128-K_128-num_aie_columns_1-tile_size_input_32-tile_size_output_128]❌ 0/5n/an/an/a
test_gemv_gelu[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048]❌ 0/5n/an/an/a
test_gemv_gelu[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024]❌ 0/5n/an/an/a
iron/operators/layer_norm
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]✅ 5/5394.880.02n/a
test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5448.440.02n/a
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5433.660.02n/a
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5809.400.02n/a
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5520.700.02n/a
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5434.720.02n/a
iron/operators/leaky_relu
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.01]✅ 5/5410.480.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.1]✅ 5/5396.940.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.25]✅ 5/5406.980.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-alpha_0.01]✅ 5/5389.880.03n/a
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-alpha_0.01]✅ 5/5328.880.03n/a
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-alpha_0.01]✅ 5/5595.740.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-alpha_0.01]✅ 5/5340.280.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-alpha_0.01]✅ 5/5455.400.02n/a
iron/operators/mem_copy
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_mem_copy[input_length_2048-num_cores_1-num_channels_1-bypass_False-tile_size_2048]✅ 5/5272.100.03n/a
test_mem_copy[input_length_2048-num_cores_2-num_channels_1-bypass_False-tile_size_1024]✅ 5/5357.580.03n/a
test_mem_copy[input_length_2048-num_cores_2-num_channels_2-bypass_False-tile_size_1024]✅ 5/5450.300.02n/a
test_mem_copy[input_length_2048-num_cores_4-num_channels_1-bypass_False-tile_size_512]✅ 5/5390.700.02n/a
test_mem_copy[input_length_2048-num_cores_4-num_channels_2-bypass_False-tile_size_512]✅ 5/5364.300.03n/a
test_mem_copy[input_length_2048-num_cores_8-num_channels_2-bypass_False-tile_size_256]✅ 5/5732.200.02n/a
iron/operators/relu
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]✅ 5/5267.100.03n/a
test_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5373.060.02n/a
test_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5442.060.02n/a
test_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5408.640.02n/a
test_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5487.740.02n/a
test_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5488.720.02n/a
iron/operators/rms_norm
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_False]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_True]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_False]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_True]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_False]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_True]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_False]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_True]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_False]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_True]❌ 0/5n/an/an/a
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-weighted_False]❌ 0/5n/an/an/a
iron/operators/rope
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_1-method_type_0]✅ 5/5334.980.32n/a
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_2-method_type_0]✅ 5/5422.340.26n/a
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_4-method_type_0]✅ 5/5446.140.27n/a
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_1-method_type_0]✅ 5/5423.940.19n/a
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_2-method_type_0]✅ 5/5509.900.15n/a
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_4-method_type_0]✅ 5/5483.620.18n/a
iron/operators/sigmoid
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_sigmoid[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]✅ 5/5438.340.02n/a
test_sigmoid[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5358.540.03n/a
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5356.740.03n/a
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5469.900.02n/a
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5399.760.02n/a
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5466.640.02n/a
iron/operators/silu
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_silu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]✅ 5/5416.440.02n/a
test_silu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5457.740.02n/a
test_silu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5428.840.02n/a
iron/operators/softmax
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_1024]✅ 5/5449.060.32n/a
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_2048]✅ 5/5389.060.38n/a
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5391.660.39n/a
iron/operators/swiglu_decode
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_swiglu_decode[embedding_dim_1024-hidden_dim_3584]✅ 5/510393.990.00n/a
test_swiglu_decode[embedding_dim_2048-hidden_dim_2048]✅ 5/513872.400.00n/a
iron/operators/swiglu_prefill
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_swiglu_prefill[seq_len_256-embedding_dim_2048-hidden_dim_2048-prio_accuracy_False]✅ 5/521293.020.11n/a
iron/operators/tanh
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_tanh[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]✅ 5/5373.840.02n/a
test_tanh[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5303.520.03n/a
test_tanh[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5382.340.02n/a
test_tanh[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5451.260.02n/a
test_tanh[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5437.380.02n/a
test_tanh[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5387.060.02n/a
iron/operators/transpose
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_1]✅ 5/5568.161.01n/a
test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_2]✅ 5/51166.361.57n/a
test_transpose[M_2048-N_64-aie_columns_1-channels_2-m_64-n_64-s_8-num_batches_1]✅ 5/5633.141.05n/a

Trends:

IRON Trends

iron/operators/axpy

test_axpy[input_length_2048-num_aie_columns_1-tile_size_2048-scalar_factor_3.0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (+14.09%)0.04 (+4.91%)0.03 (-24.98%)0.02 (-0.60%)0.01 (+14.18%)611.00 (+0.61%)389.70 (-4.32%)394.10 (+33.32%)238.20 (-12.33%)154.45 (-6.82%)
cdc48e9 — 2026-08-03 16:32:080.05 (n/a)0.03 (n/a)0.04 (n/a)0.02 (n/a)0.01 (n/a)607.30 (n/a)407.28 (n/a)295.60 (n/a)271.70 (n/a)165.76 (n/a)

test_axpy[input_length_2048-num_aie_columns_2-tile_size_1024-scalar_factor_3.0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (-8.30%)0.04 (-9.27%)0.04 (-21.02%)0.03 (+36.18%)0.01 (-32.67%)426.70 (-26.57%)338.36 (+2.88%)333.70 (+26.59%)257.00 (+9.04%)74.89 (-48.07%)
cdc48e9 — 2026-08-03 16:32:080.05 (n/a)0.04 (n/a)0.05 (n/a)0.02 (n/a)0.01 (n/a)581.10 (n/a)328.90 (n/a)263.60 (n/a)235.70 (n/a)144.22 (n/a)

test_axpy[input_length_2048-num_aie_columns_4-tile_size_512-scalar_factor_3.0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.06 (+8.79%)0.03 (+4.35%)0.03 (-4.40%)0.01 (-39.33%)0.02 (+40.45%)1065.70 (+64.82%)508.96 (+14.97%)488.30 (+4.61%)220.40 (-8.09%)336.54 (+113.28%)
cdc48e9 — 2026-08-03 16:32:080.05 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)646.60 (n/a)442.68 (n/a)466.80 (n/a)239.80 (n/a)157.79 (n/a)
iron/operators/dequant

test_dequant[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-group_size_32]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (+4.07%)0.02 (+8.71%)0.02 (-7.67%)0.01 (+60.04%)0.01 (-17.24%)506.20 (-37.51%)347.04 (-19.94%)320.20 (+8.32%)195.20 (-3.94%)119.91 (-52.20%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)810.10 (n/a)433.48 (n/a)295.60 (n/a)203.20 (n/a)250.85 (n/a)

test_dequant[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-group_size_32]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.02 (-3.98%)0.01 (-22.63%)0.01 (-38.03%)0.01 (-27.52%)0.01 (+9.76%)616.70 (+37.96%)447.98 (+33.88%)486.80 (+61.41%)235.70 (+4.15%)141.72 (+41.93%)
cdc48e9 — 2026-08-03 16:32:080.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.00 (n/a)447.00 (n/a)334.62 (n/a)301.60 (n/a)226.30 (n/a)99.85 (n/a)

test_dequant[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-group_size_32]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.02 (+2.84%)0.01 (-18.66%)0.01 (-39.45%)0.01 (-17.12%)0.01 (+22.51%)598.50 (+20.67%)433.66 (+29.57%)480.10 (+65.15%)217.90 (-2.77%)154.32 (+39.67%)
cdc48e9 — 2026-08-03 16:32:080.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)496.00 (n/a)334.70 (n/a)290.70 (n/a)224.10 (n/a)110.49 (n/a)

test_dequant[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-group_size_32]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.02 (+5.96%)0.01 (-20.62%)0.01 (-36.28%)0.01 (-11.57%)0.00 (+11.67%)664.90 (+13.08%)481.44 (+28.00%)475.60 (+56.96%)270.00 (-5.63%)143.48 (+12.95%)
cdc48e9 — 2026-08-03 16:32:080.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.00 (n/a)588.00 (n/a)376.12 (n/a)303.00 (n/a)286.10 (n/a)127.02 (n/a)

test_dequant[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-group_size_32]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.02 (-5.80%)0.02 (-15.32%)0.01 (-31.09%)0.01 (-14.83%)0.01 (+34.65%)548.20 (+17.41%)395.88 (+26.54%)446.40 (+45.12%)235.40 (+6.18%)148.32 (+56.85%)
cdc48e9 — 2026-08-03 16:32:080.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.00 (n/a)466.90 (n/a)312.86 (n/a)307.60 (n/a)221.70 (n/a)94.56 (n/a)

test_dequant[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-group_size_32]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.02 (-3.64%)0.01 (-1.94%)0.01 (+7.46%)0.01 (-0.09%)0.00 (-13.14%)590.20 (+0.08%)418.00 (-0.30%)421.40 (-6.93%)253.80 (+3.80%)126.79 (-9.96%)
cdc48e9 — 2026-08-03 16:32:080.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)589.70 (n/a)419.24 (n/a)452.80 (n/a)244.50 (n/a)140.81 (n/a)
iron/operators/elementwise_add

test_elementwise_add[input_length_2048-num_aie_columns_1-tile_size_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (n/a)0.04 (n/a)0.04 (n/a)0.03 (n/a)0.01 (n/a)485.10 (n/a)348.22 (n/a)306.80 (n/a)234.20 (n/a)102.66 (n/a)

test_elementwise_add[input_length_2048-num_aie_columns_2-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.02 (n/a)1916.60 (n/a)692.68 (n/a)430.30 (n/a)233.20 (n/a)690.19 (n/a)

test_elementwise_add[input_length_2048-num_aie_columns_4-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (n/a)0.04 (n/a)0.04 (n/a)0.02 (n/a)0.01 (n/a)543.90 (n/a)376.78 (n/a)332.60 (n/a)236.40 (n/a)129.64 (n/a)
iron/operators/elementwise_mul

test_elementwise_mul[input_length_2048-num_aie_columns_1-tile_size_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (n/a)0.05 (n/a)0.05 (n/a)0.03 (n/a)0.01 (n/a)379.80 (n/a)270.14 (n/a)236.70 (n/a)227.50 (n/a)63.61 (n/a)

test_elementwise_mul[input_length_2048-num_aie_columns_2-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.05 (n/a)0.04 (n/a)0.05 (n/a)0.02 (n/a)0.01 (n/a)505.10 (n/a)324.34 (n/a)270.60 (n/a)224.70 (n/a)114.06 (n/a)

test_elementwise_mul[input_length_2048-num_aie_columns_4-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (n/a)0.03 (n/a)0.03 (n/a)0.03 (n/a)0.00 (n/a)429.60 (n/a)399.80 (n/a)418.50 (n/a)314.10 (n/a)48.26 (n/a)
iron/operators/gelu

test_gelu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)495.30 (n/a)351.12 (n/a)287.40 (n/a)242.00 (n/a)113.61 (n/a)

test_gelu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)605.20 (n/a)409.12 (n/a)462.20 (n/a)200.30 (n/a)180.03 (n/a)

test_gelu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (n/a)0.02 (n/a)0.03 (n/a)0.00 (n/a)0.01 (n/a)1917.40 (n/a)633.22 (n/a)298.10 (n/a)223.20 (n/a)725.58 (n/a)

test_gelu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)540.70 (n/a)381.24 (n/a)319.30 (n/a)262.40 (n/a)119.96 (n/a)

test_gelu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)635.80 (n/a)440.72 (n/a)460.30 (n/a)269.30 (n/a)154.02 (n/a)

test_gelu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)0.01 (n/a)1984.40 (n/a)753.64 (n/a)513.20 (n/a)240.80 (n/a)699.43 (n/a)
iron/operators/gemm

test_gemm[M_192-K_384-N_64-num_aie_columns_4-b_col_maj_False-c_col_maj_False-m_48-k_96-n_16-trace_size_0-partition_N_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.59 (+10.64%)0.46 (+11.85%)0.46 (+13.51%)0.31 (+10.91%)0.10 (+4.76%)710.60 (-9.83%)501.66 (-10.94%)477.50 (-11.90%)377.50 (-9.62%)125.77 (-12.34%)25.00 (+10.64%)19.65 (+11.85%)19.76 (+13.51%)13.28 (+10.91%)4.27 (+4.76%)
cdc48e9 — 2026-08-03 16:32:080.53 (n/a)0.41 (n/a)0.41 (n/a)0.28 (n/a)0.10 (n/a)788.10 (n/a)563.26 (n/a)542.00 (n/a)417.70 (n/a)143.47 (n/a)22.60 (n/a)17.57 (n/a)17.41 (n/a)11.97 (n/a)4.07 (n/a)

test_gemm[M_192-K_384-N_64-num_aie_columns_4-b_col_maj_True-c_col_maj_True-m_48-k_96-n_16-trace_size_0-partition_N_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.48 (+0.20%)0.44 (+13.12%)0.47 (+31.96%)0.32 (+14.73%)0.06 (-24.29%)683.40 (-12.84%)518.74 (-13.21%)474.50 (-24.21%)461.20 (-0.19%)93.50 (-30.23%)20.46 (+0.20%)18.59 (+13.12%)19.89 (+31.96%)13.81 (+14.73%)2.75 (-24.29%)
cdc48e9 — 2026-08-03 16:32:080.48 (n/a)0.39 (n/a)0.35 (n/a)0.28 (n/a)0.09 (n/a)784.10 (n/a)597.72 (n/a)626.10 (n/a)462.10 (n/a)134.02 (n/a)20.42 (n/a)16.43 (n/a)15.07 (n/a)12.04 (n/a)3.64 (n/a)

test_gemm[M_2048-K_2048-N_2048-num_aie_columns_1-b_col_maj_False-c_col_maj_False-m_64-k_64-n_64-trace_size_0-partition_N_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.31 (+2.36%)0.30 (-0.15%)0.31 (+0.11%)0.30 (-2.13%)0.01 (+274.04%)85168.30 (+2.18%)82620.94 (+0.19%)82194.90 (-0.11%)80225.10 (-2.30%)1872.07 (+273.33%)214.15 (+2.36%)208.02 (-0.15%)209.01 (+0.11%)201.72 (-2.13%)4.70 (+274.04%)
cdc48e9 — 2026-08-03 16:32:080.31 (n/a)0.31 (n/a)0.31 (n/a)0.30 (n/a)0.00 (n/a)83350.90 (n/a)82467.46 (n/a)82282.50 (n/a)82115.60 (n/a)501.45 (n/a)209.22 (n/a)208.33 (n/a)208.79 (n/a)206.12 (n/a)1.26 (n/a)

test_gemm[M_2048-K_2048-N_2048-num_aie_columns_2-b_col_maj_True-c_col_maj_False-m_64-k_64-n_64-trace_size_0-partition_N_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:371.02 (+0.02%)1.00 (+0.30%)1.01 (+0.35%)0.98 (+2.77%)0.02 (-38.26%)25609.70 (-2.70%)25085.42 (-0.33%)24876.60 (-0.35%)24693.00 (-0.02%)395.33 (-40.12%)695.74 (+0.02%)684.99 (+0.30%)690.60 (+0.35%)670.84 (+2.77%)10.73 (-38.26%)
cdc48e9 — 2026-08-03 16:32:081.02 (n/a)1.00 (n/a)1.01 (n/a)0.96 (n/a)0.03 (n/a)26319.80 (n/a)25168.86 (n/a)24964.50 (n/a)24697.80 (n/a)660.22 (n/a)695.60 (n/a)682.95 (n/a)688.17 (n/a)652.74 (n/a)17.38 (n/a)

test_gemm[M_384-K_1536-N_1792-num_aie_columns_4-b_col_maj_True-c_col_maj_False-m_32-k_48-n_64-trace_size_0-partition_N_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:374.08 (+6.73%)2.11 (-10.96%)1.71 (-16.23%)1.28 (-16.02%)1.14 (+25.15%)6311.00 (+19.07%)4491.88 (+19.57%)4723.70 (+19.38%)1973.40 (-6.31%)1655.02 (+35.03%)1071.20 (+6.73%)554.36 (-10.96%)447.52 (-16.23%)334.96 (-16.02%)298.17 (+25.15%)
cdc48e9 — 2026-08-03 16:32:083.83 (n/a)2.37 (n/a)2.04 (n/a)1.52 (n/a)0.91 (n/a)5300.10 (n/a)3756.70 (n/a)3956.90 (n/a)2106.20 (n/a)1225.67 (n/a)1003.68 (n/a)622.60 (n/a)534.24 (n/a)398.85 (n/a)238.25 (n/a)

test_gemm[M_64-K_512-N_256-num_aie_columns_4-b_col_maj_True-c_col_maj_False-m_16-k_64-n_64-trace_size_0-partition_N_4]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.26 (-12.78%)0.21 (-2.51%)0.20 (+0.91%)0.17 (-5.70%)0.04 (-23.29%)7385.20 (+6.05%)6162.90 (+1.70%)6285.90 (-0.90%)4793.70 (+14.66%)1058.55 (-3.39%)14.00 (-12.78%)11.16 (-2.51%)10.68 (+0.91%)9.09 (-5.70%)2.01 (-23.29%)
cdc48e9 — 2026-08-03 16:32:080.30 (n/a)0.21 (n/a)0.20 (n/a)0.18 (n/a)0.05 (n/a)6964.20 (n/a)6059.96 (n/a)6342.80 (n/a)4180.90 (n/a)1095.64 (n/a)16.05 (n/a)11.45 (n/a)10.58 (n/a)9.64 (n/a)2.62 (n/a)
iron/operators/gemv

test_gemv[M_128-K_128-num_aie_columns_1-tile_size_input_32-tile_size_output_128]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.12 (n/a)0.09 (n/a)0.08 (n/a)0.06 (n/a)0.03 (n/a)0.12 (n/a)0.09 (n/a)0.08 (n/a)0.06 (n/a)0.03 (n/a)

test_gemv[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:373.89 (n/a)3.71 (n/a)3.76 (n/a)3.49 (n/a)0.16 (n/a)3.89 (n/a)3.71 (n/a)3.76 (n/a)3.49 (n/a)0.16 (n/a)

test_gemv[M_2048-K_8192-num_aie_columns_2-tile_size_input_1-tile_size_output_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:377.57 (+33.64%)6.17 (+18.36%)5.94 (+12.50%)4.63 (-2.57%)1.17 (+163.92%)7.57 (+33.64%)6.17 (+18.36%)5.94 (+12.50%)4.63 (-2.57%)1.16 (+163.92%)
cdc48e9 — 2026-08-03 16:32:085.67 (n/a)5.22 (n/a)5.28 (n/a)4.75 (n/a)0.44 (n/a)5.66 (n/a)5.21 (n/a)5.28 (n/a)4.75 (n/a)0.44 (n/a)

test_gemv[M_2048-K_8192-num_aie_columns_4-tile_size_input_1-tile_size_output_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:3711.19 (-13.36%)9.52 (-3.91%)9.59 (-3.61%)8.25 (+28.63%)1.20 (-51.86%)11.19 (-13.36%)9.51 (-3.91%)9.59 (-3.61%)8.24 (+28.63%)1.20 (-51.86%)
cdc48e9 — 2026-08-03 16:32:0812.92 (n/a)9.90 (n/a)9.95 (n/a)6.41 (n/a)2.49 (n/a)12.91 (n/a)9.90 (n/a)9.95 (n/a)6.41 (n/a)2.49 (n/a)

test_gemv[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:373.81 (n/a)3.61 (n/a)3.51 (n/a)3.43 (n/a)0.18 (n/a)3.81 (n/a)3.61 (n/a)3.51 (n/a)3.42 (n/a)0.18 (n/a)

test_gemv[M_8192-K_2048-num_aie_columns_2-tile_size_input_4-tile_size_output_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:377.47 (-1.12%)6.83 (-1.16%)6.86 (-0.14%)6.11 (+1.18%)0.62 (-3.67%)7.47 (-1.12%)6.82 (-1.16%)6.86 (-0.14%)6.11 (+1.18%)0.62 (-3.67%)
cdc48e9 — 2026-08-03 16:32:087.56 (n/a)6.91 (n/a)6.87 (n/a)6.04 (n/a)0.65 (n/a)7.55 (n/a)6.90 (n/a)6.87 (n/a)6.03 (n/a)0.65 (n/a)

test_gemv[M_8192-K_2048-num_aie_columns_4-tile_size_input_4-tile_size_output_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:3712.77 (-8.08%)9.14 (-25.56%)8.55 (-31.76%)7.45 (-21.64%)2.08 (+14.68%)12.76 (-8.08%)9.13 (-25.56%)8.54 (-31.76%)7.45 (-21.64%)2.08 (+14.68%)
cdc48e9 — 2026-08-03 16:32:0813.89 (n/a)12.27 (n/a)12.52 (n/a)9.51 (n/a)1.82 (n/a)13.89 (n/a)12.27 (n/a)12.52 (n/a)9.50 (n/a)1.82 (n/a)

test_gemv_batched[M_1024-K_1024-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_2]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:372.84 (+2.87%)1.79 (+21.36%)1.24 (-0.93%)1.01 (+4.22%)0.91 (+24.10%)2.84 (+2.87%)1.78 (+21.36%)1.24 (-0.93%)1.01 (+4.22%)0.91 (+24.10%)
cdc48e9 — 2026-08-03 16:32:082.76 (n/a)1.47 (n/a)1.25 (n/a)0.97 (n/a)0.73 (n/a)2.76 (n/a)1.47 (n/a)1.25 (n/a)0.97 (n/a)0.73 (n/a)

test_gemv_batched[M_1026-K_64-num_aie_columns_1-tile_size_input_1-tile_size_output_2-num_batches_2]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.34 (-26.33%)0.21 (-7.39%)0.26 (+42.48%)0.08 (+2.04%)0.11 (-35.81%)0.33 (-26.33%)0.21 (-7.39%)0.26 (+42.48%)0.07 (+2.04%)0.11 (-35.81%)
cdc48e9 — 2026-08-03 16:32:080.45 (n/a)0.23 (n/a)0.18 (n/a)0.07 (n/a)0.17 (n/a)0.45 (n/a)0.22 (n/a)0.18 (n/a)0.07 (n/a)0.17 (n/a)

test_gemv_batched[M_256-K_128-num_aie_columns_1-tile_size_input_1-tile_size_output_256-num_batches_4]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:370.68 (+56.13%)0.30 (+0.47%)0.27 (-3.70%)0.08 (-3.37%)0.24 (+61.63%)0.67 (+56.13%)0.30 (+0.47%)0.27 (-3.70%)0.08 (-3.37%)0.23 (+61.63%)
cdc48e9 — 2026-08-03 16:32:080.44 (n/a)0.30 (n/a)0.29 (n/a)0.08 (n/a)0.15 (n/a)0.43 (n/a)0.30 (n/a)0.28 (n/a)0.08 (n/a)0.14 (n/a)

test_gemv_batched[M_64-K_1536-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_8]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Throughput (max)Throughput (mean)Throughput (median)Throughput (min)Throughput (stddev)
0e9b53e — 2026-08-14 17:38:372.21 (-27.04%)1.59 (-16.79%)1.73 (-5.61%)0.74 (-28.26%)0.54 (-24.42%)2.18 (-27.04%)1.57 (-16.79%)1.70 (-5.61%)0.72 (-28.26%)0.53 (-24.42%)
cdc48e9 — 2026-08-03 16:32:083.03 (n/a)1.91 (n/a)1.84 (n/a)1.03 (n/a)0.72 (n/a)2.98 (n/a)1.88 (n/a)1.81 (n/a)1.01 (n/a)0.71 (n/a)

test_gemv_gelu[M_128-K_128-num_aie_columns_1-tile_size_input_32-tile_size_output_128]

No metrics available.

test_gemv_gelu[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048]

No metrics available.

test_gemv_gelu[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024]

No metrics available.

iron/operators/layer_norm

test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)488.50 (n/a)394.88 (n/a)448.20 (n/a)252.40 (n/a)107.02 (n/a)

test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)581.20 (n/a)448.44 (n/a)479.50 (n/a)267.90 (n/a)122.51 (n/a)

test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)510.90 (n/a)433.66 (n/a)478.90 (n/a)270.50 (n/a)95.80 (n/a)

test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)0.01 (n/a)1979.90 (n/a)809.40 (n/a)532.30 (n/a)229.40 (n/a)731.57 (n/a)

test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)1007.90 (n/a)520.70 (n/a)430.90 (n/a)290.80 (n/a)289.38 (n/a)

test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)555.70 (n/a)434.72 (n/a)545.00 (n/a)208.80 (n/a)161.75 (n/a)
iron/operators/leaky_relu

test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.01]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (+23.39%)0.02 (+24.18%)0.02 (+31.59%)0.01 (-7.33%)0.01 (+35.71%)683.10 (+7.91%)410.48 (-16.04%)408.10 (-24.00%)242.80 (-18.96%)176.65 (+11.70%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)633.00 (n/a)488.92 (n/a)537.00 (n/a)299.60 (n/a)158.15 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (-4.23%)0.02 (-21.60%)0.02 (-37.76%)0.01 (-6.57%)0.01 (+1.11%)585.40 (+7.02%)396.94 (+28.29%)409.90 (+60.68%)224.60 (+4.42%)143.66 (+5.57%)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)547.00 (n/a)309.42 (n/a)255.10 (n/a)215.10 (n/a)136.08 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.25]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (+1.34%)0.02 (-17.36%)0.02 (-42.97%)0.01 (-27.25%)0.01 (+49.16%)550.30 (+37.44%)406.98 (+32.76%)459.80 (+75.36%)234.80 (-1.30%)157.99 (+96.08%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)400.40 (n/a)306.56 (n/a)262.20 (n/a)237.90 (n/a)80.57 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-alpha_0.01]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (-2.04%)0.03 (+0.81%)0.03 (+13.05%)0.01 (-25.28%)0.01 (+41.21%)642.20 (+33.85%)389.88 (+12.14%)253.10 (-11.53%)230.80 (+2.12%)207.38 (+79.47%)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)479.80 (n/a)347.66 (n/a)286.10 (n/a)226.00 (n/a)115.56 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-alpha_0.01]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (-14.29%)0.03 (-3.04%)0.03 (+7.88%)0.02 (+5.25%)0.01 (-30.59%)436.70 (-4.98%)328.88 (-1.30%)278.70 (-7.32%)260.50 (+16.66%)85.27 (-25.46%)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)459.60 (n/a)333.20 (n/a)300.70 (n/a)223.30 (n/a)114.40 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-alpha_0.01]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (-6.40%)0.02 (-16.93%)0.01 (+2.28%)0.01 (-7.11%)0.01 (-23.71%)1078.00 (+7.66%)595.74 (+12.27%)550.60 (-2.22%)274.50 (+6.81%)294.16 (-3.00%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)1001.30 (n/a)530.62 (n/a)563.10 (n/a)257.00 (n/a)303.27 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-alpha_0.01]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (+3.82%)0.02 (+16.09%)0.03 (+20.47%)0.02 (+45.57%)0.00 (-30.59%)417.60 (-31.29%)340.28 (-18.60%)318.60 (-17.01%)275.90 (-3.67%)66.39 (-52.43%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)607.80 (n/a)418.02 (n/a)383.90 (n/a)286.40 (n/a)139.56 (n/a)

test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-alpha_0.01]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (-4.60%)0.02 (+5.69%)0.02 (+21.54%)0.01 (-13.70%)0.01 (+6.81%)782.70 (+15.89%)455.40 (-1.49%)398.20 (-17.73%)272.80 (+4.84%)205.83 (+33.24%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)675.40 (n/a)462.30 (n/a)484.00 (n/a)260.20 (n/a)154.49 (n/a)
iron/operators/mem_copy

test_mem_copy[input_length_2048-num_cores_1-num_channels_1-bypass_False-tile_size_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (-24.01%)0.03 (+23.40%)0.03 (+56.36%)0.03 (+567.19%)0.00 (-84.18%)296.30 (-85.01%)272.10 (-58.19%)270.80 (-36.04%)244.90 (+31.60%)22.42 (-97.01%)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)0.02 (n/a)1977.00 (n/a)650.86 (n/a)423.40 (n/a)186.10 (n/a)750.31 (n/a)

test_mem_copy[input_length_2048-num_cores_2-num_channels_1-bypass_False-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (+7.95%)0.03 (+10.37%)0.02 (-0.41%)0.02 (+33.54%)0.01 (-12.04%)450.80 (-25.13%)357.58 (-15.21%)417.60 (+0.41%)223.40 (-7.38%)109.48 (-37.92%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)602.10 (n/a)421.72 (n/a)415.90 (n/a)241.20 (n/a)176.36 (n/a)

test_mem_copy[input_length_2048-num_cores_2-num_channels_2-bypass_False-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (+21.30%)0.02 (+2.93%)0.02 (-7.77%)0.01 (-5.62%)0.01 (+50.26%)582.10 (+5.95%)450.30 (+3.83%)471.90 (+8.43%)207.60 (-17.55%)149.15 (+32.61%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)549.40 (n/a)433.68 (n/a)435.20 (n/a)251.80 (n/a)112.47 (n/a)

test_mem_copy[input_length_2048-num_cores_4-num_channels_1-bypass_False-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (+1.45%)0.02 (+0.95%)0.02 (+31.48%)0.01 (-3.34%)0.01 (-13.29%)573.40 (+3.46%)390.70 (-3.55%)354.50 (-23.93%)232.80 (-1.44%)143.99 (-6.18%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)554.20 (n/a)405.06 (n/a)466.00 (n/a)236.20 (n/a)153.47 (n/a)

test_mem_copy[input_length_2048-num_cores_4-num_channels_2-bypass_False-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.04 (+42.67%)0.03 (+11.71%)0.02 (-11.77%)0.02 (+13.66%)0.01 (+61.12%)522.80 (-12.02%)364.30 (-6.28%)368.00 (+13.37%)202.30 (-29.90%)134.34 (+2.47%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)594.20 (n/a)388.70 (n/a)324.60 (n/a)288.60 (n/a)131.10 (n/a)

test_mem_copy[input_length_2048-num_cores_8-num_channels_2-bypass_False-tile_size_256]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.03 (-1.65%)0.02 (-11.30%)0.02 (+34.38%)0.00 (-62.46%)0.01 (+5.16%)1920.10 (+166.38%)732.20 (+47.35%)432.10 (-25.58%)289.50 (+1.65%)673.10 (+243.82%)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)720.80 (n/a)496.92 (n/a)580.60 (n/a)284.80 (n/a)195.77 (n/a)
iron/operators/rms_norm

test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)583.40 (n/a)404.30 (n/a)392.90 (n/a)261.60 (n/a)144.43 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_True]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.05 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)693.60 (n/a)501.36 (n/a)499.80 (n/a)269.50 (n/a)152.43 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)550.30 (n/a)422.88 (n/a)449.30 (n/a)272.10 (n/a)129.54 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_True]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)572.50 (n/a)415.56 (n/a)434.90 (n/a)289.30 (n/a)108.25 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)628.90 (n/a)377.14 (n/a)290.60 (n/a)219.10 (n/a)167.00 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_True]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)2018.00 (n/a)810.12 (n/a)606.90 (n/a)261.90 (n/a)690.59 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)536.20 (n/a)323.00 (n/a)274.20 (n/a)215.30 (n/a)128.08 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_True]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)626.10 (n/a)395.70 (n/a)317.00 (n/a)205.10 (n/a)181.28 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)614.70 (n/a)463.90 (n/a)524.80 (n/a)226.50 (n/a)158.65 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_True]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.04 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)563.10 (n/a)390.46 (n/a)405.80 (n/a)246.10 (n/a)133.62 (n/a)

test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-weighted_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:37n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)n/a (n/a)
cdc48e9 — 2026-08-03 16:32:080.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)886.20 (n/a)540.54 (n/a)517.80 (n/a)235.40 (n/a)236.94 (n/a)
iron/operators/rope

test_rope[rows_32-cols_512-angle_rows_32-aie_columns_1-method_type_0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.46 (+28.50%)0.32 (+18.01%)0.32 (-5.78%)0.18 (+15.46%)0.10 (-5.28%)545.30 (-13.39%)334.98 (-19.95%)306.60 (+6.13%)213.50 (-22.19%)124.19 (-33.50%)
cdc48e9 — 2026-08-03 16:32:080.36 (n/a)0.27 (n/a)0.34 (n/a)0.16 (n/a)0.10 (n/a)629.60 (n/a)418.44 (n/a)288.90 (n/a)274.40 (n/a)186.73 (n/a)

test_rope[rows_32-cols_512-angle_rows_32-aie_columns_2-method_type_0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.42 (-11.77%)0.26 (-19.80%)0.20 (-43.48%)0.17 (-14.45%)0.11 (-12.62%)589.80 (+16.88%)422.34 (+23.76%)486.50 (+76.91%)234.60 (+13.33%)146.47 (+7.75%)
cdc48e9 — 2026-08-03 16:32:080.47 (n/a)0.33 (n/a)0.36 (n/a)0.19 (n/a)0.12 (n/a)504.60 (n/a)341.26 (n/a)275.00 (n/a)207.00 (n/a)135.94 (n/a)

test_rope[rows_32-cols_512-angle_rows_32-aie_columns_4-method_type_0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.51 (+42.27%)0.27 (+12.05%)0.20 (+5.19%)0.15 (-8.54%)0.15 (+65.57%)656.30 (+9.35%)446.14 (-0.92%)487.00 (-4.94%)194.00 (-29.71%)198.64 (+31.51%)
cdc48e9 — 2026-08-03 16:32:080.36 (n/a)0.24 (n/a)0.19 (n/a)0.16 (n/a)0.09 (n/a)600.20 (n/a)450.26 (n/a)512.30 (n/a)276.00 (n/a)151.05 (n/a)

test_rope[rows_32-cols_512-angle_rows_8-aie_columns_1-method_type_0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.27 (-7.29%)0.19 (+4.12%)0.16 (+6.26%)0.13 (+20.67%)0.06 (-29.03%)582.10 (-17.13%)423.94 (-12.21%)464.50 (-5.90%)276.10 (+7.85%)125.01 (-38.83%)
cdc48e9 — 2026-08-03 16:32:080.29 (n/a)0.18 (n/a)0.15 (n/a)0.10 (n/a)0.08 (n/a)702.40 (n/a)482.92 (n/a)493.60 (n/a)256.00 (n/a)204.36 (n/a)

test_rope[rows_32-cols_512-angle_rows_8-aie_columns_2-method_type_0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.24 (-16.93%)0.15 (-18.77%)0.15 (+1.98%)0.11 (-13.38%)0.05 (-31.44%)658.90 (+15.45%)509.90 (+18.49%)500.50 (-1.94%)309.20 (+20.40%)135.81 (-5.89%)
cdc48e9 — 2026-08-03 16:32:080.29 (n/a)0.19 (n/a)0.14 (n/a)0.13 (n/a)0.07 (n/a)570.70 (n/a)430.32 (n/a)510.40 (n/a)256.80 (n/a)144.31 (n/a)

test_rope[rows_32-cols_512-angle_rows_8-aie_columns_4-method_type_0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.31 (+0.84%)0.18 (-11.74%)0.15 (-13.34%)0.11 (-30.26%)0.08 (+39.67%)679.20 (+43.38%)483.62 (+24.88%)490.10 (+15.40%)241.50 (-0.82%)190.19 (+115.07%)
cdc48e9 — 2026-08-03 16:32:080.30 (n/a)0.20 (n/a)0.17 (n/a)0.16 (n/a)0.06 (n/a)473.70 (n/a)387.28 (n/a)424.70 (n/a)243.50 (n/a)88.43 (n/a)
iron/operators/softmax

test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_1024]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.46 (-10.23%)0.32 (-15.21%)0.26 (-32.11%)0.22 (-7.51%)0.11 (-13.99%)587.30 (+8.12%)449.06 (+16.57%)508.20 (+47.30%)283.30 (+11.40%)133.96 (+0.95%)
cdc48e9 — 2026-08-03 16:32:080.52 (n/a)0.37 (n/a)0.38 (n/a)0.24 (n/a)0.12 (n/a)543.20 (n/a)385.22 (n/a)345.00 (n/a)254.30 (n/a)132.70 (n/a)

test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.53 (+109.64%)0.38 (+59.65%)0.43 (+73.63%)0.24 (+13.49%)0.13 (+596.59%)551.80 (-11.88%)389.06 (-30.40%)308.30 (-42.41%)245.80 (-52.30%)147.36 (+215.89%)
cdc48e9 — 2026-08-03 16:32:080.25 (n/a)0.24 (n/a)0.24 (n/a)0.21 (n/a)0.02 (n/a)626.20 (n/a)559.00 (n/a)535.30 (n/a)515.30 (n/a)46.65 (n/a)

test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_512]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.61 (+18.30%)0.39 (+90.63%)0.38 (+113.46%)0.20 (+204.35%)0.16 (-13.89%)660.40 (-67.14%)391.66 (-65.10%)348.10 (-53.16%)214.40 (-15.46%)173.90 (-78.03%)
cdc48e9 — 2026-08-03 16:32:080.52 (n/a)0.20 (n/a)0.18 (n/a)0.07 (n/a)0.18 (n/a)2009.90 (n/a)1122.34 (n/a)743.10 (n/a)253.60 (n/a)791.49 (n/a)
iron/operators/swiglu_decode

test_swiglu_decode[embedding_dim_1024-hidden_dim_3584]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.00 (+66.67%)0.00 (+100.00%)0.00 (+150.00%)0.00 (+0.00%)0.00 (+200.00%)18375.59 (-5.75%)10393.99 (-42.58%)8393.70 (-53.93%)8152.47 (-50.23%)4466.65 (+266.05%)
cdc48e9 — 2026-08-03 16:32:080.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)19497.20 (n/a)18101.11 (n/a)18219.31 (n/a)16380.05 (n/a)1220.24 (n/a)

test_swiglu_decode[embedding_dim_2048-hidden_dim_2048]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.00 (+8.33%)0.00 (+37.93%)0.00 (+100.00%)0.00 (+0.00%)0.00 (+16.30%)22659.16 (-1.40%)13872.40 (-18.96%)10614.63 (-43.92%)6402.93 (-5.79%)8030.11 (+26.76%)
cdc48e9 — 2026-08-03 16:32:080.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)22980.49 (n/a)17117.16 (n/a)18929.10 (n/a)6796.32 (n/a)6335.01 (n/a)
iron/operators/swiglu_prefill

test_swiglu_prefill[seq_len_256-embedding_dim_2048-hidden_dim_2048-prio_accuracy_False]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:370.14 (+2.96%)0.11 (+6.38%)0.11 (+16.92%)0.08 (+1.34%)0.03 (+14.28%)27810.13 (-1.34%)21293.02 (-4.72%)19832.10 (-14.56%)15443.90 (-2.88%)6173.77 (+10.96%)
cdc48e9 — 2026-08-03 16:32:080.13 (n/a)0.10 (n/a)0.09 (n/a)0.07 (n/a)0.03 (n/a)28189.10 (n/a)22347.59 (n/a)23211.24 (n/a)15901.35 (n/a)5564.14 (n/a)
iron/operators/transpose

test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:371.48 (-15.61%)1.01 (-9.93%)1.00 (+6.11%)0.62 (-13.30%)0.33 (-26.78%)839.80 (+15.34%)568.16 (+7.45%)525.70 (-5.75%)354.30 (+18.49%)188.42 (-0.74%)
cdc48e9 — 2026-08-03 16:32:081.75 (n/a)1.12 (n/a)0.94 (n/a)0.72 (n/a)0.45 (n/a)728.10 (n/a)528.78 (n/a)557.80 (n/a)299.00 (n/a)189.82 (n/a)

test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_2]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:372.49 (-9.30%)1.57 (-17.48%)1.62 (+5.23%)0.31 (-75.51%)0.89 (+34.53%)3386.40 (+308.39%)1166.36 (+93.55%)645.90 (-4.97%)420.50 (+10.25%)1257.18 (+552.07%)
cdc48e9 — 2026-08-03 16:32:082.75 (n/a)1.91 (n/a)1.54 (n/a)1.26 (n/a)0.66 (n/a)829.20 (n/a)602.60 (n/a)679.70 (n/a)381.40 (n/a)192.80 (n/a)

test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
4bb8427 — 2026-06-25 20:01:371.58 (-2.67%)1.21 (+5.65%)1.29 (+41.89%)0.66 (-20.05%)0.38 (-2.53%)792.90 (+25.08%)479.12 (-3.80%)406.80 (-29.52%)331.10 (+2.76%)189.18 (+26.62%)
4bb8427 — 2026-06-23 22:46:491.63 (n/a)1.14 (n/a)0.91 (n/a)0.83 (n/a)0.38 (n/a)633.90 (n/a)498.02 (n/a)577.20 (n/a)322.20 (n/a)149.40 (n/a)

test_transpose[M_2048-N_64-aie_columns_1-channels_2-m_64-n_64-s_8-num_batches_1]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
0e9b53e — 2026-08-14 17:38:371.88 (+6.43%)1.05 (-1.78%)1.04 (+11.69%)0.41 (-47.99%)0.54 (+35.34%)1271.90 (+92.28%)633.14 (+19.43%)502.90 (-10.47%)278.90 (-6.06%)379.55 (+169.66%)
cdc48e9 — 2026-08-03 16:32:081.77 (n/a)1.07 (n/a)0.93 (n/a)0.79 (n/a)0.40 (n/a)661.50 (n/a)530.14 (n/a)561.70 (n/a)296.90 (n/a)140.75 (n/a)

test_transpose[M_2048-N_64-aie_columns_1-channels_2-m_64-n_64-s_8]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
4bb8427 — 2026-06-25 20:01:371.75 (-15.44%)1.32 (-0.50%)1.36 (+22.47%)0.77 (-19.20%)0.36 (-21.75%)678.10 (+23.76%)430.02 (-0.09%)385.10 (-18.34%)300.10 (+18.29%)146.96 (+19.46%)
4bb8427 — 2026-06-23 22:46:492.07 (n/a)1.32 (n/a)1.11 (n/a)0.96 (n/a)0.46 (n/a)547.90 (n/a)430.40 (n/a)471.60 (n/a)253.70 (n/a)123.02 (n/a)
Phoenix - Examples

IRON

Tested on 2026_08_14_17_44_51 at commit 0e9b53e.

Trends:

IRON Trends

Replaces the hand-built clang++/xchesscc invocation in
KernelCompilationRule.compile() with aie.utils.compile.utils's
compile_cxx_core_function(), wrapped in PythonCallbackCompilationCommand
(which exists precisely for this: an arbitrary Python callable deferred
into the same plan/execute contract as ShellCompilationCommand).

This looked architecturally blocked at first (IRON's compile() methods
return commands for a separate execute() step, while upstream's function
runs synchronously), but IRON's execute() is already fully sequential in
Python -- the only real parallelism is aiecc's own internal -j flag inside
a single invocation, which is unaffected here since this rule only compiles
individual kernel objects, not the aiecc/xclbin step. Nothing is lost by
switching to a blocking call under a deferred wrapper.

peano_dir/mlir_aie_dir were already always sourced from
aie.utils.config.peano_install_dir()/root_path() (iron/common/context.py),
the same config module the upstream function reads internally, so there's
no override capability to lose. xchesscc_wrapper resolves via `shutil.which`
upstream instead of an absolute path IRON constructed itself, but the wheel
install puts it on PATH (ironenv/bin/xchesscc_wrapper), so this is a
non-issue in the standard install.

-Wno-missing-template-arg-list-after-template-kw is kept as an IRON-side
extra flag (Peano-only, matching prior behavior) since it's specific to our
kernel sources and upstream's default flag list doesn't include it.

Symbol renaming/prefixing for operator fusion (_rename_symbols/
_prefix_symbols) stays IRON-side; upstream has no equivalent multi-symbol
bulk-prefix operation.

Verified: 146/146 fast + 2830/2830 extensive operator tests pass on NPU2
hardware, including a from-scratch rebuild (rm -rf build/) to exercise every
kernel compile through the new path. The use_chess=True path is unexercised
by any test (also true before this change).

Co-Authored-By: Claude <noreply@anthropic.com>
@hunhoffe hunhoffe changed the title Update mlir-aie to latest nightly (1.4.2.dev12) and reduce IRON/mlir-aie duplication [WIP] Update mlir-aie to latest nightly (1.4.2.dev12) and reduce IRON/mlir-aie duplication Aug 14, 2026
Replaces the hand-built aiecc invocation in AieccXclbinInstsCompilationRule
and AieccFullElfCompilationRule with aie.utils.compile.utils's
compile_mlir_module(), wrapped in PythonCallbackCompilationCommand (same
pattern as the prior KernelCompilationRule change).

Two real gaps had to be worked around, not just papered over:

- compile_mlir_module() always names its own copy of the MLIR source
  "aie.mlir" inside a work_dir it controls, rather than accepting an existing
  file path. IRON's build previously kept every artifact's .mlir file (and
  aiecc's ".prj" companion) at a distinctive flat filename in one shared
  build/ directory. Introduced _aiecc_work_dir(), giving each MLIR source its
  own "<name>.mlir.d/" subdirectory, and updated the one place that depended
  on the old "<name>.mlir.prj" convention (OperatorSequence's params.txt
  lookup in sequence.py) to derive the new path the same way.

- aiecc resolves an MLIR module's relative kernel-object references (e.g.
  link_with = "axpy.o") against that work_dir, not against the flat build_dir
  where KernelCompilationRule/ArchiveCompilationRule actually produced them.
  Added _link_build_outputs_into() to symlink the build directory's existing
  outputs into each artifact's work_dir before compiling, rather than
  reworking where kernel objects get built.

Known, accepted regression: compile_mlir_module() resolves aiecc via
aie.utils.compile.utils's own config.aiecc_path(), which does not honor the
AIECC_PATH env var IRON previously supported for pointing a build at a
locally-built aiecc without reinstalling the wheel. No test exercises this,
but it's a real dev-workflow feature being dropped, not just an implementation
detail.

peano_dir/mlir_aie_dir/build_dir are no longer threaded into
AieccCompilationRule's constructor (dead after this change), simplifying the
context.py call sites accordingly.

Verified: 146/146 fast + 2830/2830 extensive operator tests pass on NPU2
hardware, from a clean build/ (rm -rf) to exercise every aiecc invocation
through the new path, and again from a warm cache.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants