Skip to content

Scope kernel objects to build_dir/<arch>, fixing aie2/aie2p reuse - #166

Merged
andrej merged 2 commits into
amd:develfrom
atassis:iron-kernel-obj-arch
Sep 2, 2026
Merged

Scope kernel objects to build_dir/<arch>, fixing aie2/aie2p reuse#166
andrej merged 2 commits into
amd:develfrom
atassis:iron-kernel-obj-arch

Conversation

@atassis

@atassis atassis commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Problem

KernelCompilationRule.compile() (iron/common/compilation/base.py) passes a
different --target and aie_runtime_lib include path per arch, but the
output filename it writes to is f"{kernel_name}.o" with no arch component,
and build_dir is one directory for every target
(iron/common/context.py:29). For the 9 aie_kernels/generic/ kernels the
same source compiles to different machine code per arch (measured:
generic/mul.cc gives ELF flags 0x2/1568 B under --target=aie2 and
0x3/1488 B under aie2p, different sha256). CompilationArtifact.is_available_in_filesystem
only compares mtimes and never records which arch an object was built for, so
a shared path lets one arch's build silently hand its object to the other.
This produced 75 bogus ElementwiseMul failures when an npu1 (aie2) run's
mul.o was reused by the following npu2 (aie2p) run in the same build/;
rms_norm's weighted path links generic/mul.cc the same way. 11 more
kernels (gelu, rms_norm, softmax, ...) exist as different sources under
both aie_kernels/aie2/ and aie_kernels/aie2p/ and collide the same way for
the ordinary reason that a freshly-built object is newer than either source.

Separately, dequant names its object f"expand_aie2_{tile_size}.o"
(design.py, op.py) while compiling for the current target: on an aie2p
device it names an aie2p object expand_aie2_....

Fix

CompilationArtifactGraph.move_artifacts now places KernelObjectArtifact/
KernelArchiveArtifact under build_dir/<get_kernel_dir()>/; every other
artifact (MLIR, xclbin, insts.bin) keeps its current flat path, since those
already carry the device in their name via AIEOperatorBase.name. I picked
this over qualifying every object name with the arch: the object name is
independently spelled twice per operator (the Kernel(...) link_with string
in design.py and the KernelObjectArtifact filename in op.py, with no
shared source of truth), across ~12 operators, so qualifying names touches
~24 call sites; the build_dir change is two lines and fixes every current and
future kernel object at once. compile()'s single build_dir.mkdir() moves
to a per-artifact mkdir after move_artifacts, since kernel objects can now
resolve one level deeper.

Also fixed dequant's expand_aie2_ literal to use get_kernel_dir(),
independent of which shape this lands as.

Test / Evidence

iron/tests/compilation/kernel_object_arch_isolation.py builds
ElementwiseMul's real artifact graph for NPU1() and NPU2() (no Peano
invocation, no device) and asserts the two kernel object paths never collide,
and that a real leftover aie2 object is not reported available to the
following aie2p build. Both assertions fail against aab8083 (verified by
reverting compilation/base.py alone and rerunning) and pass after this
change.

Also exercised axpy, softmax (which additionally bundles lut_based_ops.o
into a KernelArchiveArtifact on aie2), rms_norm in both its plain and
weighted (generic/mul.cc-linking) forms, mem_copy, and dequant across
both devices: every kernel object/archive lands under the expected
aie2/aie2p subdirectory with no collisions, and dequant's object name no
longer says aie2 on an aie2p build.

Not run: pytest. This repo's root conftest.py
(pytest_collection_modifyitems) unconditionally calls
aie_utils.DefaultNPURuntime.device() at collection time for every test in
the suite, which probes the attached NPU over XRT regardless of which
test is selected -- out of scope for a device-free change. Confirmed by calling
the two test_* functions directly instead.

@andrej
andrej enabled auto-merge September 1, 2026 19:22
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

CI Test Results

339feb3 (2026_09_02_19_47_57)

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] - - 976.22
test_axpy[input_length_2048-num_aie_columns_2-tile_size_1024-scalar_factor_3.0] - - 674.18
test_axpy[input_length_2048-num_aie_columns_4-tile_size_512-scalar_factor_3.0] - - 404.74
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] - - 344.90
test_dequant[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-group_size_32] - - 345.46
test_dequant[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-group_size_32] - - 388.16
test_dequant[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-group_size_32] - - 437.24
test_dequant[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-group_size_32] - - 566.06
test_dequant[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-group_size_32] - - 410.32
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] - - 321.00
test_elementwise_add[input_length_2048-num_aie_columns_2-tile_size_1024] - - 286.36
test_elementwise_add[input_length_2048-num_aie_columns_4-tile_size_512] - - 393.74
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] - - 377.98
test_elementwise_mul[input_length_2048-num_aie_columns_2-tile_size_1024] - - 446.76
test_elementwise_mul[input_length_2048-num_aie_columns_4-tile_size_512] - - 437.22
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] - - 342.64
test_gelu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 372.28
test_gelu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 439.56
test_gelu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 302.00
test_gelu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 365.04
test_gelu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 523.80
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] - - 544.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] - - 831.38
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] - - 82086.40
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] - - 24994.84
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] - - 4651.16
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] - - 6198.72
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.10
test_gemv[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048] - - 3.43
test_gemv[M_2048-K_8192-num_aie_columns_2-tile_size_input_1-tile_size_output_1024] - - 5.73
test_gemv[M_2048-K_8192-num_aie_columns_4-tile_size_input_1-tile_size_output_512] - - 10.97
test_gemv[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024] - - 3.67
test_gemv[M_8192-K_2048-num_aie_columns_2-tile_size_input_4-tile_size_output_1024] - - 6.41
test_gemv[M_8192-K_2048-num_aie_columns_4-tile_size_input_4-tile_size_output_1024] - - 8.11
test_gemv_batched[M_1024-K_1024-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_2] - - 1.72
test_gemv_batched[M_1026-K_64-num_aie_columns_1-tile_size_input_1-tile_size_output_2-num_batches_2] - - 0.29
test_gemv_batched[M_256-K_128-num_aie_columns_1-tile_size_input_1-tile_size_output_256-num_batches_4] - - 0.42
test_gemv_batched[M_64-K_1536-num_aie_columns_1-tile_size_input_1-tile_size_output_64-num_batches_8] - - 1.50
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] - - 384.40
test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 624.52
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 479.88
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 490.92
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 445.34
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 434.00
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] - - 342.62
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.1] - - 346.64
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.25] - - 363.62
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-alpha_0.01] - - 361.32
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-alpha_0.01] - - 413.26
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-alpha_0.01] - - 879.40
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-alpha_0.01] - - 799.58
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-alpha_0.01] - - 448.42
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] - - 294.68
test_mem_copy[input_length_2048-num_cores_2-num_channels_1-bypass_False-tile_size_1024] - - 418.76
test_mem_copy[input_length_2048-num_cores_2-num_channels_2-bypass_False-tile_size_1024] - - 395.02
test_mem_copy[input_length_2048-num_cores_4-num_channels_1-bypass_False-tile_size_512] - - 346.88
test_mem_copy[input_length_2048-num_cores_4-num_channels_2-bypass_False-tile_size_512] - - 398.32
test_mem_copy[input_length_2048-num_cores_8-num_channels_2-bypass_False-tile_size_256] - - 360.32
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] - - 430.44
test_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 475.74
test_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 284.72
test_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 382.04
test_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 431.50
test_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 517.58
iron/operators/repeat
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_cols_without_a_legal_split_is_rejected[cols_1031-why_prime > 1023: the only divisors are 1 and cols, neither legal] - - -
test_cols_without_a_legal_split_is_rejected[cols_2062-why_2 x 1031: the only word-aligned chunk leaves a 1031-wide chunk count] - - -
test_cols_without_a_legal_split_is_rejected[cols_513-why_odd: every divisor is odd, so no chunk is a whole 32-bit word] - - -
test_repeat[rows_4-cols_1024-repeat_2-transfer_size_None] - - 285.60
test_repeat[rows_8-cols_512-repeat_4-transfer_size_64] - - 317.54
test_repeat[rows_8-cols_64-repeat_4-transfer_size_None] - - 393.60
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] - - 461.06
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_True] - - 438.80
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_False] - - 390.76
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_True] - - 345.42
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_False] - - 414.96
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_True] - - 415.26
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_False] - - 510.82
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_True] - - 437.12
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_False] - - 603.34
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_True] - - 408.26
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-weighted_False] - - 460.60
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] - - 351.16
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_2-method_type_0] - - 400.72
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_4-method_type_0] - - 329.54
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_1-method_type_0] - - 372.76
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_2-method_type_0] - - 354.48
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_4-method_type_0] - - 404.82
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] - - 403.02
test_sigmoid[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 396.56
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 372.76
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 450.08
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 433.84
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 480.62
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] - - 392.96
test_silu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 337.12
test_silu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 367.78
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] - - 552.52
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_2048] - - 560.88
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_512] - - 363.64
iron/operators/strided_copy
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_strided_copy[chunked_transfer] - - 393.06
test_strided_copy[contiguous] - - 355.14
test_strided_copy[four_channels] - - 335.68
test_strided_copy[kv_slot0] - - 366.84
test_strided_copy[kv_slot5] - - 490.18
test_strided_copy[kv_slot5_four_channels] - - 357.40
test_strided_copy[kv_slot5_two_channels] - - 695.92
test_strided_copy[kv_slot_last] - - 611.34
test_strided_copy[two_channels] - - 342.64
test_strided_copy[two_channels_chunked] - - 257.46
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter0] - - -
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter1] - - -
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter2] - - -
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter3] - - -
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter4] - - -
iron/operators/swiglu_decode
Test Krackan Status Krackan Phoenix Status Phoenix Latency (mean)
test_swiglu_decode[embedding_dim_1024-hidden_dim_3584] - - 15314.73
test_swiglu_decode[embedding_dim_2048-hidden_dim_2048] - - 18468.39
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] - - 19045.00
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] - - 236.32
test_tanh[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024] - - 288.62
test_tanh[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024] - - 664.24
test_tanh[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512] - - 430.08
test_tanh[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512] - - 399.74
test_tanh[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256] - - 332.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] - - 900.96
test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_2] - - 1021.54
test_transpose[M_2048-N_64-aie_columns_1-channels_2-m_64-n_64-s_8-num_batches_1] - - 350.98
Phoenix - Small

IRON

Tested on 2026_09_02_19_47_57 at commit 339feb3.

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/5976.220.03n/a
test_axpy[input_length_2048-num_aie_columns_2-tile_size_1024-scalar_factor_3.0]✅ 5/5674.180.03n/a
test_axpy[input_length_2048-num_aie_columns_4-tile_size_512-scalar_factor_3.0]✅ 5/5404.740.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/5344.900.02n/a
test_dequant[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-group_size_32]✅ 5/5345.460.02n/a
test_dequant[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-group_size_32]✅ 5/5388.160.01n/a
test_dequant[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-group_size_32]✅ 5/5437.240.01n/a
test_dequant[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-group_size_32]✅ 5/5566.060.01n/a
test_dequant[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-group_size_32]✅ 5/5410.320.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/5321.000.04n/a
test_elementwise_add[input_length_2048-num_aie_columns_2-tile_size_1024]✅ 5/5286.360.04n/a
test_elementwise_add[input_length_2048-num_aie_columns_4-tile_size_512]✅ 5/5393.740.03n/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/5377.980.04n/a
test_elementwise_mul[input_length_2048-num_aie_columns_2-tile_size_1024]✅ 5/5446.760.03n/a
test_elementwise_mul[input_length_2048-num_aie_columns_4-tile_size_512]✅ 5/5437.220.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/5342.640.03n/a
test_gelu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5372.280.02n/a
test_gelu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5439.560.02n/a
test_gelu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5302.000.03n/a
test_gelu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5365.040.03n/a
test_gelu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5523.800.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/5544.660.4218.10
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/5831.380.3715.66
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/582086.400.31209.30
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/524994.841.01687.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]✅ 5/54651.162.02529.23
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/56198.720.2010.90
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.100.10
test_gemv[M_2048-K_8192-num_aie_columns_1-tile_size_input_1-tile_size_output_2048]✅ 5/5n/a3.433.43
test_gemv[M_2048-K_8192-num_aie_columns_2-tile_size_input_1-tile_size_output_1024]✅ 5/5n/a5.735.72
test_gemv[M_2048-K_8192-num_aie_columns_4-tile_size_input_1-tile_size_output_512]✅ 5/5n/a10.9710.96
test_gemv[M_8192-K_2048-num_aie_columns_1-tile_size_input_4-tile_size_output_1024]✅ 5/5n/a3.673.66
test_gemv[M_8192-K_2048-num_aie_columns_2-tile_size_input_4-tile_size_output_1024]✅ 5/5n/a6.416.41
test_gemv[M_8192-K_2048-num_aie_columns_4-tile_size_input_4-tile_size_output_1024]✅ 5/5n/a8.118.11
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.721.72
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.290.28
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.420.41
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.501.48
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/5384.400.02n/a
test_layer_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5624.520.02n/a
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5479.880.02n/a
test_layer_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5490.920.02n/a
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5445.340.02n/a
test_layer_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5434.000.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/5342.620.03n/a
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.1]✅ 5/5346.640.03n/a
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-alpha_0.25]✅ 5/5363.620.03n/a
test_leaky_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-alpha_0.01]✅ 5/5361.320.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-alpha_0.01]✅ 5/5413.260.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-alpha_0.01]✅ 5/5879.400.01n/a
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-alpha_0.01]✅ 5/5799.580.02n/a
test_leaky_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-alpha_0.01]✅ 5/5448.420.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/5294.680.03n/a
test_mem_copy[input_length_2048-num_cores_2-num_channels_1-bypass_False-tile_size_1024]✅ 5/5418.760.02n/a
test_mem_copy[input_length_2048-num_cores_2-num_channels_2-bypass_False-tile_size_1024]✅ 5/5395.020.03n/a
test_mem_copy[input_length_2048-num_cores_4-num_channels_1-bypass_False-tile_size_512]✅ 5/5346.880.03n/a
test_mem_copy[input_length_2048-num_cores_4-num_channels_2-bypass_False-tile_size_512]✅ 5/5398.320.02n/a
test_mem_copy[input_length_2048-num_cores_8-num_channels_2-bypass_False-tile_size_256]✅ 5/5360.320.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/5430.440.02n/a
test_relu[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5475.740.02n/a
test_relu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5284.720.03n/a
test_relu[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5382.040.02n/a
test_relu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5431.500.02n/a
test_relu[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5517.580.02n/a
iron/operators/repeat
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_cols_without_a_legal_split_is_rejected[cols_1031-why_prime > 1023: the only divisors are 1 and cols, neither legal]✅ 5/5n/an/an/a
test_cols_without_a_legal_split_is_rejected[cols_2062-why_2 x 1031: the only word-aligned chunk leaves a 1031-wide chunk count]✅ 5/5n/an/an/a
test_cols_without_a_legal_split_is_rejected[cols_513-why_odd: every divisor is odd, so no chunk is a whole 32-bit word]✅ 5/5n/an/an/a
test_repeat[rows_4-cols_1024-repeat_2-transfer_size_None]✅ 5/5285.600.09n/a
test_repeat[rows_8-cols_512-repeat_4-transfer_size_64]✅ 5/5317.540.14n/a
test_repeat[rows_8-cols_64-repeat_4-transfer_size_None]✅ 5/5393.600.01n/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]✅ 5/5461.060.02n/a
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_1-tile_size_2048-weighted_True]✅ 5/5438.800.03n/a
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_False]✅ 5/5390.760.02n/a
test_rms_norm[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024-weighted_True]✅ 5/5345.420.03n/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_False]✅ 5/5414.960.02n/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024-weighted_True]✅ 5/5415.260.03n/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_False]✅ 5/5510.820.02n/a
test_rms_norm[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512-weighted_True]✅ 5/5437.120.02n/a
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_False]✅ 5/5603.340.02n/a
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512-weighted_True]✅ 5/5408.260.03n/a
test_rms_norm[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256-weighted_False]✅ 5/5460.600.02n/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/5351.160.31n/a
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_2-method_type_0]✅ 5/5400.720.27n/a
test_rope[rows_32-cols_512-angle_rows_32-aie_columns_4-method_type_0]✅ 5/5329.540.33n/a
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_1-method_type_0]✅ 5/5372.760.22n/a
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_2-method_type_0]✅ 5/5354.480.25n/a
test_rope[rows_32-cols_512-angle_rows_8-aie_columns_4-method_type_0]✅ 5/5404.820.23n/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/5403.020.02n/a
test_sigmoid[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5396.560.02n/a
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5372.760.03n/a
test_sigmoid[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5450.080.02n/a
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5433.840.02n/a
test_sigmoid[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5480.620.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/5392.960.02n/a
test_silu[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5337.120.03n/a
test_silu[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5367.780.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/5552.520.25n/a
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_2048]✅ 5/5560.880.26n/a
test_softmax[input_length_32768-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5363.640.41n/a
iron/operators/strided_copy
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_strided_copy[chunked_transfer]✅ 5/5393.060.01n/a
test_strided_copy[contiguous]✅ 5/5355.140.01n/a
test_strided_copy[four_channels]✅ 5/5335.680.01n/a
test_strided_copy[kv_slot0]✅ 5/5366.840.38n/a
test_strided_copy[kv_slot5]✅ 5/5490.180.28n/a
test_strided_copy[kv_slot5_four_channels]✅ 5/5357.400.40n/a
test_strided_copy[kv_slot5_two_channels]✅ 5/5695.920.33n/a
test_strided_copy[kv_slot_last]✅ 5/5611.340.39n/a
test_strided_copy[two_channels]✅ 5/5342.640.01n/a
test_strided_copy[two_channels_chunked]✅ 5/5257.460.02n/a
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter0]✅ 1/1n/an/an/a
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter1]✅ 1/1n/an/an/a
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter2]✅ 1/1n/an/an/a
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter3]✅ 1/1n/an/an/a
test_transfer_size_not_dividing_per_channel_share_is_rejected[iter4]✅ 1/1n/an/an/a
iron/operators/swiglu_decode
TestChecksLatency (mean)Bandwidth (mean)Throughput (mean)
test_swiglu_decode[embedding_dim_1024-hidden_dim_3584]✅ 5/515314.730.00n/a
test_swiglu_decode[embedding_dim_2048-hidden_dim_2048]✅ 5/518468.390.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/519045.000.12n/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/5236.320.04n/a
test_tanh[input_length_2048-num_aie_columns_1-num_channels_2-tile_size_1024]✅ 5/5288.620.03n/a
test_tanh[input_length_2048-num_aie_columns_2-num_channels_1-tile_size_1024]✅ 5/5664.240.02n/a
test_tanh[input_length_2048-num_aie_columns_2-num_channels_2-tile_size_512]✅ 5/5430.080.02n/a
test_tanh[input_length_2048-num_aie_columns_4-num_channels_1-tile_size_512]✅ 5/5399.740.02n/a
test_tanh[input_length_2048-num_aie_columns_4-num_channels_2-tile_size_256]✅ 5/5332.060.03n/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/5900.961.40n/a
test_transpose[M_2048-N_64-aie_columns_1-channels_1-m_64-n_64-s_8-num_batches_2]✅ 5/51021.542.15n/a
test_transpose[M_2048-N_64-aie_columns_1-channels_2-m_64-n_64-s_8-num_batches_1]✅ 5/5350.981.67n/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)
339feb3 — 2026-09-02 19:43:150.06 (+32.37%)0.03 (-23.95%)0.02 (-46.06%)0.01 (-73.10%)0.02 (+159.23%)1997.00 (+271.67%)976.22 (+167.16%)591.30 (+85.42%)208.10 (-24.46%)856.44 (+691.99%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.04 (n/a)0.04 (n/a)0.02 (n/a)0.01 (n/a)537.30 (n/a)365.40 (n/a)318.90 (n/a)275.50 (n/a)108.14 (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)
339feb3 — 2026-09-02 19:43:150.06 (+32.40%)0.03 (+7.46%)0.03 (+21.22%)0.01 (-68.78%)0.02 (+109.39%)1920.70 (+220.28%)674.18 (+51.49%)372.70 (-17.51%)219.80 (-24.47%)709.07 (+450.25%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)599.70 (n/a)445.02 (n/a)451.80 (n/a)291.00 (n/a)128.86 (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)
339feb3 — 2026-09-02 19:43:150.04 (-36.90%)0.03 (-21.62%)0.03 (-14.89%)0.02 (+4.58%)0.01 (-59.86%)590.60 (-4.39%)404.74 (+9.64%)360.70 (+17.49%)308.80 (+58.44%)115.89 (-38.45%)
a279467 — 2026-08-31 16:07:160.06 (n/a)0.04 (n/a)0.04 (n/a)0.02 (n/a)0.02 (n/a)617.70 (n/a)369.14 (n/a)307.00 (n/a)194.90 (n/a)188.30 (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)
339feb3 — 2026-09-02 19:43:150.02 (+12.42%)0.02 (+12.27%)0.02 (+4.04%)0.01 (+2.37%)0.01 (+1.67%)659.00 (-2.31%)344.90 (-11.07%)256.80 (-3.89%)233.90 (-11.06%)179.21 (-2.34%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)674.60 (n/a)387.84 (n/a)267.20 (n/a)263.00 (n/a)183.50 (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)
339feb3 — 2026-09-02 19:43:150.03 (+48.63%)0.02 (+42.86%)0.02 (+59.89%)0.01 (-2.98%)0.01 (+109.21%)571.40 (+3.08%)345.46 (-22.43%)264.30 (-37.46%)195.50 (-32.70%)158.75 (+47.48%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.00 (n/a)554.30 (n/a)445.34 (n/a)422.60 (n/a)290.50 (n/a)107.64 (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)
339feb3 — 2026-09-02 19:43:150.02 (-17.26%)0.01 (-6.89%)0.01 (-36.13%)0.01 (+430.74%)0.00 (-54.34%)465.90 (-81.16%)388.16 (-46.88%)446.20 (+56.56%)279.10 (+20.87%)92.99 (-90.47%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)0.01 (n/a)2472.60 (n/a)730.70 (n/a)285.00 (n/a)230.90 (n/a)976.04 (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)
339feb3 — 2026-09-02 19:43:150.02 (-14.89%)0.01 (-17.55%)0.01 (-14.19%)0.01 (-7.05%)0.00 (-41.27%)562.30 (+7.60%)437.24 (+13.98%)438.70 (+16.52%)290.50 (+17.52%)97.44 (-28.72%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)522.60 (n/a)383.62 (n/a)376.50 (n/a)247.20 (n/a)136.71 (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)
339feb3 — 2026-09-02 19:43:150.02 (-35.06%)0.01 (-19.43%)0.01 (-6.79%)0.00 (-40.12%)0.00 (-26.58%)1052.10 (+67.00%)566.06 (+31.19%)479.60 (+7.29%)324.40 (+54.04%)298.25 (+100.19%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)630.00 (n/a)431.48 (n/a)447.00 (n/a)210.60 (n/a)148.98 (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)
339feb3 — 2026-09-02 19:43:150.02 (-2.50%)0.01 (+5.25%)0.01 (+18.08%)0.01 (-23.79%)0.00 (+3.48%)641.50 (+31.21%)410.32 (-2.31%)396.80 (-15.32%)251.20 (+2.57%)146.30 (+45.36%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.00 (n/a)488.90 (n/a)420.02 (n/a)468.60 (n/a)244.90 (n/a)100.64 (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)
339feb3 — 2026-09-02 19:43:150.05 (n/a)0.04 (n/a)0.04 (n/a)0.03 (n/a)0.01 (n/a)465.40 (n/a)321.00 (n/a)291.10 (n/a)241.20 (n/a)94.93 (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)
339feb3 — 2026-09-02 19:43:150.05 (n/a)0.04 (n/a)0.04 (n/a)0.03 (n/a)0.01 (n/a)366.80 (n/a)286.36 (n/a)279.90 (n/a)227.80 (n/a)51.20 (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)
339feb3 — 2026-09-02 19:43:150.05 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)531.70 (n/a)393.74 (n/a)433.80 (n/a)250.60 (n/a)128.52 (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)
339feb3 — 2026-09-02 19:43:150.05 (n/a)0.04 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)551.20 (n/a)377.98 (n/a)420.00 (n/a)224.20 (n/a)142.04 (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)
339feb3 — 2026-09-02 19:43:150.06 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)630.30 (n/a)446.76 (n/a)473.40 (n/a)200.70 (n/a)154.90 (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)
339feb3 — 2026-09-02 19:43:150.06 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)602.70 (n/a)437.22 (n/a)472.50 (n/a)217.60 (n/a)141.47 (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)
339feb3 — 2026-09-02 19:43:150.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)533.70 (n/a)342.64 (n/a)247.80 (n/a)219.30 (n/a)156.49 (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)
339feb3 — 2026-09-02 19:43:150.04 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)532.60 (n/a)372.28 (n/a)420.70 (n/a)230.20 (n/a)132.51 (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)
339feb3 — 2026-09-02 19:43:150.03 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)503.00 (n/a)439.56 (n/a)491.00 (n/a)239.70 (n/a)112.59 (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)
339feb3 — 2026-09-02 19:43:150.04 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)552.20 (n/a)302.00 (n/a)250.90 (n/a)196.20 (n/a)142.34 (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)
339feb3 — 2026-09-02 19:43:150.05 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)510.90 (n/a)365.04 (n/a)420.80 (n/a)174.20 (n/a)143.70 (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)
339feb3 — 2026-09-02 19:43:150.04 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)697.10 (n/a)523.80 (n/a)564.90 (n/a)220.10 (n/a)179.87 (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)
339feb3 — 2026-09-02 19:43:150.56 (-18.93%)0.42 (+7.74%)0.38 (+16.03%)0.34 (+10.23%)0.10 (-37.87%)659.20 (-9.29%)544.66 (-11.75%)582.00 (-13.82%)397.20 (+23.35%)122.00 (-26.98%)23.76 (-18.93%)18.10 (+7.74%)16.21 (+16.03%)14.32 (+10.23%)4.35 (-37.87%)
a279467 — 2026-08-31 16:07:160.69 (n/a)0.39 (n/a)0.33 (n/a)0.30 (n/a)0.16 (n/a)726.70 (n/a)617.20 (n/a)675.30 (n/a)322.00 (n/a)167.08 (n/a)29.31 (n/a)16.80 (n/a)13.97 (n/a)12.99 (n/a)7.01 (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)
339feb3 — 2026-09-02 19:43:150.58 (+9.61%)0.37 (-20.28%)0.40 (-14.66%)0.13 (-61.60%)0.20 (+160.15%)1677.00 (+160.44%)831.38 (+68.76%)555.60 (+17.17%)379.80 (-8.77%)558.78 (+505.60%)24.85 (+9.61%)15.66 (-20.28%)16.99 (-14.66%)5.63 (-61.60%)8.44 (+160.15%)
a279467 — 2026-08-31 16:07:160.53 (n/a)0.46 (n/a)0.47 (n/a)0.34 (n/a)0.08 (n/a)643.90 (n/a)492.64 (n/a)474.20 (n/a)416.30 (n/a)92.27 (n/a)22.67 (n/a)19.64 (n/a)19.90 (n/a)14.66 (n/a)3.25 (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)
339feb3 — 2026-09-02 19:43:150.31 (-0.45%)0.31 (+1.19%)0.31 (+1.37%)0.30 (+3.15%)0.00 (-57.46%)82958.10 (-3.05%)82086.40 (-1.20%)81744.50 (-1.35%)81270.20 (+0.45%)754.74 (-58.53%)211.39 (-0.45%)209.30 (+1.19%)210.17 (+1.37%)207.09 (+3.15%)1.92 (-57.46%)
a279467 — 2026-08-31 16:07:160.31 (n/a)0.30 (n/a)0.30 (n/a)0.29 (n/a)0.01 (n/a)85569.90 (n/a)83085.36 (n/a)82863.00 (n/a)80906.70 (n/a)1820.16 (n/a)212.34 (n/a)206.85 (n/a)207.33 (n/a)200.77 (n/a)4.51 (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)
339feb3 — 2026-09-02 19:43:151.02 (-2.21%)1.01 (-0.94%)1.01 (-0.75%)0.99 (-0.30%)0.01 (-31.45%)25456.40 (+0.30%)24994.84 (+0.93%)24879.00 (+0.76%)24722.30 (+2.26%)315.39 (-29.79%)694.91 (-2.21%)687.42 (-0.94%)690.54 (-0.75%)674.87 (-0.30%)8.62 (-31.45%)
a279467 — 2026-08-31 16:07:161.04 (n/a)1.02 (n/a)1.02 (n/a)0.99 (n/a)0.02 (n/a)25380.20 (n/a)24764.18 (n/a)24691.80 (n/a)24176.40 (n/a)449.22 (n/a)710.61 (n/a)693.92 (n/a)695.77 (n/a)676.90 (n/a)12.57 (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)
339feb3 — 2026-09-02 19:43:153.50 (-6.53%)2.02 (-18.96%)1.70 (-19.96%)1.05 (-20.39%)0.92 (-9.76%)7664.50 (+25.61%)4651.16 (+24.56%)4742.70 (+24.94%)2304.10 (+6.99%)1969.76 (+23.95%)917.47 (-6.53%)529.23 (-18.96%)445.72 (-19.96%)275.81 (-20.39%)240.87 (-9.76%)
a279467 — 2026-08-31 16:07:163.74 (n/a)2.49 (n/a)2.12 (n/a)1.32 (n/a)1.02 (n/a)6101.60 (n/a)3734.00 (n/a)3796.00 (n/a)2153.60 (n/a)1589.10 (n/a)981.56 (n/a)653.07 (n/a)556.88 (n/a)346.46 (n/a)266.92 (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)
339feb3 — 2026-09-02 19:43:150.23 (+19.70%)0.20 (+10.33%)0.20 (+5.77%)0.19 (+10.08%)0.02 (+82.28%)6664.70 (-9.15%)6198.72 (-8.99%)6358.00 (-5.46%)5332.90 (-16.46%)549.40 (+38.28%)12.58 (+19.70%)10.90 (+10.33%)10.56 (+5.77%)10.07 (+10.08%)1.04 (+82.28%)
a279467 — 2026-08-31 16:07:160.20 (n/a)0.18 (n/a)0.19 (n/a)0.17 (n/a)0.01 (n/a)7336.20 (n/a)6811.00 (n/a)6724.90 (n/a)6383.60 (n/a)397.33 (n/a)10.51 (n/a)9.88 (n/a)9.98 (n/a)9.15 (n/a)0.57 (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)
339feb3 — 2026-09-02 19:43:150.13 (n/a)0.10 (n/a)0.12 (n/a)0.04 (n/a)0.04 (n/a)0.13 (n/a)0.10 (n/a)0.11 (n/a)0.04 (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)
339feb3 — 2026-09-02 19:43:153.68 (n/a)3.43 (n/a)3.54 (n/a)2.92 (n/a)0.30 (n/a)3.68 (n/a)3.43 (n/a)3.54 (n/a)2.92 (n/a)0.30 (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)
339feb3 — 2026-09-02 19:43:156.30 (-16.74%)5.73 (-9.82%)5.61 (-6.01%)5.26 (-7.60%)0.41 (-49.69%)6.30 (-16.74%)5.72 (-9.82%)5.60 (-6.01%)5.25 (-7.60%)0.41 (-49.69%)
a279467 — 2026-08-31 16:07:167.57 (n/a)6.35 (n/a)5.97 (n/a)5.69 (n/a)0.81 (n/a)7.57 (n/a)6.35 (n/a)5.96 (n/a)5.69 (n/a)0.81 (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)
339feb3 — 2026-09-02 19:43:1513.83 (+27.61%)10.97 (+23.13%)11.30 (+31.29%)7.99 (+7.69%)2.60 (+105.15%)13.82 (+27.61%)10.96 (+23.13%)11.30 (+31.29%)7.99 (+7.69%)2.60 (+105.15%)
a279467 — 2026-08-31 16:07:1610.84 (n/a)8.91 (n/a)8.61 (n/a)7.42 (n/a)1.27 (n/a)10.83 (n/a)8.90 (n/a)8.60 (n/a)7.42 (n/a)1.27 (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)
339feb3 — 2026-09-02 19:43:153.78 (n/a)3.67 (n/a)3.68 (n/a)3.49 (n/a)0.11 (n/a)3.78 (n/a)3.66 (n/a)3.68 (n/a)3.49 (n/a)0.11 (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)
339feb3 — 2026-09-02 19:43:157.51 (-2.44%)6.41 (+2.80%)6.72 (+11.84%)5.37 (+11.48%)0.88 (-19.03%)7.51 (-2.44%)6.41 (+2.80%)6.71 (+11.84%)5.36 (+11.48%)0.88 (-19.03%)
a279467 — 2026-08-31 16:07:167.70 (n/a)6.24 (n/a)6.00 (n/a)4.81 (n/a)1.09 (n/a)7.69 (n/a)6.23 (n/a)6.00 (n/a)4.81 (n/a)1.09 (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)
339feb3 — 2026-09-02 19:43:159.33 (-33.33%)8.11 (-19.11%)7.84 (-17.23%)7.29 (-7.98%)0.79 (-65.82%)9.32 (-33.33%)8.11 (-19.11%)7.83 (-17.23%)7.28 (-7.98%)0.79 (-65.82%)
a279467 — 2026-08-31 16:07:1613.99 (n/a)10.03 (n/a)9.47 (n/a)7.92 (n/a)2.31 (n/a)13.98 (n/a)10.02 (n/a)9.47 (n/a)7.92 (n/a)2.31 (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)
339feb3 — 2026-09-02 19:43:153.09 (+4.53%)1.72 (-13.35%)1.19 (-46.51%)0.95 (-9.33%)0.90 (+3.18%)3.09 (+4.53%)1.72 (-13.35%)1.19 (-46.51%)0.95 (-9.33%)0.90 (+3.18%)
a279467 — 2026-08-31 16:07:162.96 (n/a)1.99 (n/a)2.23 (n/a)1.05 (n/a)0.87 (n/a)2.95 (n/a)1.98 (n/a)2.23 (n/a)1.05 (n/a)0.87 (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)
339feb3 — 2026-09-02 19:43:150.59 (+13.32%)0.29 (-8.47%)0.28 (-27.20%)0.08 (-31.62%)0.22 (+27.54%)0.58 (+13.32%)0.28 (-8.47%)0.27 (-27.20%)0.07 (-31.62%)0.22 (+27.54%)
a279467 — 2026-08-31 16:07:160.52 (n/a)0.31 (n/a)0.38 (n/a)0.11 (n/a)0.17 (n/a)0.51 (n/a)0.31 (n/a)0.37 (n/a)0.11 (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)
339feb3 — 2026-09-02 19:43:150.64 (+3.50%)0.42 (+8.97%)0.48 (+7.80%)0.08 (-34.46%)0.21 (-9.40%)0.63 (+3.50%)0.41 (+8.97%)0.48 (+7.80%)0.08 (-34.46%)0.21 (-9.40%)
a279467 — 2026-08-31 16:07:160.62 (n/a)0.38 (n/a)0.45 (n/a)0.13 (n/a)0.23 (n/a)0.61 (n/a)0.38 (n/a)0.44 (n/a)0.13 (n/a)0.23 (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)
339feb3 — 2026-09-02 19:43:152.45 (+2.31%)1.50 (-19.26%)1.64 (-29.83%)0.43 (-2.74%)0.91 (+9.75%)2.41 (+2.31%)1.48 (-19.26%)1.61 (-29.83%)0.43 (-2.74%)0.90 (+9.75%)
a279467 — 2026-08-31 16:07:162.39 (n/a)1.86 (n/a)2.34 (n/a)0.45 (n/a)0.83 (n/a)2.35 (n/a)1.83 (n/a)2.30 (n/a)0.44 (n/a)0.82 (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)
339feb3 — 2026-09-02 19:43:150.03 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)481.60 (n/a)384.40 (n/a)449.00 (n/a)247.00 (n/a)111.37 (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)
339feb3 — 2026-09-02 19:43:150.03 (n/a)0.02 (n/a)0.03 (n/a)0.00 (n/a)0.01 (n/a)1978.50 (n/a)624.52 (n/a)294.90 (n/a)261.30 (n/a)757.13 (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)
339feb3 — 2026-09-02 19:43:150.02 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)501.00 (n/a)479.88 (n/a)492.30 (n/a)430.80 (n/a)28.86 (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)
339feb3 — 2026-09-02 19:43:150.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)586.90 (n/a)490.92 (n/a)535.80 (n/a)240.90 (n/a)142.27 (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)
339feb3 — 2026-09-02 19:43:150.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)631.20 (n/a)445.34 (n/a)478.70 (n/a)272.30 (n/a)142.81 (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)
339feb3 — 2026-09-02 19:43:150.04 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)539.80 (n/a)434.00 (n/a)524.40 (n/a)230.20 (n/a)138.93 (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)
339feb3 — 2026-09-02 19:43:150.04 (+5.94%)0.03 (+11.34%)0.03 (+40.01%)0.02 (+12.33%)0.01 (+0.52%)464.90 (-10.97%)342.62 (-10.76%)294.80 (-28.59%)233.70 (-5.61%)107.05 (-8.83%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)522.20 (n/a)383.94 (n/a)412.80 (n/a)247.60 (n/a)117.43 (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)
339feb3 — 2026-09-02 19:43:150.04 (+7.11%)0.03 (+2.64%)0.03 (+9.83%)0.01 (-23.86%)0.01 (+58.94%)622.10 (+31.33%)346.64 (+5.85%)279.40 (-8.93%)232.40 (-6.63%)161.17 (+88.35%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)473.70 (n/a)327.48 (n/a)306.80 (n/a)248.90 (n/a)85.57 (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)
339feb3 — 2026-09-02 19:43:150.03 (-7.72%)0.03 (+4.10%)0.03 (+42.59%)0.02 (-5.63%)0.01 (+4.28%)533.10 (+5.96%)363.62 (-1.15%)266.90 (-29.87%)238.30 (+8.37%)146.60 (+24.81%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)503.10 (n/a)367.86 (n/a)380.60 (n/a)219.90 (n/a)117.46 (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)
339feb3 — 2026-09-02 19:43:150.03 (-34.80%)0.02 (+10.21%)0.03 (+77.99%)0.02 (+55.46%)0.01 (-56.12%)502.30 (-35.68%)361.32 (-25.43%)298.10 (-43.83%)273.00 (+53.37%)104.76 (-54.49%)
a279467 — 2026-08-31 16:07:160.05 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)780.90 (n/a)484.52 (n/a)530.70 (n/a)178.00 (n/a)230.19 (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)
339feb3 — 2026-09-02 19:43:150.03 (-28.33%)0.02 (-22.00%)0.02 (-32.39%)0.02 (+19.65%)0.01 (-49.71%)458.90 (-16.41%)413.26 (+13.73%)450.90 (+47.88%)256.90 (+39.54%)87.71 (-46.11%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)549.00 (n/a)363.36 (n/a)304.90 (n/a)184.10 (n/a)162.75 (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)
339feb3 — 2026-09-02 19:43:150.02 (-16.92%)0.01 (-21.21%)0.02 (-0.18%)0.00 (-77.50%)0.01 (+126.69%)2406.30 (+344.54%)879.40 (+87.71%)476.90 (+0.19%)446.60 (+20.34%)855.64 (+1185.36%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)541.30 (n/a)468.48 (n/a)476.00 (n/a)371.10 (n/a)66.57 (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)
339feb3 — 2026-09-02 19:43:150.03 (-21.47%)0.02 (-20.63%)0.02 (-4.17%)0.00 (-76.90%)0.01 (+1.60%)2415.30 (+333.00%)799.58 (+94.95%)458.50 (+4.35%)310.80 (+27.32%)906.73 (+503.56%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)557.80 (n/a)410.14 (n/a)439.40 (n/a)244.10 (n/a)150.23 (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)
339feb3 — 2026-09-02 19:43:150.03 (-2.22%)0.02 (-2.95%)0.02 (-3.75%)0.01 (-7.57%)0.01 (-9.99%)635.70 (+8.20%)448.42 (+1.51%)419.30 (+3.89%)283.30 (+2.27%)128.85 (-7.64%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)587.50 (n/a)441.76 (n/a)403.60 (n/a)277.00 (n/a)139.52 (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)
339feb3 — 2026-09-02 19:43:150.03 (+0.76%)0.03 (+21.72%)0.03 (+10.72%)0.02 (+55.29%)0.00 (-43.21%)401.40 (-35.60%)294.68 (-24.95%)268.80 (-9.68%)262.80 (-0.76%)59.83 (-62.49%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)623.30 (n/a)392.66 (n/a)297.60 (n/a)264.80 (n/a)159.50 (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)
339feb3 — 2026-09-02 19:43:150.04 (+36.54%)0.02 (+25.26%)0.02 (+10.50%)0.01 (+36.81%)0.01 (+51.50%)558.90 (-26.91%)418.76 (-17.32%)461.50 (-9.49%)194.00 (-26.76%)150.19 (-15.28%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)764.70 (n/a)506.50 (n/a)509.90 (n/a)264.90 (n/a)177.28 (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)
339feb3 — 2026-09-02 19:43:150.04 (+9.21%)0.03 (+7.68%)0.03 (+20.00%)0.01 (-5.72%)0.01 (+35.69%)645.60 (+6.06%)395.02 (+1.00%)256.80 (-16.65%)231.10 (-8.44%)203.88 (+32.20%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)608.70 (n/a)391.10 (n/a)308.10 (n/a)252.40 (n/a)154.22 (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)
339feb3 — 2026-09-02 19:43:150.03 (-5.22%)0.03 (+12.95%)0.02 (+53.24%)0.02 (+30.13%)0.01 (-32.49%)484.90 (-23.15%)346.88 (-19.79%)330.70 (-34.73%)244.50 (+5.48%)100.71 (-43.44%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)631.00 (n/a)432.48 (n/a)506.70 (n/a)231.80 (n/a)178.04 (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)
339feb3 — 2026-09-02 19:43:150.03 (-13.27%)0.02 (-17.18%)0.02 (-36.15%)0.02 (+14.29%)0.01 (-40.45%)463.30 (-12.50%)398.32 (+10.73%)446.60 (+56.65%)260.00 (+15.30%)87.63 (-42.07%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)529.50 (n/a)359.72 (n/a)285.10 (n/a)225.50 (n/a)151.25 (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)
339feb3 — 2026-09-02 19:43:150.03 (+1.12%)0.02 (+22.49%)0.02 (+62.68%)0.02 (+42.22%)0.01 (-17.72%)477.70 (-29.68%)360.32 (-24.35%)348.20 (-38.52%)247.30 (-1.12%)110.67 (-41.17%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)679.30 (n/a)476.28 (n/a)566.40 (n/a)250.10 (n/a)188.11 (n/a)
iron/operators/repeat

test_cols_without_a_legal_split_is_rejected[cols_1031-why_prime > 1023: the only divisors are 1 and cols, neither legal]

No metrics available.

test_cols_without_a_legal_split_is_rejected[cols_2062-why_2 x 1031: the only word-aligned chunk leaves a 1031-wide chunk count]

No metrics available.

test_cols_without_a_legal_split_is_rejected[cols_513-why_odd: every divisor is odd, so no chunk is a whole 32-bit word]

No metrics available.

test_repeat[rows_4-cols_1024-repeat_2-transfer_size_None]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.12 (+24.60%)0.09 (+2.67%)0.10 (+12.06%)0.05 (-42.47%)0.03 (+1705.19%)476.00 (+73.85%)285.60 (+5.98%)239.70 (-10.76%)211.50 (-19.76%)108.81 (+2547.45%)
a279467 — 2026-08-31 16:07:160.09 (n/a)0.09 (n/a)0.09 (n/a)0.09 (n/a)0.00 (n/a)273.80 (n/a)269.48 (n/a)268.60 (n/a)263.60 (n/a)4.11 (n/a)

test_repeat[rows_8-cols_512-repeat_4-transfer_size_64]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.19 (+13.48%)0.14 (+18.17%)0.16 (+54.19%)0.07 (-8.58%)0.04 (+8.96%)547.80 (+9.36%)317.54 (-13.67%)262.70 (-35.15%)213.20 (-11.86%)133.78 (+16.59%)
a279467 — 2026-08-31 16:07:160.17 (n/a)0.12 (n/a)0.10 (n/a)0.08 (n/a)0.04 (n/a)500.90 (n/a)367.84 (n/a)405.10 (n/a)241.90 (n/a)114.74 (n/a)

test_repeat[rows_8-cols_64-repeat_4-transfer_size_None]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.02 (+3.13%)0.01 (-2.87%)0.01 (-21.13%)0.01 (+0.44%)0.00 (+10.90%)516.40 (-0.44%)393.60 (+3.79%)423.30 (+26.77%)270.00 (-3.02%)108.26 (+3.12%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.02 (n/a)0.01 (n/a)0.00 (n/a)518.70 (n/a)379.24 (n/a)333.90 (n/a)278.40 (n/a)104.98 (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)
339feb3 — 2026-09-02 19:43:150.02 (-36.54%)0.02 (-36.93%)0.02 (-39.06%)0.01 (-16.13%)0.00 (-52.26%)658.10 (+19.22%)461.06 (+49.22%)414.60 (+64.07%)359.30 (+57.59%)118.94 (-13.00%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.03 (n/a)0.01 (n/a)0.01 (n/a)552.00 (n/a)308.98 (n/a)252.70 (n/a)228.00 (n/a)136.71 (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)
339feb3 — 2026-09-02 19:43:150.05 (-11.63%)0.03 (-13.39%)0.04 (+28.17%)0.02 (-38.79%)0.02 (-3.57%)806.60 (+63.38%)438.80 (+25.57%)303.80 (-21.98%)232.00 (+13.17%)239.20 (+88.75%)
a279467 — 2026-08-31 16:07:160.06 (n/a)0.04 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)493.70 (n/a)349.44 (n/a)389.40 (n/a)205.00 (n/a)126.73 (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)
339feb3 — 2026-09-02 19:43:150.03 (-31.66%)0.02 (-20.99%)0.02 (-22.74%)0.02 (+17.79%)0.00 (-70.71%)448.30 (-15.09%)390.76 (+14.23%)380.20 (+29.45%)321.60 (+46.31%)49.55 (-63.06%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.03 (n/a)0.02 (n/a)0.01 (n/a)528.00 (n/a)342.08 (n/a)293.70 (n/a)219.80 (n/a)134.12 (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)
339feb3 — 2026-09-02 19:43:150.04 (+1.46%)0.03 (+6.22%)0.03 (-19.14%)0.02 (+117.47%)0.01 (-30.26%)463.50 (-54.02%)345.42 (-25.68%)334.10 (+23.69%)231.70 (-1.45%)114.39 (-65.92%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.04 (n/a)0.01 (n/a)0.02 (n/a)1008.00 (n/a)464.78 (n/a)270.10 (n/a)235.10 (n/a)335.65 (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)
339feb3 — 2026-09-02 19:43:150.03 (-16.49%)0.02 (-16.71%)0.02 (-38.69%)0.02 (+400.98%)0.01 (-56.75%)493.30 (-80.04%)414.96 (-42.86%)440.80 (+63.08%)260.30 (+19.73%)92.63 (-90.54%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.03 (n/a)0.00 (n/a)0.01 (n/a)2471.30 (n/a)726.16 (n/a)270.30 (n/a)217.40 (n/a)979.47 (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)
339feb3 — 2026-09-02 19:43:150.04 (+1.70%)0.03 (-2.61%)0.02 (-8.60%)0.02 (-3.53%)0.01 (+16.98%)549.60 (+3.66%)415.26 (+6.67%)481.50 (+9.41%)243.00 (-1.66%)151.79 (+23.10%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)530.20 (n/a)389.28 (n/a)440.10 (n/a)247.10 (n/a)123.30 (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)
339feb3 — 2026-09-02 19:43:150.03 (-17.65%)0.02 (-7.22%)0.02 (-9.25%)0.01 (+197.41%)0.01 (-46.02%)605.40 (-66.38%)510.82 (-25.83%)541.40 (+10.18%)302.40 (+21.45%)121.86 (-80.73%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.02 (n/a)0.00 (n/a)0.01 (n/a)1800.50 (n/a)688.68 (n/a)491.40 (n/a)249.00 (n/a)632.45 (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)
339feb3 — 2026-09-02 19:43:150.03 (-13.29%)0.02 (-4.66%)0.02 (-11.55%)0.02 (-4.87%)0.01 (-14.05%)588.00 (+5.13%)437.12 (+4.43%)472.50 (+13.04%)269.20 (+15.34%)132.00 (+8.61%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)559.30 (n/a)418.58 (n/a)418.00 (n/a)233.40 (n/a)121.54 (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)
339feb3 — 2026-09-02 19:43:150.02 (-20.45%)0.02 (-11.37%)0.02 (-6.43%)0.01 (-17.16%)0.00 (-24.88%)1071.30 (+20.72%)603.34 (+12.02%)512.50 (+6.86%)397.40 (+25.72%)266.78 (+21.83%)
a279467 — 2026-08-31 16:07:160.03 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)0.01 (n/a)887.40 (n/a)538.62 (n/a)479.60 (n/a)316.10 (n/a)218.98 (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)
339feb3 — 2026-09-02 19:43:150.04 (-2.27%)0.03 (+3.50%)0.02 (+2.60%)0.02 (-12.37%)0.01 (+11.87%)603.00 (+14.12%)408.26 (+0.18%)413.50 (-2.55%)243.10 (+2.31%)145.79 (+37.53%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.02 (n/a)0.02 (n/a)0.02 (n/a)0.01 (n/a)528.40 (n/a)407.52 (n/a)424.30 (n/a)237.60 (n/a)106.01 (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)
339feb3 — 2026-09-02 19:43:150.02 (-33.10%)0.02 (-16.44%)0.02 (-37.51%)0.01 (+185.96%)0.00 (-65.99%)578.00 (-65.03%)460.60 (-24.77%)462.60 (+60.01%)343.40 (+49.50%)103.32 (-82.77%)
a279467 — 2026-08-31 16:07:160.04 (n/a)0.02 (n/a)0.03 (n/a)0.00 (n/a)0.01 (n/a)1652.90 (n/a)612.22 (n/a)289.10 (n/a)229.70 (n/a)599.70 (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)
339feb3 — 2026-09-02 19:43:150.41 (+15.79%)0.31 (+23.88%)0.33 (+73.01%)0.17 (-6.32%)0.09 (+0.03%)582.60 (+6.74%)351.16 (-19.59%)302.10 (-42.19%)241.80 (-13.61%)133.42 (-1.78%)
a279467 — 2026-08-31 16:07:160.35 (n/a)0.25 (n/a)0.19 (n/a)0.18 (n/a)0.09 (n/a)545.80 (n/a)436.72 (n/a)522.60 (n/a)279.90 (n/a)135.83 (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)
339feb3 — 2026-09-02 19:43:150.40 (+21.16%)0.27 (+64.95%)0.22 (+29.36%)0.17 (+321.81%)0.09 (-22.32%)574.20 (-76.29%)400.72 (-63.81%)440.30 (-22.70%)245.30 (-17.46%)130.49 (-86.19%)
a279467 — 2026-08-31 16:07:160.33 (n/a)0.16 (n/a)0.17 (n/a)0.04 (n/a)0.12 (n/a)2421.90 (n/a)1107.32 (n/a)569.60 (n/a)297.20 (n/a)945.06 (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)
339feb3 — 2026-09-02 19:43:150.47 (+26.75%)0.33 (+33.29%)0.31 (+26.68%)0.19 (+17.83%)0.11 (+32.91%)519.50 (-15.14%)329.54 (-23.93%)322.20 (-21.05%)207.20 (-21.10%)121.38 (-11.43%)
a279467 — 2026-08-31 16:07:160.37 (n/a)0.25 (n/a)0.24 (n/a)0.16 (n/a)0.08 (n/a)612.20 (n/a)433.20 (n/a)408.10 (n/a)262.60 (n/a)137.04 (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)
339feb3 — 2026-09-02 19:43:150.29 (-9.02%)0.22 (-2.29%)0.24 (+1.50%)0.14 (-12.18%)0.08 (+10.94%)535.10 (+13.88%)372.76 (+5.98%)306.70 (-1.48%)251.80 (+9.91%)140.25 (+33.99%)
a279467 — 2026-08-31 16:07:160.32 (n/a)0.23 (n/a)0.24 (n/a)0.16 (n/a)0.07 (n/a)469.90 (n/a)351.72 (n/a)311.30 (n/a)229.10 (n/a)104.67 (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)
339feb3 — 2026-09-02 19:43:150.42 (+47.06%)0.25 (+25.12%)0.23 (+43.40%)0.13 (-2.66%)0.11 (+47.21%)584.30 (+2.73%)354.48 (-15.72%)320.60 (-30.27%)176.10 (-32.01%)161.21 (+6.63%)
a279467 — 2026-08-31 16:07:160.28 (n/a)0.20 (n/a)0.16 (n/a)0.13 (n/a)0.08 (n/a)568.80 (n/a)420.60 (n/a)459.80 (n/a)259.00 (n/a)151.18 (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)
339feb3 — 2026-09-02 19:43:150.41 (+12.39%)0.23 (+19.05%)0.15 (-3.90%)0.13 (+1.58%)0.13 (+29.22%)581.80 (-1.56%)404.82 (-9.11%)498.10 (+4.05%)180.90 (-11.02%)182.21 (+25.33%)
a279467 — 2026-08-31 16:07:160.36 (n/a)0.19 (n/a)0.15 (n/a)0.12 (n/a)0.10 (n/a)591.00 (n/a)445.38 (n/a)478.70 (n/a)203.30 (n/a)145.38 (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)
339feb3 — 2026-09-02 19:43:150.31 (-21.80%)0.25 (-1.91%)0.26 (+12.52%)0.17 (+0.46%)0.05 (-38.57%)771.40 (-0.46%)552.52 (-1.81%)506.10 (-11.13%)419.30 (+27.87%)136.49 (-16.27%)
a279467 — 2026-08-31 16:07:160.40 (n/a)0.25 (n/a)0.23 (n/a)0.17 (n/a)0.09 (n/a)775.00 (n/a)562.68 (n/a)569.50 (n/a)327.90 (n/a)163.01 (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)
339feb3 — 2026-09-02 19:43:150.34 (+7.42%)0.26 (+22.14%)0.28 (+41.98%)0.14 (+35.55%)0.07 (-11.40%)959.20 (-26.23%)560.88 (-22.85%)476.30 (-29.56%)391.30 (-6.90%)227.87 (-34.79%)
a279467 — 2026-08-31 16:07:160.31 (n/a)0.21 (n/a)0.19 (n/a)0.10 (n/a)0.08 (n/a)1300.20 (n/a)726.98 (n/a)676.20 (n/a)420.30 (n/a)349.42 (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)
339feb3 — 2026-09-02 19:43:150.49 (+30.13%)0.41 (+52.24%)0.46 (+68.02%)0.19 (+137.32%)0.12 (+4.28%)681.70 (-57.86%)363.64 (-45.44%)284.40 (-40.49%)265.00 (-23.17%)178.33 (-66.79%)
a279467 — 2026-08-31 16:07:160.38 (n/a)0.27 (n/a)0.27 (n/a)0.08 (n/a)0.12 (n/a)1617.80 (n/a)666.54 (n/a)477.90 (n/a)344.90 (n/a)536.92 (n/a)
iron/operators/strided_copy

test_strided_copy[chunked_transfer]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.02 (-2.77%)0.01 (-6.05%)0.01 (-13.10%)0.01 (-9.68%)0.00 (+1.00%)613.50 (+10.72%)393.06 (+7.80%)342.80 (+15.07%)241.90 (+2.89%)148.62 (+14.12%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.00 (n/a)554.10 (n/a)364.62 (n/a)297.90 (n/a)235.10 (n/a)130.23 (n/a)

test_strided_copy[contiguous]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.02 (-5.97%)0.01 (+9.93%)0.01 (-17.72%)0.01 (+268.56%)0.00 (-33.91%)513.70 (-72.87%)355.14 (-44.45%)352.10 (+21.54%)235.80 (+6.36%)120.38 (-83.05%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.00 (n/a)0.01 (n/a)1893.30 (n/a)639.28 (n/a)289.70 (n/a)221.70 (n/a)710.18 (n/a)

test_strided_copy[four_channels]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.02 (-1.05%)0.01 (+0.78%)0.01 (+1.03%)0.01 (+13.27%)0.00 (-15.02%)479.90 (-11.72%)335.68 (-5.62%)275.80 (-1.01%)217.70 (+1.07%)123.84 (-22.51%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)543.60 (n/a)355.68 (n/a)278.60 (n/a)215.40 (n/a)159.81 (n/a)

test_strided_copy[kv_slot0]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.46 (-16.36%)0.38 (-18.11%)0.40 (-19.80%)0.28 (+22.36%)0.09 (-36.21%)478.70 (-18.28%)366.84 (+14.05%)329.10 (+24.71%)286.70 (+19.56%)89.54 (-39.74%)
a279467 — 2026-08-31 16:07:160.55 (n/a)0.46 (n/a)0.50 (n/a)0.23 (n/a)0.14 (n/a)585.80 (n/a)321.64 (n/a)263.90 (n/a)239.80 (n/a)148.57 (n/a)

test_strided_copy[kv_slot5]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.39 (-35.08%)0.28 (-46.19%)0.27 (-48.58%)0.20 (-55.48%)0.07 (+37.62%)648.60 (+124.58%)490.18 (+93.64%)496.20 (+94.51%)337.80 (+54.04%)117.94 (+371.66%)
a279467 — 2026-08-31 16:07:160.60 (n/a)0.53 (n/a)0.52 (n/a)0.46 (n/a)0.05 (n/a)288.80 (n/a)253.14 (n/a)255.10 (n/a)219.30 (n/a)25.00 (n/a)

test_strided_copy[kv_slot5_four_channels]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.54 (+26.83%)0.40 (+28.15%)0.41 (+36.86%)0.26 (+0.64%)0.12 (+81.72%)502.60 (-0.63%)357.40 (-18.12%)325.90 (-26.91%)244.40 (-21.16%)113.14 (+46.04%)
a279467 — 2026-08-31 16:07:160.43 (n/a)0.31 (n/a)0.30 (n/a)0.26 (n/a)0.07 (n/a)505.80 (n/a)436.48 (n/a)445.90 (n/a)310.00 (n/a)77.47 (n/a)

test_strided_copy[kv_slot5_two_channels]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.51 (+8.58%)0.33 (-0.07%)0.40 (+58.79%)0.07 (-73.23%)0.18 (+52.40%)2028.80 (+273.49%)695.92 (+59.68%)331.90 (-37.03%)257.10 (-7.92%)755.80 (+440.91%)
a279467 — 2026-08-31 16:07:160.47 (n/a)0.33 (n/a)0.25 (n/a)0.24 (n/a)0.12 (n/a)543.20 (n/a)435.82 (n/a)527.10 (n/a)279.20 (n/a)139.73 (n/a)

test_strided_copy[kv_slot_last]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.55 (-11.40%)0.39 (-14.68%)0.46 (+9.22%)0.07 (-79.30%)0.20 (+84.18%)1858.30 (+383.18%)611.34 (+100.54%)287.50 (-8.44%)241.50 (+12.85%)701.06 (+946.13%)
a279467 — 2026-08-31 16:07:160.62 (n/a)0.45 (n/a)0.42 (n/a)0.34 (n/a)0.11 (n/a)384.60 (n/a)304.84 (n/a)314.00 (n/a)214.00 (n/a)67.01 (n/a)

test_strided_copy[two_channels]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.02 (-11.03%)0.01 (+10.55%)0.01 (-4.59%)0.01 (+22.00%)0.00 (-19.08%)597.40 (-18.04%)342.64 (-16.79%)310.60 (+4.83%)226.60 (+12.40%)152.33 (-29.82%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)728.90 (n/a)411.80 (n/a)296.30 (n/a)201.60 (n/a)217.07 (n/a)

test_strided_copy[two_channels_chunked]

Commit/Date Bandwidth (max)Bandwidth (mean)Bandwidth (median)Bandwidth (min)Bandwidth (stddev)Latency (max)Latency (mean)Latency (median)Latency (min)Latency (stddev)
339feb3 — 2026-09-02 19:43:150.03 (+65.54%)0.02 (+42.65%)0.02 (+24.02%)0.01 (+32.84%)0.01 (+66.94%)395.40 (-24.73%)257.46 (-28.82%)236.10 (-19.36%)156.10 (-39.59%)88.29 (-23.97%)
a279467 — 2026-08-31 16:07:160.02 (n/a)0.01 (n/a)0.01 (n/a)0.01 (n/a)0.00 (n/a)525.30 (n/a)361.68 (n/a)292.80 (n/a)258.40 (n/a)116.12 (n/a)

test_transfer_size_not_dividing_per_channel_share_is_rejected[iter0]

No metrics available.

test_transfer_size_not_dividing_per_channel_share_is_rejected[iter1]

No metrics available.

test_transfer_size_not_dividing_per_channel_share_is_rejected[iter2]

No metrics available.

test_transfer_size_not_dividing_per_channel_share_is_rejected[iter3]

No metrics available.

test_transfer_size_not_dividing_per_channel_share_is_rejected[iter4]

No metrics available.

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)
339feb3 — 2026-09-02 19:43:150.00 (+100.00%)0.00 (+50.00%)0.00 (+0.00%)0.00 (+0.00%)0.00 (+300.00%)22236.87 (+6.98%)15314.73 (-11.71%)19432.03 (+10.67%)6409.92 (-56.46%)7998.65 (+214.91%)
a279467 — 2026-08-31 16:07:160.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)20786.53 (n/a)17346.57 (n/a)17558.44 (n/a)14720.43 (n/a)2539.98 (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)
339feb3 — 2026-09-02 19:43:150.00 (-46.15%)0.00 (-41.03%)0.00 (-20.00%)0.00 (+0.00%)0.00 (-71.84%)21172.27 (+14.61%)18468.39 (+40.35%)19544.67 (+18.36%)12575.29 (+105.76%)3435.54 (-45.72%)
a279467 — 2026-08-31 16:07:160.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)0.00 (n/a)18473.88 (n/a)13158.86 (n/a)16512.32 (n/a)6111.54 (n/a)6329.32 (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)
339feb3 — 2026-09-02 19:43:150.15 (-3.17%)0.12 (+16.18%)0.14 (+53.02%)0.07 (+7.00%)0.03 (-0.90%)29830.15 (-6.59%)19045.00 (-14.17%)15044.84 (-34.62%)14006.94 (+3.28%)6763.05 (-4.38%)
a279467 — 2026-08-31 16:07:160.15 (n/a)0.10 (n/a)0.09 (n/a)0.07 (n/a)0.03 (n/a)31935.69 (n/a)22189.18 (n/a)23011.36 (n/a)13562.18 (n/a)7072.47 (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)
339feb3 — 2026-09-02 19:43:152.05 (+5.16%)1.40 (+24.16%)1.62 (+65.71%)0.16 (-35.46%)0.72 (+3.71%)3260.90 (+54.96%)900.96 (+15.19%)324.00 (-39.65%)255.80 (-4.91%)1319.66 (+73.88%)
a279467 — 2026-08-31 16:07:161.95 (n/a)1.13 (n/a)0.98 (n/a)0.25 (n/a)0.69 (n/a)2104.40 (n/a)782.18 (n/a)536.90 (n/a)269.00 (n/a)758.94 (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)
339feb3 — 2026-09-02 19:43:152.68 (-11.04%)2.15 (+12.01%)2.58 (+0.74%)0.30 (-8.86%)1.03 (-9.37%)3498.40 (+9.73%)1021.54 (-3.55%)407.10 (-0.73%)390.70 (+12.40%)1384.63 (+14.04%)
a279467 — 2026-08-31 16:07:163.02 (n/a)1.92 (n/a)2.56 (n/a)0.33 (n/a)1.14 (n/a)3188.30 (n/a)1059.16 (n/a)410.10 (n/a)347.60 (n/a)1214.20 (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)
339feb3 — 2026-09-02 19:43:152.28 (+39.02%)1.67 (+91.11%)1.68 (+170.21%)0.87 (+89.20%)0.54 (+12.53%)600.80 (-47.15%)350.98 (-52.29%)313.00 (-62.99%)229.70 (-28.06%)147.64 (-54.45%)
a279467 — 2026-08-31 16:07:161.64 (n/a)0.87 (n/a)0.62 (n/a)0.46 (n/a)0.48 (n/a)1136.80 (n/a)735.64 (n/a)845.70 (n/a)319.30 (n/a)324.12 (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)

auto-merge was automatically disabled September 1, 2026 19:54

Head branch was pushed to by a user without write access

Kernel objects/archives are named without an arch component (e.g. "mul.o"),
but KernelCompilationRule.compile() passes a different --target and
runtime-lib -I per arch, and aie_kernels/generic/ sources compile to
different machine code per arch from the same input file. mtime-only
is_available_in_filesystem() can't see any of that, so a shared build_dir
lets one arch's build silently reuse the other's object; this is what
produced 75 bogus ElementwiseMul failures when an npu1 run's mul.o was
picked up by the following npu2 run.

move_artifacts() now places KernelObjectArtifact/KernelArchiveArtifact
under build_dir/<get_kernel_dir()>; every other artifact keeps its current
path. Also fixes dequant's expand_aie2_{tile_size}.o, which hardcoded the
aie2 literal while compiling for the current target.

iron/tests/compilation/kernel_object_arch_isolation.py fails on both
counts before this change.
_link_build_outputs_into() skips directories, so scoping kernel objects
under build_dir/<arch> stopped them being linked into <design>.mlir.d,
where aiecc resolves link_with="axpy.o". ld.lld then failed with "cannot
open .../axpy.o: No such file or directory" on all three device suites.

Links the current arch's subdirectory as well, flattened. Only the current
one: walking all of them would put both arches' mul.o in one work dir and
reinstate the collision the per-arch scoping exists to prevent.

Claude-Session: https://claude.ai/code/session_014y7hzKhehcyoe74h2pRmfW
@atassis
atassis force-pushed the iron-kernel-obj-arch branch from c84f60c to c562dcb Compare September 2, 2026 13:02
@andrej
andrej enabled auto-merge September 2, 2026 19:41
@andrej
andrej added this pull request to the merge queue Sep 2, 2026
Merged via the queue into amd:devel with commit 0d9ebcd Sep 2, 2026
5 checks passed
@atassis
atassis deleted the iron-kernel-obj-arch branch September 3, 2026 00:31
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