From f95dca375cfff93d69f3ca0fb89c66da43c54036 Mon Sep 17 00:00:00 2001 From: aien-spark Date: Sat, 31 Oct 2026 07:01:44 -0500 Subject: [PATCH] gemm_ex general GEMM entry (#139 collected without build-pic history) One commit with the tree of CUDApp#139 head 117d8d7114ab641bdb31c57a4066abd0de86e4e4 on main e7cc7d69. It replaces #139 so that the build-pic/ objects added in 446f84c and removed in 117d8d7 (151 files, 5,797,971 bytes) never enter main history under a merge commit. Collected #139 commits: - 117d8d7114ab641bdb31c57a4066abd0de86e4e4 Remove build-pic/ objects committed by mistake in 446f84c (author: aien-spark) - 446f84c8fccf8b137b5b0574ac64d8b9c9f979d5 gemm_ex: chip receipt on the merged kernels (902 checks, evidence/GEMM-GENERAL-00c9cf9); README points at it (author: aien-spark) - 4e6609f4aa0c426e4348c18659f8d0c30fa2ab35 gemm_ex after main merge: link gemm_ex into the native runtime test; drift baseline records omega's bw_warp_sim_tc.h blob (author: aien-spark) - fc591d685ffce5a38013103aaf193867a870ca7f gemm_ex test: DnnGpu's adversarial bf16 K=1808 regression (got exactly 0x1p+0, err above the old flat bound, inside the step_c() bound) (author: Drake Stapleton) - 7c1a708cd721e628b0b99646fd69ec67e0f33b23 gemm_ex ab-2: the remaining small-cell overhead is measured, not yet attributed (author: Drake Stapleton) - 02cd03d9427d45eb664d031b93947cf22ab895a9 gemm_ex A/B ab-2 receipt: 0/18 REGRESSION, r 0.94-1.24 (ab-1 2.17-3.25), plan gate FAIL in 5 small cells; chip tier PASS 901 at 0d2b14a; overhead recorded in API.md 9.8 (author: Drake Stapleton) - df0e1ca0b38ebbf76432e878e6b77ebb571bc9b7 gemm_ex A/B ab-2: predeclared plan (before any ab-2 timed run; ab-1 stands) (author: Drake Stapleton) - 0d2b14a033e07f49bf2b72b37e8b9a8e66805bb5 gemm_ex: host overhead (ab-1 gate FAIL): vector inf/NaN scan, lazy buffers, one-part path without the double sum, C3 writes C in place for the bit-for-bit case (author: Drake Stapleton) - 30dee063496001984beb82d98c5f1a43c05f3bf4 gemm_ex A/B ab-1 receipt: 18/18 cells REGRESSION (r 2.17-3.25), plan gate FAIL (author: Drake Stapleton) - 1da99c122495c57dee4dcc248fbab5cbd24940e3 gemm_ex served-shape A/B: predeclared plan, driver and hold script (before any timed run) (author: Drake Stapleton) - 90c3f895a414c96edde23a5123dcbde5967d3d3e gemm_ex: runtime API 0.6.0 manifest entries, API.md section 9.8, README limits, successor #144 (author: Drake Stapleton) - eb5b8923ac988626222ad5a85741d10989ebccc6 gemm_ex test: comment order (author: Drake Stapleton) - e398f0b0b2786a538c16d45fcbbb993f1af7230d gemm_ex test: per-step bound constant from the chip-exact model, compounding (author: Drake Stapleton) - 34f1b31ef52f218b12096fbd2f44aebb66a147d4 manifest: OmegaGpuFp8GemmInfo 88 bytes (+general), OmegaGpuFp8Info.general field, omega_gpu_fp8_general_rows internal (make test-runtime-api PASS) (author: Drake Stapleton) - b28372d1f9ebb4edf5f347eb6ce2e8d7ca21e2c5 evidence: GEMM-GENERAL-fba0384 chip receipts (gemm_ex 901 checks PASS; regression gemm/fp8/fp8gemm/matmul; part0of4 = first run whose one FAIL was a test defect: mutant 5 on a one-k-block shape) (author: Drake Stapleton) - fba0384a004db27c0316e17a67a63d4375b48d15 gemm_ex: general GEMM entry (any M,N,K, op N/T, ld, alpha/beta, strided batch, bf16/f16/f32-via-bf16x3/fp8 scales) + fp8 GEMV/grouped GEMM fallback for refused shapes (author: Drake Stapleton) - 00c9cf9affdcdedccf9900ce3e5fee997f494d69 Merge remote-tracking branch 'origin/main' into pr139 (merge, author: aien-spark) - 8931aff721ab3f7123a66db6b139ee995e97e780 Merge remote-tracking branch 'origin/main' into pr139 (merge, author: aien-spark) --- README.md | 4 +- docs/runtime/API.md | 66 +- docs/runtime/omega_runtime_api.internal | 3 + docs/runtime/omega_runtime_api.manifest | 71 +- docs/runtime/portability_table.tsv | 2 + evidence/GEMM-GENERAL-00c9cf9/SHA256SUMS | 4 + evidence/GEMM-GENERAL-00c9cf9/SOURCES | 4 + evidence/GEMM-GENERAL-00c9cf9/chip.log | 915 +++++++++++++++++ .../GEMM-GENERAL-00c9cf9/window-close.json | 7 + .../GEMM-GENERAL-00c9cf9/window-open.json | 7 + .../GEMM-GENERAL-AB-20261027/AB-PLAN-ab2.md | 38 + evidence/GEMM-GENERAL-AB-20261027/AB-PLAN.md | 75 ++ .../GEMM-GENERAL-AB-20261027/PLAN-SHA256SUMS | 4 + .../GEMM-GENERAL-AB-20261027/RESULT-ab2.md | 44 + evidence/GEMM-GENERAL-AB-20261027/RESULT.md | 35 + evidence/GEMM-GENERAL-AB-20261027/SHA256SUMS | 12 + .../GEMM-GENERAL-AB-20261027/ab-1/hold.log | 6 + .../GEMM-GENERAL-AB-20261027/ab-1/run.log | 381 ++++++++ .../GEMM-GENERAL-AB-20261027/ab-1/stats.wl | 1 + .../ab-1/wolfram-stats.txt | 2 + .../ab-2/chip/hold.log | 6 + .../ab-2/chip/run.log | 914 +++++++++++++++++ .../GEMM-GENERAL-AB-20261027/ab-2/hold.log | 6 + .../GEMM-GENERAL-AB-20261027/ab-2/run.log | 381 ++++++++ .../GEMM-GENERAL-AB-20261027/ab-2/stats.wl | 1 + .../ab-2/wolfram-stats.txt | 2 + .../GEMM-GENERAL-AB-20261027/gemm_ex_ab.c | 171 ++++ evidence/GEMM-GENERAL-AB-20261027/hold.sh | 39 + evidence/GEMM-GENERAL-fba0384/SHA256SUMS | 4 + evidence/GEMM-GENERAL-fba0384/full.log | 917 ++++++++++++++++++ evidence/GEMM-GENERAL-fba0384/part0of4.log | 347 +++++++ evidence/GEMM-GENERAL-fba0384/regress.log | 328 +++++++ evidence/GEMM-GENERAL-fba0384/sweep-list.txt | 601 ++++++++++++ mk/gemm-ex.mk | 26 + mk/omega-gpu-engine.mk | 3 +- src/omega_gpu_fp8_api.c | 58 +- src/omega_gpu_fp8_api.h | 15 + src/omega_gpu_fp8gemm_api.c | 34 +- src/omega_gpu_fp8gemm_api.h | 10 +- src/omega_gpu_gemm.c | 161 ++- src/omega_gpu_gemm.h | 23 +- src/omega_gpu_gemm_ex.c | 501 ++++++++++ src/omega_gpu_gemm_ex.h | 114 +++ src/omega_runtime_api.h | 2 +- tests/bw_warp_sim_tc.h | 15 +- tests/gpu_gemm_ex_test.c | 912 +++++++++++++++++ tests/gpu_gemm_test.c | 2 +- tools/extract/.crumb | 8 +- tools/extract/drift-baseline.tsv | 2 +- 49 files changed, 7219 insertions(+), 65 deletions(-) create mode 100644 evidence/GEMM-GENERAL-00c9cf9/SHA256SUMS create mode 100644 evidence/GEMM-GENERAL-00c9cf9/SOURCES create mode 100644 evidence/GEMM-GENERAL-00c9cf9/chip.log create mode 100644 evidence/GEMM-GENERAL-00c9cf9/window-close.json create mode 100644 evidence/GEMM-GENERAL-00c9cf9/window-open.json create mode 100644 evidence/GEMM-GENERAL-AB-20261027/AB-PLAN-ab2.md create mode 100644 evidence/GEMM-GENERAL-AB-20261027/AB-PLAN.md create mode 100644 evidence/GEMM-GENERAL-AB-20261027/PLAN-SHA256SUMS create mode 100644 evidence/GEMM-GENERAL-AB-20261027/RESULT-ab2.md create mode 100644 evidence/GEMM-GENERAL-AB-20261027/RESULT.md create mode 100644 evidence/GEMM-GENERAL-AB-20261027/SHA256SUMS create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-1/hold.log create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-1/run.log create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-1/stats.wl create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-1/wolfram-stats.txt create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/hold.log create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/run.log create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-2/hold.log create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-2/run.log create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-2/stats.wl create mode 100644 evidence/GEMM-GENERAL-AB-20261027/ab-2/wolfram-stats.txt create mode 100644 evidence/GEMM-GENERAL-AB-20261027/gemm_ex_ab.c create mode 100755 evidence/GEMM-GENERAL-AB-20261027/hold.sh create mode 100644 evidence/GEMM-GENERAL-fba0384/SHA256SUMS create mode 100644 evidence/GEMM-GENERAL-fba0384/full.log create mode 100644 evidence/GEMM-GENERAL-fba0384/part0of4.log create mode 100644 evidence/GEMM-GENERAL-fba0384/regress.log create mode 100644 evidence/GEMM-GENERAL-fba0384/sweep-list.txt create mode 100644 mk/gemm-ex.mk create mode 100644 src/omega_gpu_gemm_ex.c create mode 100644 src/omega_gpu_gemm_ex.h create mode 100644 tests/gpu_gemm_ex_test.c diff --git a/README.md b/README.md index e8885451..f3c7fad8 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ The CPU does five things, all of them plain memory writes except the last, which | nvcc, NVVM, PTX, ptxas | Compile the kernel to machine code | My own sm_121 encoder and register allocator | PASS: every GPU kernel this stack runs is encoded by it | | libcuda (driver API) | Talk to the kernel driver | `nvrm` client, ioctls straight to the open kernel module | PARTIAL: implemented; M16 historical summary is unauditable here (see below) | | libcudart (runtime API) | Device, memory, launch, streams | Session, command lists, job engine | PARTIAL: one device, one process; no streams or events yet; a timeout ends GPU use for the process | -| cuBLAS | Matrix multiply | Matmul, tensor-core GEMM, FP8 and BF16 libraries | PARTIAL: shaped for the models AIEN runs; no any-shape GEMM yet | +| cuBLAS | Matrix multiply | Matmul, tensor-core GEMM, FP8 and BF16 libraries, and the general `omega_gpu_gemm_ex` (any M, N, K, op N/T, leading dimensions, alpha/beta, strided batches, f32/bf16/f16/e4m3/e5m2 inputs, fp8 scales) | PARTIAL: the fast kernels are shaped for the models AIEN runs. `gemm_ex` takes any shape (902 chip checks on the merged kernels, `evidence/GEMM-GENERAL-00c9cf9/`; the earlier 901 checks of `evidence/GEMM-GENERAL-fba0384/` predate the main merge) but runs from host memory with the k sum on the host, so it is not a serving path; f32 is bf16x3, not IEEE fp32; no fp8 output (`docs/runtime/API.md` 9.8) | | cuDNN, FlashAttention | Attention and network layers | Decode and prefill attention | PARTIAL: the fused fast paths are model-shaped; since runtime API 0.6.0 a general fallback (`omega_gpu_attention_general`, EXPERIMENTAL) takes head_dim 1..256, any MHA/GQA/MQA ratio, causal or not, sliding windows and any length, chip-exercised on GB10 (`evidence/ATTN-GENERAL-20261027-4d51f91f/`). It is a scalar f32 kernel without tensor cores, and has no ALiBi, softcap or dropout | | CUB, Thrust | Reductions, scans, sorts | Frozen-order reductions (`evidence/E1-CLOSURE/`) | PARTIAL: no general scan or sort | | cuFFT, cuRAND | FFT, random numbers | none yet | MISSING | @@ -381,7 +381,7 @@ Receipt: `evidence/dx/d3-faults/hello-sim-spark.txt`. **FIXED for the kernels CU **How CUDA++ fixes it.** Every CUDA++ library is source in this repository, built by the same kernel builder you can call, with host references and a simulator. -**NOT YET.** CUDA++'s matrix multiply is shaped for the models Aien runs. Attention has a general fallback since runtime API 0.6.0 (head_dim 1..256, any GQA ratio, causal and non-causal, sliding window, any length), but it is a scalar f32 kernel; its fast fused paths are still model-shaped. Any-shape GEMM, scans and sorts (Omega bar C3) and my own disassembler (bar C6) are ledger L386 (`docs/issues/D11-libraries.md`, `docs/issues/D13-disassembler.md`). +**NOT YET.** CUDA++'s fast matrix multiply kernels are shaped for the models AIEN runs. The general GEMM `omega_gpu_gemm_ex` takes any shape, but it works from host memory and sums k on the host (`docs/runtime/API.md` section 9.8): correct on the GB10, not a serving path. Attention has a general fallback since runtime API 0.6.0 (head_dim 1..256, any GQA ratio, causal and non-causal, sliding window, any length), but it is a scalar f32 kernel; its fast fused paths are still model-shaped. A device-resident any-shape GEMM, scans and sorts (Omega bar C3) and my own disassembler (bar C6) are ledger L386 (`docs/issues/D11-libraries.md`, `docs/issues/D13-disassembler.md`). ### 11. The incentive: compute sold from data centers diff --git a/docs/runtime/API.md b/docs/runtime/API.md index 84f25a43..85835495 100644 --- a/docs/runtime/API.md +++ b/docs/runtime/API.md @@ -1,6 +1,6 @@ # Omega Runtime API v0 -Omega Runtime API version: 0.7.0 +Omega Runtime API version: 0.8.0 Status: first written version, 2026-10-19 (slice R1, omega-mv#594, tracking #593). Source of truth is the C headers in `src/`. This file describes them; `docs/runtime/omega_runtime_api.manifest` lists them; `make test-runtime-api` checks the @@ -36,8 +36,15 @@ signature against the headers on every run. ## 2. Version and compatibility rule -The version is MAJOR.MINOR.PATCH (semantic versioning), currently **0.7.0**. It is a property of the list of entries and +The version is MAJOR.MINOR.PATCH (semantic versioning), currently **0.8.0**. It is a property of the list of entries and their behaviour, not of the library build. Changes so far: +- 0.8.0 (CUDApp#139): adds the EXPERIMENTAL general matrix multiply of section 9.8 (`src/omega_gpu_gemm_ex.h`: + `omega_gpu_gemm_ex`, `omega_gpu_gemm_ex_fp8_block_rows`, `OmegaGemmExArgs`, `OmegaGemmExInfo` and their constants), + and two of its test hooks to the INTERNAL list. **Layout change:** `OmegaGpuFp8GemmInfo` (EXPERIMENTAL, section 9.7) + grows from 80 to 88 bytes with the new field `general` at offset 80 (1 when the call took the general fallback for a + shape the tuned kernel refuses); a caller built against the 0.7.0 layout must be rebuilt. `OmegaGpuFp8Info` gains the + same field at offset 156, inside existing padding, so it stays 160 bytes. `omega_gpu_fp8_general_rows` goes on the + INTERNAL list. The struct is EXPERIMENTAL, so the size change is MINOR under the rule below. - 0.7.0 (omega #588, carried with the b5ab3fe sync): adds EXPERIMENTAL `omega_gpu_decode_graph_abort_token`, which releases the session lock and leaves the token without submitting what was recorded. A failed `begin_token` now releases the lock itself, and `omega_gpu_decode_graph_token` answers every begin failure (not only BAD_ARGS) without @@ -427,7 +434,7 @@ Each line is a gap named in `docs/runtime/ROADMAP.md` section 1 (on branch `runt - More than one device in a process (a second channel in the same group is `omega_gpu_session_extra_queue`, EXPERIMENTAL); sharing the GPU between processes (a second channel failed under load: omega-mv#523). - Recovery after a latch beyond `omega_gpu_session_recover` (EXPERIMENTAL since 0.5.0: throw the device away and open a new one in the same process; a driver teardown fault still ends GPU use for the process). -- Async copy, stream and event objects, host callbacks (0.5.0 has only two-queue submission and cross-queue waits on command lists, EXPERIMENTAL). +- Async copy, stream and event objects, host callbacks (0.6.0 has only two-queue submission and cross-queue waits on command lists, EXPERIMENTAL). - Cached read-write buffers; unified memory. - Launches with more than the 32 argument words, or an asynchronous single launch. - A second real backend (WSL2 `/dev/dxg` is on branch `rig/gb20x`; native AIENOS is planned), so the platform contract has only been exercised by one. @@ -494,8 +501,8 @@ paragraph is out of date (whether it is chip-qualified on main is UNVERIFIED her The entries carried over from aien-sovereign-core's manifest: `src/omega_gpu_matmul_api.h`, `omega_gpu_elementwise_api.h`, `omega_gpu_attention_api.h`, `omega_gpu_serving.h` (the functions and structs after the `libraries` comment in the -manifest). Reason: shapes and formats follow one model (Qwen3-30B); there is no general any-shape GEMM yet -(`docs/runtime/ROADMAP.md` 1.3, branch `runtime/roadmap`). Attention is the exception since 0.6.0: `omega_gpu_attention_general` (declared after the carried block) takes every head_dim 1..256 and any MHA / GQA / MQA head split, and the carried attention entries fall back to it for the shapes their tuned kernels refuse. They are the surface sovereign-core's Rust binding uses today. They are not described entry by entry in v0; +manifest). Reason: shapes and formats follow one model (Qwen3-30B); the general any-shape GEMM is the separate entry of +section 9.8. Attention is the exception since 0.6.0: `omega_gpu_attention_general` (declared after the carried block) takes every head_dim 1..256 and any MHA / GQA / MQA head split, and the carried attention entries fall back to it for the shapes their tuned kernels refuse. They are the surface sovereign-core's Rust binding uses today. They are not described entry by entry in v0; their headers are the description. One value differs from sovereign-core's pinned copy: `OMEGA_GPU_MATMUL_MAX_CTAS` is 1024 in the header (changed by omega #473, commit 98cecadc), 64 in their manifest. Omega's manifest is canonical; R12 brings theirs level. @@ -570,10 +577,56 @@ values, poison patterns) are in the INTERNAL list. | `src/omega_gpu_prefill.h` | `OmegaPfWeights`, `omega_gpu_pf_rc_name`, `omega_gpu_pf_alloc_dev`, `omega_gpu_pf_alloc_host`, `omega_gpu_pf_free`, `omega_gpu_pf_upload`, `omega_gpu_pf_download`, `omega_gpu_pf_copy_va`, `omega_gpu_pf_stats`, `omega_gpu_pf_stats_reset`, `omega_gpu_pf_weights_upload`, `omega_gpu_pf_weights_free`, `omega_gpu_pf_weights_host_form`, `omega_gpu_pf_gemm_bm`, `omega_gpu_pf_gemm_tiles`, `omega_gpu_pf_gemm`, `omega_gpu_pf_gemm_set_shape`, `omega_gpu_pf_quant`, `omega_gpu_pf_qgemm_bm`, `omega_gpu_pf_qgemm_tiles`, `omega_gpu_pf_qgemm_tiles_va`, `omega_gpu_pf_qgemm`, `omega_gpu_pf_qgemm_set_shape`, `omega_gpu_pf_quant_record`, `omega_gpu_pf_qgemm_record` | Device-resident one-pass prefill for OWN-30B; arguments carry raw device addresses. | | `src/omega_gpu_pfhost.h` | `omega_gpu_pf_router_rows`, `omega_gpu_pf_router_packed_bytes`, `omega_gpu_pf_router_pack`, `omega_gpu_pf_router_logits`, `omega_gpu_pf_moe_combine`, `omega_gpu_pf_router_set_rows` | Whole-prompt prefill router logits and MoE combine for OWN-30B; arguments carry raw device addresses. | +### 9.8 General matrix multiply (`src/omega_gpu_gemm_ex.h`, added in 0.8.0) + +One entry with the shape contract of `cblas_?gemm` (RowMajor): `C_b = alpha * s * op(A_b) op(B_b) + beta * C_b` for any +M, N, K >= 1 (up to `OMEGA_GPU_GEMM_EX_MAX_DIM`), op N or T for each input, any leading dimension, strided batches, +alpha/beta, A and B each f32, bf16, f16, e4m3 or e5m2, C f32, bf16 or f16, and per-tensor or block fp8 scales. The header +comment is the full contract (which input pairs run natively on HMMA/QMMA, which are widened exactly, which go through +bf16x3, how inf and NaN propagate, how block scales cut k). Result codes are the `OMEGA_GPU_GEMM_*` codes of +`src/omega_gpu_gemm.h`, which is not a manifest header. + +It is EXPERIMENTAL for four reasons, each one a stated limit rather than a defect: +- **Host memory, host orchestration.** A, B and C are host pointers, and every call with alpha != 0 scans A and B on the + host for inf and NaN (one read of each). The common case, the native route with one k part, alpha s 1, beta 0, C f32 + with ldc n, n <= 16384 and finite inputs, is one call of the C3 kernels (`omega_gpu_gemm_ld`, which copies its operands + to the GPU) per 16384 rows of C, writing C in place. Every other call cuts C into host tiles of at most 4096 x 4096 and + k into parts of at most 16384 (1808 on the bf16x3 route), runs every part as one C3 call, and sums the parts and + applies alpha, beta and the scales on the host in double. There is no device-resident form and no + record-into-command-list form, so it is not a serving path: the tuned per-model kernels of sections 9.5 and 9.7 stay + the fast path for the shapes they take. + Measured cost at the nine served 35B shapes, bf16 and e4m3 (GB10, predeclared A/B against `omega_gpu_gemm_ld`, + `evidence/GEMM-GENERAL-AB-20261027/`): after the 0d2b14a host-overhead fix the median ratio is 0.94-1.24 + (ab-2), over the plan's 1.10 limit in five small cells: e4m3 64x1024x2048 1.24, e4m3 64x2048x512 1.20, bf16 + 64x1024x2048 1.17, e4m3 16x12288x2048 1.10, e4m3 1x8192x2048 1.10 (about 0.1-0.35 ms per call; not yet attributed). + Before the fix it was 2.17-3.25 (ab-1). +- **f32 is not IEEE fp32.** f32 inputs run as bf16x3 (three bf16 planes, nine plane products); accuracy is stated + against a double reference in `tests/gpu_gemm_ex_test.c`, and parts of a value below 2^-133 are dropped. + `OMEGA_GEMM_EX_F32_FFMA_REF` is the slow per-k FFMA comparator, not a fast path. +- **fp8 output is refused** (`OMEGA_GPU_GEMM_UNSUPPORTED`). +- **Migration-pending C, one chip.** `src/omega_gpu_gemm_ex.c` is new C behind the build switch + `CUDAPP_MIGRATION_PENDING_GEMM_EX` (`mk/gemm-ex.mk`, default 1; 0 refuses every call with `OMEGA_GPU_GEMM_UNSUPPORTED`). + Its named successor is `src/omega_gpu_gemm_ex.om` (CUDApp#144). Exercised on sm_121 (GB10) only. + +The fp8 GEMV and grouped GEMM of section 9.7 call `omega_gpu_gemm_ex_fp8_block_rows` for shapes their tuned kernels +refuse, and report it in `OmegaGpuFp8Info.general` / `OmegaGpuFp8GemmInfo.general`; those rows carry the bf16x3 +accuracy, not the tuned kernels' bit pattern. Shapes the tuned kernels take never reach the fallback. + +| Entry | Signature (manifest spelling) | +| --- | --- | +| `OmegaGemmExArgs` | struct, 200 bytes (fields in the manifest) | +| `OmegaGemmExInfo` | struct, 24 bytes: `route`, `core_type`, `core_calls`, `host_fixed` | +| `omega_gpu_gemm_ex` | `fn(*const OmegaGemmExArgs) -> i32` | +| `omega_gpu_gemm_ex_fp8_block_rows` | `fn(*const u8, *const f32, f64, u32, u32, u32, *const f32, *const u16, u32, *mut f32, u64, *mut OmegaGemmExInfo) -> i32` | + +The enumerators of `OmegaGemmOp`, `OmegaGemmDtype`, `OmegaGemmExCompute`, `OmegaGemmScale` and `OmegaGemmRoute` and the two +maxima are EXPERIMENTAL constants in the manifest. `omega_gpu_gemm_ex_set_backend` and `omega_gpu_gemm_ex_test_set_mutant` +are TEST ONLY (INTERNAL list). + ## 10. INTERNAL (not part of the API) Not in the manifest; may change or vanish without notice. The complete list of such names in the manifest headers, each -with its reason, is `docs/runtime/omega_runtime_api.internal` (192 names in 0.6.0: test hooks, kernel builders, encoder +with its reason, is `docs/runtime/omega_runtime_api.internal` (195 names in 0.8.0: test hooks, kernel builders, encoder probes, serving-daemon internals and launch limits; the 25 serving internals and launch limits are marked "candidate EXPERIMENTAL", the ones a caller is most likely to want promoted). `make test-runtime-api` fails on a name in a manifest header that is in neither file. Notable ones: - `omega_gpu_session_set_error` (library code names its failure stage through it). @@ -581,6 +634,7 @@ EXPERIMENTAL", the ones a caller is most likely to want promoted). `make test-ru - `omega_gpu_engine_test_reset_block`, `omega_gpu_engine_test_force_block`, `omega_gpu_engine_test_set_clock`: TEST ONLY. A blocked process must stay blocked because the GPU may still be running. - Take or return a kernel-generator type, which is backend (ADR 0043): `omega_gpu_fp8_depth_for`, `omega_gpu_fp8_kernel_fits`, `omega_gpu_fp8gemm_kernel_fits`, `omega_gpu_bf16_kernel_fits`, `omega_gpu_tern_kernel_fits`, `omega_gpu_tcgemm_spec_for`, `omega_gpu_prefill_attn_encode`. - TEST ONLY (mutant and fault-injection setters in the decode-path headers): `omega_gpu_fp8_test_set_mutant`, `omega_gpu_fp8_test_set_no_fold`, `omega_gpu_fp8gemm_test_set_mutant`, `omega_gpu_bf16_test_set_mutant`, `omega_gpu_decode_attn_test_set_mutant`, `omega_gpu_router_test_set_mutant`, `omega_gpu_tern_test_set_mutant`, `omega_gpu_tcgemm_test_set_mutant`, `omega_gpu_prefill_attn_test_set_mutant`, `omega_gpu_prefill_attn_test_set_mirror_per_call`, `omega_gpu_prefill_attn_test_launch_ns`, `omega_gpu_moe_test_set_mutant`, `omega_gpu_moe_test_set_window_skew`, `omega_gpu_moe_test_a_row0_hits`, `omega_gpu_decode_graph_test_set_mutant`, `omega_gpu_decode_graph_test_set_barrier_none`, `omega_gpu_decode_graph_test_set_prefetch_red`, `omega_gpu_pf_gemm_test_set_mutant`, `omega_gpu_pf_quant_test_set_mutant`, `omega_gpu_pf_qgemm_test_set_mutant`, `omega_gpu_pf_router_test_set_mutant`, `omega_gpu_pf_combine_test_set_mutant`. +- General GEMM (section 9.8): `omega_gpu_gemm_ex_set_backend` (TEST ONLY: swaps the C3 core for the simulator or a host model), `omega_gpu_gemm_ex_test_set_mutant` (TEST ONLY), and `omega_gpu_fp8_general_rows`, the fp8 GEMV and grouped GEMM bridge to `omega_gpu_gemm_ex_fp8_block_rows`. - Host reference and packing helpers in the decode-path headers (not `omega_gpu_` entries): `omega_fp8_e4m3_ref`, `omega_fp8_e4m3_kernel_bits`, `omega_fp8_e4m3_is_nan`, `omega_fp8_pack_scan_nan`, `omega_fp8_pack_scales`, `omega_fp8_pack_x_f32`, `omega_fp8_pack_x_bf16`, `omega_fp8_gemv_oracle`, `omega_fp8gemm_permute_x`, `omega_dattn_bf16_rne`, `omega_dattn_bf16_f32`, `omega_dattn_rope_row`. - Launch helpers whose caller already holds the session lock: `omega_gpu_pf_kernel_locked`, `omega_gpu_pf_launch_locked`, `omega_gpu_pf_open_locked`. - Everything under `src/omega_gpu_*` and `src/omega_blackwell_*` in headers the manifest does not name (kernel builder, encoder, per-model APIs, launch helpers). diff --git a/docs/runtime/omega_runtime_api.internal b/docs/runtime/omega_runtime_api.internal index 946ca44b..96e0a62f 100644 --- a/docs/runtime/omega_runtime_api.internal +++ b/docs/runtime/omega_runtime_api.internal @@ -101,6 +101,7 @@ fn omega_dattn_bf16_rne # host reference or packing helper in a decode-path head fn omega_dattn_rope_row # host reference or packing helper in a decode-path header (not an omega_gpu_ entry) fn omega_fp8_e4m3_is_nan # host reference or packing helper in a decode-path header (not an omega_gpu_ entry) fn omega_fp8_e4m3_kernel_bits # host reference or packing helper in a decode-path header (not an omega_gpu_ entry) +fn omega_gpu_fp8_general_rows # internal: the general fallback of the fp8 GEMV and grouped GEMM (gemm_ex fp8 block rows), called by omega_gpu_fp8gemm_api.c fn omega_fp8_e4m3_ref # host reference or packing helper in a decode-path header (not an omega_gpu_ entry) fn omega_fp8_gemv_oracle # host reference or packing helper in a decode-path header (not an omega_gpu_ entry) fn omega_fp8_pack_scales # host reference or packing helper in a decode-path header (not an omega_gpu_ entry) @@ -147,6 +148,8 @@ fn omega_gpu_fp8_test_set_mutant # TEST ONLY: mutant or fault-injection hook for fn omega_gpu_fp8_test_set_no_fold # TEST ONLY: mutant or fault-injection hook for the decode-path batteries fn omega_gpu_fp8gemm_kernel_fits # takes or returns a kernel-generator type, which is backend (ADR 0043) fn omega_gpu_fp8gemm_test_set_mutant # TEST ONLY: mutant or fault-injection hook for the decode-path batteries +fn omega_gpu_gemm_ex_set_backend # TEST ONLY: installs a host model or the warp simulator as gemm_ex's core (tests/gpu_gemm_ex_test.c) +fn omega_gpu_gemm_ex_test_set_mutant # TEST ONLY: mutant hook for the gemm_ex batteries fn omega_gpu_matmul_last_stages # serving-daemon internals; aien-sovereign-core does not bind it; candidate EXPERIMENTAL fn omega_gpu_matmul_reserve # serving-daemon internals; aien-sovereign-core does not bind it; candidate EXPERIMENTAL fn omega_gpu_matmul_seal # serving-daemon internals; aien-sovereign-core does not bind it; candidate EXPERIMENTAL diff --git a/docs/runtime/omega_runtime_api.manifest b/docs/runtime/omega_runtime_api.manifest index e79a9b43..60bfecc0 100644 --- a/docs/runtime/omega_runtime_api.manifest +++ b/docs/runtime/omega_runtime_api.manifest @@ -12,7 +12,7 @@ # After a deliberate header change: edit the line here, run `tools/runtime_api_check.sh --bless` to refresh numbers, review the diff, # and bump the version (MAJOR/MINOR/PATCH, rule in API.md section 2; tools/runtime_api_semver.sh checks the bump against the base). # Names a manifest header declares that are NOT API go in omega_runtime_api.internal, each with a reason (the check fails otherwise). -abi omega_runtime 0.7.0 +abi omega_runtime 0.8.0 header src/omega_runtime_api.h header src/omega_gpu_platform.h header src/omega_gpu_session.h @@ -35,11 +35,12 @@ header src/omega_gpu_moe_api.h header src/omega_gpu_decode_graph.h header src/omega_gpu_prefill.h header src/omega_gpu_pfhost.h +header src/omega_gpu_gemm_ex.h # ---- version ---- const OMEGA_RUNTIME_API_VERSION_MAJOR 0 -const OMEGA_RUNTIME_API_VERSION_MINOR 7 +const OMEGA_RUNTIME_API_VERSION_MINOR 8 const OMEGA_RUNTIME_API_VERSION_PATCH 0 -const OMEGA_RUNTIME_API_VERSION 7 +const OMEGA_RUNTIME_API_VERSION 8 # ---- platform contract (src/omega_gpu_platform.h, ABI 1.2) ---- struct OmegaGpuDeviceHandle 8 4 # STABLE field OmegaGpuDeviceHandle index 0 4 u32 1 @@ -656,7 +657,8 @@ field OmegaGpuFp8Info completion_marker 80 4 u32 1 field OmegaGpuFp8Info kernel_cache_hit 84 1 bool 1 field OmegaGpuFp8Info target_chip 85 64 c_char 64 field OmegaGpuFp8Info sm_architecture 152 4 u32 1 -struct OmegaGpuFp8GemmInfo 80 8 # EXPERIMENTAL +field OmegaGpuFp8Info general 156 4 u32 1 +struct OmegaGpuFp8GemmInfo 88 8 # EXPERIMENTAL field OmegaGpuFp8GemmInfo rows 0 4 u32 1 field OmegaGpuFp8GemmInfo segments 4 4 u32 1 field OmegaGpuFp8GemmInfo n 8 4 u32 1 @@ -673,6 +675,7 @@ field OmegaGpuFp8GemmInfo elapsed_ns 56 8 u64 1 field OmegaGpuFp8GemmInfo call_ns 64 8 u64 1 field OmegaGpuFp8GemmInfo completion_marker 72 4 u32 1 field OmegaGpuFp8GemmInfo kernel_cache_hit 76 1 bool 1 +field OmegaGpuFp8GemmInfo general 80 4 u32 1 struct OmegaPfWeights 96 8 # EXPERIMENTAL field OmegaPfWeights w 0 40 struct:OmegaGpuMem 1 field OmegaPfWeights r 40 40 struct:OmegaGpuMem 1 @@ -1026,3 +1029,63 @@ const OMEGA_GPU_ATTN_GENERAL_MAX_HEAD_DIM 256 # EXPERIMENTAL const OMEGA_GPU_ATTN_GENERAL_MAX_Q_HEADS 1024 # EXPERIMENTAL const OMEGA_GPU_ATTN_WINDOW_NONE -1 # EXPERIMENTAL fn omega_gpu_attention_general fn(*const OmegaGpuAttnGeneralDesc, *const f32, *const c_void, *const c_void, *mut f32, *mut OmegaGpuAttnInfo) -> i32 # EXPERIMENTAL +# ---- general matrix multiply (src/omega_gpu_gemm_ex.h, added in 0.8.0; EXPERIMENTAL: one chip, migration-pending C) ---- +struct OmegaGemmExInfo 24 8 # EXPERIMENTAL +field OmegaGemmExInfo route 0 4 u32 1 +field OmegaGemmExInfo core_type 4 4 u32 1 +field OmegaGemmExInfo core_calls 8 8 u64 1 +field OmegaGemmExInfo host_fixed 16 8 u64 1 +struct OmegaGemmExArgs 200 8 # EXPERIMENTAL +field OmegaGemmExArgs op_a 0 4 enum 1 +field OmegaGemmExArgs op_b 4 4 enum 1 +field OmegaGemmExArgs m 8 8 u64 1 +field OmegaGemmExArgs n 16 8 u64 1 +field OmegaGemmExArgs k 24 8 u64 1 +field OmegaGemmExArgs batch 32 8 u64 1 +field OmegaGemmExArgs a_type 40 4 enum 1 +field OmegaGemmExArgs b_type 44 4 enum 1 +field OmegaGemmExArgs c_type 48 4 enum 1 +field OmegaGemmExArgs a 56 8 ptr 1 +field OmegaGemmExArgs lda 64 8 u64 1 +field OmegaGemmExArgs stride_a 72 8 u64 1 +field OmegaGemmExArgs b 80 8 ptr 1 +field OmegaGemmExArgs ldb 88 8 u64 1 +field OmegaGemmExArgs stride_b 96 8 u64 1 +field OmegaGemmExArgs c 104 8 ptr 1 +field OmegaGemmExArgs ldc 112 8 u64 1 +field OmegaGemmExArgs stride_c 120 8 u64 1 +field OmegaGemmExArgs alpha 128 4 f32 1 +field OmegaGemmExArgs beta 132 4 f32 1 +field OmegaGemmExArgs compute 136 4 enum 1 +field OmegaGemmExArgs scale 140 4 enum 1 +field OmegaGemmExArgs scale_a 144 8 ptr 1 +field OmegaGemmExArgs scale_b 152 8 ptr 1 +field OmegaGemmExArgs scale_stride_a 160 8 u64 1 +field OmegaGemmExArgs scale_stride_b 168 8 u64 1 +field OmegaGemmExArgs block_m 176 4 u32 1 +field OmegaGemmExArgs block_n 180 4 u32 1 +field OmegaGemmExArgs block_k 184 4 u32 1 +field OmegaGemmExArgs info 192 8 ptr 1 +fn omega_gpu_gemm_ex fn(*const OmegaGemmExArgs) -> i32 # EXPERIMENTAL +fn omega_gpu_gemm_ex_fp8_block_rows fn(*const u8, *const f32, f64, u32, u32, u32, *const f32, *const u16, u32, *mut f32, u64, *mut OmegaGemmExInfo) -> i32 # EXPERIMENTAL +const OMEGA_GPU_GEMM_EX_MAX_DIM 2147483647 # EXPERIMENTAL +const OMEGA_GPU_GEMM_EX_MAX_BATCH 2147483647 # EXPERIMENTAL +const OMEGA_GEMM_OP_N 0 # EXPERIMENTAL +const OMEGA_GEMM_OP_T 1 # EXPERIMENTAL +const OMEGA_GEMM_DT_F32 0 # EXPERIMENTAL +const OMEGA_GEMM_DT_BF16 1 # EXPERIMENTAL +const OMEGA_GEMM_DT_F16 2 # EXPERIMENTAL +const OMEGA_GEMM_DT_E4M3 3 # EXPERIMENTAL +const OMEGA_GEMM_DT_E5M2 4 # EXPERIMENTAL +const OMEGA_GEMM_EX_DEFAULT 0 # EXPERIMENTAL +const OMEGA_GEMM_EX_F32_FAST_BF16 1 # EXPERIMENTAL +const OMEGA_GEMM_EX_F32_FFMA_REF 2 # EXPERIMENTAL +const OMEGA_GEMM_SCALE_NONE 0 # EXPERIMENTAL +const OMEGA_GEMM_SCALE_TENSOR 1 # EXPERIMENTAL +const OMEGA_GEMM_SCALE_BLOCK 2 # EXPERIMENTAL +const OMEGA_GEMM_ROUTE_NONE 0 # EXPERIMENTAL +const OMEGA_GEMM_ROUTE_NATIVE 1 # EXPERIMENTAL +const OMEGA_GEMM_ROUTE_WIDEN 2 # EXPERIMENTAL +const OMEGA_GEMM_ROUTE_BF16X3 3 # EXPERIMENTAL +const OMEGA_GEMM_ROUTE_FAST_BF16 4 # EXPERIMENTAL +const OMEGA_GEMM_ROUTE_FFMA 5 # EXPERIMENTAL diff --git a/docs/runtime/portability_table.tsv b/docs/runtime/portability_table.tsv index 841c85b9..0e416309 100644 --- a/docs/runtime/portability_table.tsv +++ b/docs/runtime/portability_table.tsv @@ -124,6 +124,8 @@ src/omega_gpu_gdn_api.c CHIP_SPECIFIC Keeps Gated DeltaNet parameters and states src/omega_gpu_gdn_api.h CHIP_SPECIFIC Gated DeltaNet decode API; includes omega_blackwell_codegen_gdn.h. NO_HOSTED_INCLUDE src/omega_gpu_gemm.c CHIP_SPECIFIC Builds and launches tensor-core GEMM kernels of any shape for the GB10 from Omega's IR emitters. HOSTED_LIBC src/omega_gpu_gemm.h CHIP_SPECIFIC GEMM API; includes omega_blackwell_codegen.h. NO_HOSTED_INCLUDE +src/omega_gpu_gemm_ex.c CHIP_SPECIFIC General GEMM entry (op N/T, leading dimensions, alpha/beta, strided batch, bf16/f16/f32 via bf16x3/fp8 with scales) over the GB10 tensor-core GEMM; migration-pending C (CUDAPP_MIGRATION_PENDING_GEMM_EX). NO_HOSTED_INCLUDE +src/omega_gpu_gemm_ex.h CHIP_SPECIFIC General GEMM API; includes omega_gpu_gemm.h. NO_HOSTED_INCLUDE src/omega_gpu_prefill_attn256_api.c CHIP_SPECIFIC Launches the two head_dim 256 prefill attention kernels from the Blackwell generator through a command list. NO_HOSTED_INCLUDE src/omega_gpu_prefill_attn256_api.h CHIP_SPECIFIC Head_dim 256 prefill attention API; includes omega_blackwell_codegen_pattn256.h. NO_HOSTED_INCLUDE src/omega_gpu_q36_graph.c CHIP_SPECIFIC Chains a whole Qwen3.6-35B-A3B decode token into one command list from Blackwell kernels. HOSTED_LIBC diff --git a/evidence/GEMM-GENERAL-00c9cf9/SHA256SUMS b/evidence/GEMM-GENERAL-00c9cf9/SHA256SUMS new file mode 100644 index 00000000..9292a46f --- /dev/null +++ b/evidence/GEMM-GENERAL-00c9cf9/SHA256SUMS @@ -0,0 +1,4 @@ +9d827d787bbd7ab0a86c29101d3f7324b95b26eab753a83b3bf655cd423367b0 chip.log +56bda16fc46b0b46150c58a08b23c815a3f55da686e2b3d40fe85576500db9da SOURCES +cd1d62107a88617a77fed729f253fc6698be724b74a0dabd496c62ed5404d64e window-open.json +1d39ef57af84c1c5956b20f825c47d430aaec9d3dd16ae7821af177671842ae4 window-close.json diff --git a/evidence/GEMM-GENERAL-00c9cf9/SOURCES b/evidence/GEMM-GENERAL-00c9cf9/SOURCES new file mode 100644 index 00000000..0658d294 --- /dev/null +++ b/evidence/GEMM-GENERAL-00c9cf9/SOURCES @@ -0,0 +1,4 @@ +CUDApp tree: aien-dev/CUDApp#139 head 00c9cf9affdcdedccf9900ce3e5fee997f494d69 (merge of main e7cc7d69), git status clean before build +binary: build/gpu_gemm_ex_test sha256 15f9ec63539e294ded6990619c2df6374e3d123774064e89c1a2fd4562050425, built by: make -j2 build/gpu_gemm_ex_test (rm'd first) +run: ~/.local/bin/spark-window open GemmEx --gb10 shared --quiet none --wait; spark-window run build/gpu_gemm_ex_test; spark-window close (window 20261031T115238Z-0623b2, rc 0, value checks only, beside Flint) +result: gemm_ex chip: PASS (902 checks) diff --git a/evidence/GEMM-GENERAL-00c9cf9/chip.log b/evidence/GEMM-GENERAL-00c9cf9/chip.log new file mode 100644 index 00000000..7ec042f8 --- /dev/null +++ b/evidence/GEMM-GENERAL-00c9cf9/chip.log @@ -0,0 +1,915 @@ +subnormal probe bf16 2^-133 x 2^100: core 0x1p-33 (OK), model 0x1p-33, exact 0x1p-33: the tensor core KEEPS the subnormal input +subnormal probe f16 2^-24 x 2^10: core 0x1p-14 (OK), model 0x1p-14, exact 0x1p-14: the tensor core KEEPS the subnormal input +ok: f32 x f32 -> f32 33x17x70 batch 1 pad 0/0/0 alpha 1 beta 0 edge 1: OK route bf16x3 core calls 1 host-fixed 0, 561 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: f32 x f32 -> f32 33x17x70 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 1: OK route ffma core calls 1 host-fixed 0, 561 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0025 +ok: f32 x f32 -> f32 20x19x40 batch 1 pad 0/0/0 alpha 1 beta 1 edge 2: OK route bf16x3 core calls 1 host-fixed 108, 380 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0074 +ok: bf16^T x bf16 -> f32 20x19x40 batch 1 pad 0/0/0 alpha 1 beta 0 edge 2: OK route native core calls 1 host-fixed 108, 380 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0392 +ok: f16 x f16 -> f16 20x19x40 batch 1 pad 0/0/0 alpha 0.000244141 beta 0 edge 2: OK route native core calls 1 host-fixed 108, 380 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8817 +ok: f32 x f32 -> f32 16x16x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 3: OK route bf16x3 core calls 1 host-fixed 0, 256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0016 +ok: f32 x f32 -> f32 16x16x24 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 3: OK route fast_bf16 core calls 1 host-fixed 0, 256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1620 +ok: e4m3 x e4m3 -> f32 18x21x70 batch 1 pad 0/0/0 alpha 1 beta 0 edge 4: OK route native core calls 1 host-fixed 38, 378 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0185 +ok: e5m2 x e5m2 -> f32 18x21x70 batch 1 pad 0/0/0 alpha 1 beta 0 edge 4: OK route widen core calls 1 host-fixed 38, 378 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0331 +ok: bf16 x bf16 -> f32 9x9x9 batch 1 pad 0/0/0 alpha 0 beta 2 edge 0: OK route none core calls 0 host-fixed 0, 81 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16 x bf16 -> bf16 9x9x9 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 81 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9497 +ok: bf16 x bf16 -> f32 7x5x3 batch 3 A-bcast pad 0/0/2 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 105 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0215 +ok: e4m3 x e4m3 -> f32 40x30x100 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 7/16/32: OK route native core calls 4 host-fixed 0, 1200 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0081 +ok: e4m3 x e5m2 -> bf16 40x30x100 batch 2 pad 0/0/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 2400 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9778 +ok: bf16 x bf16 -> f32 3x5x16385 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0027 +ok: f32 x f32 -> f32 3x5x1809 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0010 +ok: f16^T x f16^T -> f32 33x31x47 batch 1 pad 3/5/1 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1023 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0443 +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0465 +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 335 wrong, 0 untouched changed, max |err| / bound 0.9991; first batch 0 C[0][0] = 7081.37842, ref 5232.62904, bound 0.0513 +chip red check: gemm_ex mutant 1 is caught (335 wrong; 0 without the mutant) +bf16 x bf16^T -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0397 +bf16 x bf16^T -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 576 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 5232.62842, ref 55513.7324, bound 0.789 +chip red check: gemm_ex mutant 2 is caught (576 wrong; 0 without the mutant) +e4m3 x e4m3 -> f32 24x24x96 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 8/8/32: OK route native core calls 3 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0073 +e4m3 x e4m3 -> f32 24x24x96 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 8/8/32: OK route native core calls 3 host-fixed 0, 576 checked, 576 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = -373200.438, ref -964138.249, bound 16.9 +chip red check: gemm_ex mutant 3 is caught (576 wrong; 0 without the mutant) +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0572 +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 401 wrong, 0 untouched changed, max |err| / bound 0.9969; first batch 0 C[0][1] = -496.112549, ref -496.026018, bound 0.0247 +chip red check: gemm_ex mutant 4 is caught (401 wrong; 0 without the mutant) +chip fp8 block rows n=130 k=200 block=128 m=3 x f32: rc OK, 0 wrong, worst 5.31 x 2^-24 sum|t|, 3/3 rows equal to the m=1 call, route bf16x3 +chip red check: gemm_ex mutant 5 (fp8 block rows, next k block's scale) is caught (390 wrong) +chip fp8 block rows n=128 k=128 block=128 m=1 x bf16: rc OK, 0 wrong, worst 2.16 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=64 k=384 block=128 m=2 x f32: rc OK, 0 wrong, worst 5.42 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=33 k=640 block=128 m=2 x bf16: rc OK, 0 wrong, worst 4.17 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=17 k=1280 block=128 m=2 x f32: rc OK, 0 wrong, worst 7.66 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=9 k=1792 block=128 m=1 x bf16: rc OK, 0 wrong, worst 3.76 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=8 k=2304 block=128 m=2 x f32: rc OK, 0 wrong, worst 3.63 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=5 k=2560 block=128 m=1 x bf16: rc OK, 0 wrong, worst 2.23 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=4 k=3584 block=128 m=2 x f32: rc OK, 0 wrong, worst 3.07 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=2 k=16512 block=128 m=1 x bf16: rc OK, 0 wrong, worst 0.75 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=3 k=3 block=1 m=2 x f32: rc OK, 0 wrong, worst 0.00 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=20 k=50 block=7 m=3 x bf16: rc OK, 0 wrong, worst 2.60 x 2^-24 sum|t|, 3/3 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=1 k=1 block=128 m=1 x f32: rc OK, 0 wrong, worst 0.00 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip adversarial bf16 K=1808 (DnnGpu): rc OK, got 0x1p+0 (want 0x1p+0), err 5.343e-05, old flat bound 2.837e-05 (must be exceeded), bound 7.454e-05 +chip fp8 gemv n=256 k=128: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemv groups=65 n=256 k=128: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemm M=1030 n=256 k=128: rc OK, general 1 (want 1), 0 wrong +chip fp8 gemv n=128 k=384: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemv groups=65 n=128 k=384: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemm M=1030 n=128 k=384: rc OK, general 1 (want 1), 0 wrong +chip red check: gemm_ex mutant 5 through omega_gpu_fp8gemm_f32 (k=384) is caught (rc OK, 131744 wrong) +chip fp8 gemv n=256 k=2048: rc OK, general 0 (want 0), 0 wrong +chip fp8 grouped gemv groups=8 n=256 k=2048: rc OK, general 0 (want 0), 0 wrong +chip fp8 grouped gemm M=8 n=256 k=2048: rc OK, general 0 (want 0), 0 wrong, every row == the GEMV +f32 x f32 -> f32 65x130x33 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 8450 checked, 8450 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 5.80595398, ref -111066.351, bound 3.27 +chip red check: kernel ffma mutant 1 is caught (8450 wrong) +f16 x f16 -> f32 65x63x100 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4095 checked, 4095 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = -91154.5859, ref 203003.501, bound 3.91 +chip red check: kernel f16 mutant 1 is caught (4095 wrong) +f16 x f16 -> f32 65x63x100 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4095 checked, 4095 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 42214.4531, ref 108299.125, bound 1.73 +chip red check: kernel f16 mutant 2 is caught (4095 wrong) +f16 x f16 -> f32 65x63x100 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4095 checked, 4095 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 64419.0547, ref 129662.555, bound 1.39 +chip red check: kernel f16 mutant 3 is caught (4095 wrong) +ok: bf16 x bf16^T -> f16 64x1x31 batch 1 pad 5/4/0 alpha 3.27826e-07 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9448 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f16 64x1x31 batch 1 pad 5/4/0 alpha 3.27826e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f16 128x64x255 batch 1 pad 0/3/3 alpha 1.49012e-08 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9905 +ok: e4m3 x e4m3^T -> bf16 256x1000x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 256000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> bf16 256x1000x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 509x31x32 batch 1 pad 0/3/0 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 15779 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0411 +ok: bf16 x e4m3 -> f16 1021x257x256 batch 1 pad 0/5/4 alpha -7.45058e-09 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8354 +ok: f16 x e5m2 -> f16 1025x13x3 batch 1 pad 0/7/0 alpha -4.76837e-07 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 13325 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9754 +ok: f32 x f32 -> f16 5x127x33 batch 1 pad 0/0/0 alpha 1.63913e-07 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 635 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8864 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f16 5x127x33 batch 1 pad 0/0/0 alpha 1.63913e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 8x1x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 8 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0903 +ok: f32 x bf16^T -> f16 17x63x5 batch 1 pad 7/0/2 alpha 4.76837e-07 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1071 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9411 +ok: chip core == host-model core, bit for bit: f32 x bf16^T -> f16 17x63x5 batch 1 pad 7/0/2 alpha 4.76837e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f32 63x513x64 batch 1 pad 0/0/7 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 32319 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0095 +ok: f32 x f32 -> f32 65x17x511 batch 1 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1105 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0016 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 65x17x511 batch 1 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f16 129x256x7 batch 1 pad 0/4/2 alpha 1.86265e-09 beta 1 block-scale edge 0 blocks 7/100/128: OK route native core calls 1 host-fixed 0, 33024 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9795 +ok: e4m3 x e5m2 -> f16 255x8x65 batch 1 pad 3/4/0 alpha 2.98023e-08 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 2040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9627 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2 -> f16 255x8x65 batch 1 pad 3/4/0 alpha 2.98023e-08 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 511x128x513 batch 1 pad 7/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0221 +ok: f16 x f16^T -> f32 1023x2x13 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 2046 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 1023x2x13 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 1x64x127 batch 1 pad 0/0/1 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0128 +ok: e5m2^T x e5m2 -> f32 7x1021x1023 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0153 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 7x1021x1023 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> f32 13x31x17 batch 1 pad 2/4/6 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 403 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0283 +ok: f16^T x e5m2 -> f16 31x509x251 batch 1 pad 0/0/3 alpha 1.49012e-08 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 15779 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9149 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> f16 31x509x251 batch 1 pad 0/0/3 alpha 1.49012e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 64x13x1 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8380 +ok: f32^T x f32^T -> bf16 97x251x31 batch 1 pad 0/7/0 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 24347 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6841 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 97x251x31 batch 1 pad 0/7/0 alpha 1 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16^T -> f32 251x3x255 batch 1 pad 3/0/1 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 753 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0055 +ok: bf16^T x f16^T -> f16 256x97x2 batch 1 pad 0/7/4 alpha 1.90735e-06 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 24832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: bf16^T x f16^T -> f16 256x97x2 batch 1 pad 0/7/4 alpha 1.90735e-06 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> bf16 513x1023x33 batch 1 pad 0/0/0 alpha 1 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9754 +ok: e4m3^T x e4m3 -> bf16 1025x33x257 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 1/16/128: OK route native core calls 3 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9340 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> bf16 1025x33x257 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 1/16/128: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f32 2x511x3 batch 1 pad 5/0/7 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1022 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0231 +ok: bf16^T x bf16^T -> f16 8x16x63 batch 1 pad 4/0/3 alpha 1.63913e-07 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 128 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9826 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f16 8x16x63 batch 1 pad 4/0/3 alpha 1.63913e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 15x255x509 batch 3 pad 0/0/7 alpha 1 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0313 +ok: e4m3^T x e4m3^T -> f16 32x5x7 batch 1 pad 0/0/0 alpha 4.76837e-07 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 160 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7958 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f16 32x5x7 batch 1 pad 0/0/0 alpha 4.76837e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 65x65x65 batch 2 pad 0/4/3 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 8450 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0447 +ok: bf16^T x e4m3 -> f16 127x1021x511 batch 1 pad 4/4/0 alpha -3.72529e-09 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9731 +ok: f16^T x e5m2 -> f32 255x32x8 batch 2 A-bcast pad 4/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 16320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: f32^T x f32^T -> f32 257x509x97 batch 1 pad 0/6/5 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0068 +ok: f32^T x f32^T -> f32 1000x15x1000 batch 1 pad 0/0/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1491 +ok: f32^T x bf16^T -> f32 1023x251x13 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 256773 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3647 +ok: bf16^T x f16 -> f32 3x5x127 batch 1 pad 0/0/4 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: f32^T x f32 -> f32 13x97x1021 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1261 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0010 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 13x97x1021 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 16x1025x16 batch 1 pad 0/0/0 alpha -0.5 beta 0 block-scale edge 0 blocks 100/7/128: OK route native core calls 1 host-fixed 0, 16400 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0183 +ok: e4m3^T x e5m2 -> f16 33x33x129 batch 1 pad 0/0/1 alpha 4.09782e-08 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1089 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8102 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> f16 33x33x129 batch 1 pad 0/0/1 alpha 4.09782e-08 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> bf16 64x513x1023 batch 2 pad 6/0/2 alpha 1 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8620 +ok: f16^T x f16^T -> f32 128x16x17 batch 1 pad 0/7/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 2048 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0449 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> f32 128x16x17 batch 1 pad 0/7/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 256x256x251 batch 1 pad 0/2/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0174 +ok: e5m2^T x e5m2 -> f32 509x7x1 batch 1 pad 2/0/4 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 3563 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 509x7x1 batch 1 pad 2/0/4 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> bf16 1021x128x32 batch 1 pad 1/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 130688 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9930 +ok: f16^T x e5m2 -> bf16 1025x1x255 batch 1 pad 6/7/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1025 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9714 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> bf16 1025x1x255 batch 1 pad 6/7/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f16 5x64x2 batch 1 pad 0/0/0 alpha 5.24521e-06 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8366 +ok: f32 x f32^T -> f32 15x1000x33 batch 1 pad 0/0/5 alpha 2.75 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 15000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8082 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 15x1000x33 batch 1 pad 0/0/5 alpha 2.75 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 31x17x257 batch 2 B-bcast pad 2/4/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1054 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0047 +ok: bf16 x f16 -> f16 64x257x3 batch 1 pad 1/0/0 alpha 2.6226e-06 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16448 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9539 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f16 64x257x3 batch 1 pad 1/0/0 alpha 2.6226e-06 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 97x8x63 batch 2 pad 0/4/3 alpha 2.75 beta 1 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 1552 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0108 +ok: e4m3 x e4m3 -> f32 251x129x509 batch 1 pad 0/6/0 alpha 2.75 beta 0 block-scale edge 0 blocks 16/16/128: OK route native core calls 4 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 251x129x509 batch 1 pad 0/6/0 alpha 2.75 beta 0 block-scale edge 0 blocks 16/16/128: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f16 509x2x7 batch 1 pad 0/0/0 alpha 1.3113e-06 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1018 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9255 +ok: bf16 x bf16^T -> f16 513x65x65 batch 1 pad 1/0/3 alpha 8.19564e-08 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 33345 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9590 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f16 513x65x65 batch 1 pad 1/0/3 alpha 8.19564e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f32 1025x513x511 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0281 +ok: e4m3 x e4m3^T -> f32 2x17x8 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 34 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0120 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 2x17x8 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 8x256x97 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2048 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0391 +ok: bf16 x e4m3 -> f32 17x8x1000 batch 1 pad 4/0/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 136 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0100 +ok: chip core == host-model core, bit for bit: bf16 x e4m3 -> f32 17x8x1000 batch 1 pad 4/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f32 32x128x15 batch 2 pad 3/0/3 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0873 +ok: f32 x f32^T -> f32 65x2x127 batch 1 pad 0/7/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 130 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0051 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 65x2x127 batch 1 pad 0/7/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f16 127x64x1021 batch 1 pad 0/0/5 alpha 3.72529e-09 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7945 +ok: f32 x bf16^T -> f32 255x1021x16 batch 1 pad 4/0/5 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 260355 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0650 +ok: bf16 x f16 -> f32 257x31x129 batch 3 A-bcast B-bcast pad 3/3/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 23901 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0084 +ok: f32 x f32 -> f32 1000x509x1023 batch 1 pad 2/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0006 +ok: e4m3 x e4m3 -> bf16 1x13x17 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 128/7/100: OK route native core calls 1 host-fixed 0, 13 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5632 +ok: e4m3 x e5m2^T -> f32 3x129x251 batch 2 pad 0/0/5 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 774 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0317 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 3x129x251 batch 2 pad 0/0/5 alpha 1 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 13x3x1 batch 2 B-bcast pad 5/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 78 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16 x f16^T -> f32 16x65x32 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 1040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0378 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 16x65x32 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> bf16 33x1023x255 batch 2 A-bcast pad 0/6/4 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9122 +ok: e5m2 x e5m2 -> bf16 97x32x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 3104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9960 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> bf16 97x32x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f32 128x511x33 batch 2 B-bcast pad 6/0/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0388 +ok: f16 x e5m2 -> bf16 256x15x257 batch 1 pad 5/6/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 3840 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9559 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> bf16 256x15x257 batch 1 pad 5/6/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 509x255x8 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 129795 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0083 +ok: f32 x f32^T -> f32 1021x5x65 batch 1 pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 5105 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6500 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 1021x5x65 batch 1 pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 2x127x513 batch 2 pad 1/1/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 508 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0033 +ok: bf16 x f16 -> f16 5x1025x13 batch 1 pad 5/0/1 alpha 2.38419e-07 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 5125 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9762 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f16 5x1025x13 batch 1 pad 5/0/1 alpha 2.38419e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 15x63x127 batch 1 pad 5/0/0 alpha 2.98023e-08 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 945 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9603 +ok: e4m3^T x e4m3 -> bf16 17x509x1000 batch 1 pad 0/2/0 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/32: OK route native core calls 32 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8922 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> bf16 17x509x1000 batch 1 pad 0/2/0 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> f16 63x15x15 batch 3 B-bcast pad 0/4/3 alpha 2.38419e-07 beta 0 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 2835 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9346 +ok: bf16^T x bf16^T -> f32 127x251x128 batch 1 pad 7/3/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 31877 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0682 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 127x251x128 batch 1 pad 7/3/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 129x5x1023 batch 1 pad 7/7/5 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 645 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0186 +ok: e4m3^T x e4m3 -> f32 257x97x17 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 24929 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0557 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 257x97x17 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 511x1025x129 batch 1 pad 0/0/5 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0310 +ok: bf16^T x e4m3 -> f32 1023x33x1025 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0159 +ok: f16^T x e5m2^T -> f32 3x511x31 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1533 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0429 +ok: f32^T x f32^T -> bf16 7x16x255 batch 1 pad 0/3/2 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7858 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 7x16x255 batch 1 pad 0/3/2 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 16x255x2 batch 1 pad 0/6/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 4080 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8619 +ok: f32^T x bf16^T -> bf16 31x7x32 batch 1 pad 0/1/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 217 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9130 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> bf16 31x7x32 batch 1 pad 0/1/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> f32 64x127x256 batch 1 pad 2/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8128 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0075 +ok: f32^T x f32 -> f16 97x1x3 batch 1 pad 0/1/0 alpha -4.76837e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 97 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9258 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 97x1x3 batch 1 pad 0/1/0 alpha -4.76837e-07 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f16 251x63x63 batch 2 pad 0/0/0 alpha 6.40284e-10 beta 0 block-scale edge 0 blocks 7/1/128: OK route native core calls 2 host-fixed 0, 31626 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9354 +ok: e4m3^T x e5m2^T -> bf16 509x1000x257 batch 1 pad 0/0/2 alpha -0.5 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9866 +ok: bf16^T x bf16^T -> bf16 513x17x5 batch 1 pad 3/1/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 8721 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9848 +ok: f16^T x f16^T -> bf16 1025x257x64 batch 1 pad 2/0/1 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9357 +ok: e4m3^T x e4m3 -> f32 2x8x511 batch 2 B-bcast pad 1/6/5 alpha 2.75 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 32 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: e5m2^T x e5m2 -> f32 8x129x8 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 3096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0250 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 8x129x8 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> bf16 17x2x65 batch 1 pad 0/6/4 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 34 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8441 +ok: f16^T x e5m2^T -> f32 32x65x513 batch 1 pad 4/3/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2080 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0334 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f32 32x65x513 batch 1 pad 4/3/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f16 65x1021x13 batch 3 pad 0/0/0 alpha -1.19209e-07 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 199095 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: f32^T x f32^T -> bf16 127x32x127 batch 3 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 12192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4860 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 127x32x127 batch 3 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> f32 255x256x1021 batch 1 pad 0/0/5 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0019 +ok: bf16^T x f16 -> f32 511x8x15 batch 1 pad 4/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4088 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0079 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f32 511x8x15 batch 1 pad 4/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 1000x128x128 batch 3 pad 0/0/0 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0056 +ok: e4m3^T x e4m3 -> f16 1x1x1023 batch 1 pad 0/0/2 alpha -7.27596e-12 beta 1 block-scale edge 0 blocks 128/100/16: OK route native core calls 64 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0006 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 1x1x1023 batch 1 pad 0/0/2 alpha -7.27596e-12 beta 1 block-scale edge 0 blocks 128/100/16: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> bf16 3x64x17 batch 1 pad 0/1/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8970 +ok: bf16 x bf16^T -> f32 13x1000x129 batch 3 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0575 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f32 13x1000x129 batch 3 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> bf16 31x31x1025 batch 1 pad 4/6/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 961 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8750 +ok: e4m3 x e4m3 -> bf16 33x257x31 batch 2 B-bcast pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 16962 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9873 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> bf16 33x257x31 batch 2 B-bcast pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> bf16 97x13x255 batch 2 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 2522 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9623 +ok: bf16 x e4m3 -> bf16 128x129x2 batch 3 pad 0/0/1 alpha 1 beta 1 edge 0: OK route widen core calls 3 host-fixed 0, 49536 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9958 +ok: chip core == host-model core, bit for bit: bf16 x e4m3 -> bf16 128x129x2 batch 3 pad 0/0/1 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> bf16 256x3x32 batch 1 pad 6/0/6 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9690 +ok: f32 x f32^T -> bf16 513x65x256 batch 1 pad 6/6/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9103 +ok: f32 x f32^T -> f32 1021x1023x3 batch 3 B-bcast pad 0/0/5 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9023 +ok: f32 x bf16 -> f32 2x32x63 batch 1 pad 0/4/1 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0058 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f32 2x32x63 batch 1 pad 0/4/1 alpha -0.5 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16 -> f16 5x511x509 batch 3 B-bcast pad 0/0/3 alpha 2.04891e-08 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 7665 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5922 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/2/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1x1x1 batch 1 pad 0/2/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 17x255x64 batch 3 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 128/1/32: OK route native core calls 6 host-fixed 0, 13005 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0140 +ok: e4m3 x e5m2^T -> f32 63x5x511 batch 3 B-bcast pad 0/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 945 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0203 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 63x5x511 batch 3 B-bcast pad 0/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 127x127x8 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 48387 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0325 +ok: f16 x f16^T -> f32 129x1025x65 batch 1 pad 1/0/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0437 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 129x1025x65 batch 1 pad 1/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 257x33x513 batch 3 B-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0155 +ok: e5m2 x e5m2 -> f16 511x513x13 batch 1 pad 0/0/0 alpha -1.19209e-07 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 262143 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9991 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> f16 511x513x13 batch 1 pad 0/0/0 alpha -1.19209e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f16 1023x16x127 batch 1 pad 0/1/0 alpha 2.98023e-08 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 16368 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9983 +ok: f16 x e5m2^T -> f32 3x251x1021 batch 1 pad 1/7/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 753 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0209 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 3x251x1021 batch 1 pad 1/7/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 7x3x15 batch 1 pad 1/6/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 21 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: f32 x f32^T -> f32 16x97x128 batch 1 pad 0/0/0 alpha 2.75 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1552 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4537 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 16x97x128 batch 1 pad 0/0/0 alpha 2.75 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> f16 31x1023x1 batch 1 pad 0/0/2 alpha 3.8147e-06 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 31713 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9923 +ok: bf16 x f16 -> f32 64x33x32 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 2112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0104 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f32 64x33x32 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> bf16 128x511x256 batch 1 pad 3/0/7 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8759 +ok: e4m3 x e4m3^T -> f32 251x16x2 batch 1 pad 0/0/6 alpha -0.5 beta 1 block-scale edge 0 blocks 128/1/100: OK route native core calls 1 host-fixed 0, 4016 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6342 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 251x16x2 batch 1 pad 0/0/6 alpha -0.5 beta 1 block-scale edge 0 blocks 128/1/100: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f32 509x255x33 batch 1 pad 0/0/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0355 +ok: bf16 x bf16^T -> bf16 513x7x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 3591 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9540 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> bf16 513x7x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> f16 1x1x1 batch 1 pad 3/3/2 alpha 1.04904e-05 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1903 +ok: e4m3 x e4m3 -> f32 5x1x63 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 5 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 5x1x63 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 8x63x509 batch 1 pad 0/6/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 504 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0220 +ok: bf16^T x e4m3 -> f32 17x1000x7 batch 1 pad 0/0/5 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 17000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5941 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 17x1000x7 batch 1 pad 0/0/5 alpha -0.5 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f16 32x17x65 batch 1 pad 5/0/0 alpha 8.19564e-08 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 544 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9029 +ok: f32^T x f32^T -> bf16 65x257x513 batch 1 pad 3/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7690 +ok: f32^T x f32^T -> f32 127x8x8 batch 1 pad 0/0/2 alpha 2.75 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1016 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7427 +ok: f32^T x bf16 -> f32 1x1x1 batch 1 pad 0/6/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3304 +ok: chip core == host-model core, bit for bit: f32^T x bf16 -> f32 1x1x1 batch 1 pad 0/6/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> f32 511x2x1000 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1022 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: f32^T x f32 -> bf16 1000x64x15 batch 1 pad 5/6/6 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 64000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9881 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> bf16 1000x64x15 batch 1 pad 5/6/6 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f16 1x1021x128 batch 1 pad 4/0/0 alpha 3.20142e-10 beta 1 block-scale edge 0 blocks 16/128/128: OK route native core calls 1 host-fixed 0, 1021 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9400 +ok: e4m3^T x e5m2^T -> bf16 3x31x1021 batch 1 pad 0/3/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 93 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7890 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> bf16 3x31x1021 batch 1 pad 0/3/0 alpha 1 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 13x509x16 batch 1 pad 0/0/1 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 6617 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0415 +ok: f16^T x f16 -> f32 31x13x129 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 403 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0412 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 31x13x129 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 33x251x1025 batch 2 A-bcast pad 0/0/6 alpha 1 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0108 +ok: e5m2^T x e5m2 -> f32 97x1x17 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 97 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0205 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 97x1x17 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 128x64x251 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0420 +ok: f16^T x e5m2^T -> f16 1x1x1 batch 2 pad 0/6/0 alpha -1.90735e-06 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6576 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f16 1x1x1 batch 2 pad 0/6/0 alpha -1.90735e-06 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 513x31x32 batch 2 pad 7/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 31806 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0120 +ok: f32^T x f32^T -> bf16 1021x257x256 batch 2 pad 0/4/7 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3907 +ok: f32^T x bf16 -> f32 2x13x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 26 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6053 +ok: bf16^T x f16 -> f32 5x129x33 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 645 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0095 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f32 5x129x33 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 15x3x257 batch 2 B-bcast pad 7/0/0 alpha -3.72529e-09 beta 0 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 90 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4133 +ok: e4m3^T x e4m3^T -> f32 32x65x5 batch 3 pad 6/3/0 alpha -0.5 beta 0 block-scale edge 0 blocks 1/100/128: OK route native core calls 3 host-fixed 0, 6240 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0163 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 32x65x5 batch 3 pad 6/3/0 alpha -0.5 beta 0 block-scale edge 0 blocks 1/100/128: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> f32 1x1x1 batch 1 pad 0/0/2 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16^T x bf16^T -> f32 127x32x509 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4064 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0364 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 127x32x509 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> f32 129x509x7 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 65661 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5749 +ok: e4m3^T x e4m3 -> f16 257x15x65 batch 2 B-bcast pad 2/0/2 alpha 2.98023e-08 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 7710 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9593 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 257x15x65 batch 2 B-bcast pad 2/0/2 alpha 2.98023e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 1000x251x513 batch 1 pad 0/3/5 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0202 +ok: bf16^T x e4m3^T -> bf16 1023x5x8 batch 1 pad 0/0/2 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 5115 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9810 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> bf16 1023x5x8 batch 1 pad 0/0/2 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f32 3x97x97 batch 1 pad 0/7/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 291 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0367 +ok: f32^T x f32^T -> f16 1x1x1 batch 2 pad 2/0/5 alpha -1.90735e-06 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1909 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 1x1x1 batch 2 pad 2/0/5 alpha -1.90735e-06 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 16x33x15 batch 1 pad 0/0/6 alpha 2.75 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 528 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6762 +ok: f32 x bf16 -> f16 31x513x128 batch 1 pad 0/0/0 alpha -1.49012e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 15903 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8372 +ok: bf16 x f16 -> f16 1x1x1 batch 1 pad 0/0/0 alpha 1.04904e-05 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4396 +ok: f32 x f32 -> f16 128x256x16 batch 1 pad 4/3/5 alpha -1.19209e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 32768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f16 128x256x16 batch 1 pad 4/3/5 alpha -1.19209e-07 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 251x7x129 batch 1 pad 1/0/0 alpha 2.75 beta 1 block-scale edge 0 blocks 100/128/32: OK route native core calls 5 host-fixed 0, 1757 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0073 +ok: e4m3 x e5m2^T -> f16 509x128x1025 batch 1 pad 0/6/0 alpha 1.86265e-09 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6876 +ok: bf16 x bf16^T -> f32 513x1023x31 batch 1 pad 0/0/5 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0384 +ok: f16 x f16 -> f32 1025x33x251 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0368 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 1025x33x251 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 5x511x1 batch 1 pad 4/0/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 2555 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8932 +ok: e5m2 x e5m2 -> f16 1x1x1 batch 3 B-bcast pad 3/2/0 alpha 3.8147e-06 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2495 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> f16 1x1x1 batch 3 B-bcast pad 3/2/0 alpha 3.8147e-06 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 17x255x256 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 4335 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0354 +ok: f16 x e5m2^T -> f16 32x7x2 batch 1 pad 0/0/7 alpha 1.90735e-06 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 224 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8920 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f16 32x7x2 batch 1 pad 0/0/7 alpha 1.90735e-06 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 65x127x33 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8255 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0114 +ok: f32 x f32 -> f32 129x1025x257 batch 1 pad 0/7/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3344 +ok: f32 x bf16 -> f32 255x63x5 batch 1 pad 0/3/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16065 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3003 +ok: bf16 x f16 -> f16 511x513x64 batch 1 pad 0/5/0 alpha 5.96046e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8617 +ok: f32 x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2706 +ok: e4m3 x e4m3^T -> f32 1x256x13 batch 1 pad 6/0/0 alpha 1 beta -1.5 block-scale edge 0 blocks 1/16/100: OK route native core calls 1 host-fixed 0, 256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0387 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 1x256x13 batch 1 pad 6/0/0 alpha 1 beta -1.5 block-scale edge 0 blocks 1/16/100: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> bf16 7x8x127 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 56 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8937 +ok: bf16 x bf16^T -> bf16 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1766 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> bf16 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> bf16 31x2x16 batch 1 pad 1/3/6 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 62 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8524 +ok: e4m3 x e4m3 -> f32 33x64x128 batch 1 pad 6/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 2112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0200 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 33x64x128 batch 1 pad 6/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 97x1021x1023 batch 2 pad 5/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0193 +ok: bf16 x e4m3^T -> f32 251x31x17 batch 2 pad 0/0/6 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 15562 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0454 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f32 251x31x17 batch 2 pad 0/0/6 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> f32 256x509x251 batch 1 pad 0/1/5 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0286 +ok: f32 x f32^T -> f16 513x13x1025 batch 2 A-bcast pad 1/0/0 alpha 1.86265e-09 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9594 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 5/3/0 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2352 +ok: f32 x bf16 -> f32 2x3x255 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 6 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f32 2x3x255 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16 -> f32 5x97x2 batch 3 A-bcast pad 0/0/1 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0063 +ok: f32^T x f32^T -> f32 15x1000x33 batch 3 pad 0/0/7 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 45000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0198 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 15x1000x33 batch 3 pad 0/0/7 alpha -0.5 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 32x17x256 batch 1 pad 1/0/7 alpha 2.75 beta 1 block-scale edge 0 blocks 100/1/100: OK route native core calls 3 host-fixed 0, 544 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0089 +ok: e4m3^T x e5m2^T -> bf16 63x257x3 batch 3 A-bcast pad 0/7/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 48573 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9823 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> bf16 63x257x3 batch 3 A-bcast pad 0/7/0 alpha 2.75 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> bf16 127x8x63 batch 3 pad 0/3/0 alpha 1 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 3048 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9792 +ok: f16^T x f16 -> f32 1x1x1 batch 1 pad 0/7/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0031 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 1x1x1 batch 1 pad 0/7/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> bf16 257x2x7 batch 1 pad 3/0/4 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 514 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9449 +ok: e5m2^T x e5m2 -> f32 1000x65x64 batch 1 pad 7/6/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 65000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0532 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 1000x65x64 batch 1 pad 7/6/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0029 +ok: f16^T x e5m2^T -> f32 3x32x8 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 96 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0213 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f32 3x32x8 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 7x509x97 batch 1 pad 3/3/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 3563 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0080 +ok: f32^T x f32 -> f32 16x15x513 batch 1 pad 2/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 240 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1703 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 16x15x513 batch 1 pad 2/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> f32 1x1x1 batch 1 pad 7/1/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0021 +ok: bf16^T x f16 -> f32 64x5x127 batch 1 pad 0/1/2 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0057 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f32 64x5x127 batch 1 pad 0/1/2 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 128x97x1021 batch 1 pad 0/0/0 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5671 +ok: e4m3^T x e4m3^T -> f32 1x1x1 batch 1 pad 3/3/4 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/100: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0023 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 1x1x1 batch 1 pad 3/3/4 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/100: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> bf16 509x33x128 batch 1 pad 0/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 16797 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9899 +ok: bf16^T x bf16 -> f16 1021x513x1023 batch 1 pad 0/0/0 alpha 1.02445e-08 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7164 +ok: f16^T x f16 -> f32 1025x16x17 batch 1 pad 0/0/7 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 16400 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0887 +ok: e4m3^T x e4m3 -> f16 5x256x251 batch 1 pad 0/0/0 alpha 4.09782e-08 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1280 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9000 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 5x256x251 batch 1 pad 0/0/0 alpha 4.09782e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f16 8x7x1 batch 1 pad 4/0/0 alpha -1.90735e-06 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 56 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4996 +ok: bf16^T x e4m3^T -> f32 17x127x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2159 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0398 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> f32 17x127x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f32 1x1x1 batch 1 pad 0/5/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f32^T x f32^T -> f32 65x63x2 batch 1 pad 7/0/3 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4095 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7082 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 65x63x2 batch 1 pad 7/0/3 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 129x511x33 batch 1 pad 5/6/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 65919 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7736 +ok: f32^T x bf16 -> bf16 1x1x1 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5872 +ok: chip core == host-model core, bit for bit: f32^T x bf16 -> bf16 1x1x1 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> bf16 511x255x3 batch 3 B-bcast pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 390915 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9958 +ok: f32^T x f32^T -> f16 1000x5x63 batch 1 pad 0/0/4 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 5000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8846 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 1000x5x63 batch 1 pad 0/0/4 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 1x127x509 batch 1 pad 7/0/0 alpha -0.5 beta -1.5 block-scale edge 0 blocks 100/100/100: OK route native core calls 6 host-fixed 0, 127 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0034 +ok: e4m3^T x e5m2^T -> f32 1x1x1 batch 1 pad 4/0/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0111 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> f32 1x1x1 batch 1 pad 4/0/0 alpha 1 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> f32 13x63x64 batch 1 pad 0/6/7 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 819 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0403 +ok: f16 x f16 -> f32 31x513x511 batch 1 pad 0/1/3 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0216 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 31x513x511 batch 1 pad 0/1/3 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 1x1x1 batch 1 pad 0/4/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: e5m2 x e5m2^T -> f16 97x256x97 batch 1 pad 0/0/3 alpha 2.98023e-08 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 24832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9417 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f16 97x256x97 batch 1 pad 0/0/3 alpha 2.98023e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 251x8x1000 batch 3 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0217 +ok: f16 x e5m2^T -> f16 256x128x13 batch 2 pad 0/0/0 alpha 2.38419e-07 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 65536 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9994 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f16 256x128x13 batch 2 pad 0/0/0 alpha 2.38419e-07 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 1x1x1 batch 2 B-bcast pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0562 +ok: f32 x f32 -> f32 1021x64x1021 batch 1 pad 2/0/6 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1611 +ok: f32 x bf16 -> f32 2x1021x16 batch 2 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 4084 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0093 +ok: bf16 x f16 -> bf16 1x1x1 batch 3 A-bcast B-bcast pad 0/2/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7593 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> bf16 1x1x1 batch 3 A-bcast B-bcast pad 0/2/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 15x257x1023 batch 2 pad 0/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0009 +ok: e4m3 x e4m3^T -> f32 32x13x17 batch 1 pad 2/0/2 alpha 2.75 beta 0 block-scale edge 0 blocks 1/100/16: OK route native core calls 2 host-fixed 0, 416 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0123 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 32x13x17 batch 1 pad 2/0/2 alpha 2.75 beta 0 block-scale edge 0 blocks 1/100/16: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> f16 3x4096x32 batch 1 pad 0/0/7 alpha 3.27826e-07 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 12288 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9802 +ok: bf16 x bf16 -> f32 127x3x3 batch 3 A-bcast pad 6/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1143 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0250 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> f32 127x3x3 batch 3 A-bcast pad 6/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> f16 255x65x33 batch 3 pad 0/0/4 alpha 5.96046e-08 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 49725 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9943 +ok: e4m3 x e4m3 -> f32 257x1023x257 batch 1 pad 0/0/3 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0149 +ok: e5m2 x e5m2^T -> f32 1x1x1 batch 1 pad 1/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16 x e4m3^T -> f16 1023x511x64 batch 1 pad 0/0/1 alpha 5.96046e-08 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8281 +ok: f16 x e5m2^T -> f32 3x8x511 batch 1 pad 0/6/1 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 24 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0384 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/3/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0041 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1x1x1 batch 1 pad 0/3/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 16x2x65 batch 1 pad 0/6/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 32 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3608 +ok: f32 x bf16 -> f16 33x65x513 batch 3 pad 0/0/0 alpha 3.72529e-09 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 6435 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5307 +ok: bf16 x f16^T -> f16 64x1021x13 batch 3 A-bcast pad 0/0/0 alpha 2.38419e-07 beta 1 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 196032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9958 +ok: f32 x f32^T -> bf16 1x1x1 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3064 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> bf16 1x1x1 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> bf16 251x509x1000 batch 2 A-bcast pad 4/0/3 alpha 1 beta 0 block-scale edge 0 blocks 1/7/16: OK route native core calls 126 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9174 +ok: e4m3 x e5m2^T -> f32 509x15x15 batch 1 pad 3/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 7635 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0327 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 509x15x15 batch 1 pad 3/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16 -> f32 1x1x1 batch 1 pad 0/0/4 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16 x f16 -> f32 1025x5x1023 batch 2 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0194 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 1025x5x1023 batch 2 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 5x97x16 batch 3 A-bcast pad 0/7/2 alpha -0.5 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0153 +ok: e5m2 x e5m2 -> f32 5x4096x65 batch 1 pad 0/0/4 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 20480 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0460 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> f32 5x4096x65 batch 1 pad 0/0/4 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f16 1x1x1 batch 1 pad 3/0/0 alpha 3.8147e-06 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16^T x e5m2^T -> bf16 63x511x31 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 32193 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9912 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> bf16 63x511x31 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> bf16 65x16x255 batch 1 pad 0/0/4 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9029 +ok: f32^T x f32 -> f16 1x1x1 batch 1 pad 0/0/0 alpha 1.04904e-05 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1682 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 1x1x1 batch 1 pad 0/0/0 alpha 1.04904e-05 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> bf16 255x7x32 batch 1 pad 0/0/2 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1785 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9721 +ok: bf16^T x f16^T -> f16 511x127x256 batch 1 pad 0/6/5 alpha -7.45058e-09 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9257 +ok: f32 x f32^T -> f32 4096x17x2 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 69632 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9877 +ok: e4m3^T x e4m3^T -> f32 1x63x63 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 block-scale edge 0 blocks 100/16/32: OK route native core calls 2 host-fixed 0, 63 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 1x63x63 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 block-scale edge 0 blocks 100/16/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> bf16 7x1000x257 batch 1 pad 5/0/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 7000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9819 +ok: bf16^T x bf16 -> f16 13x17x5 batch 1 pad 0/3/4 alpha 4.76837e-07 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 221 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8601 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f16 13x17x5 batch 1 pad 0/3/4 alpha 4.76837e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: e4m3^T x e4m3 -> f32 64x5x511 batch 1 pad 0/0/7 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0158 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 64x5x511 batch 1 pad 0/0/7 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f32 97x127x7 batch 2 pad 1/0/4 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 24638 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0334 +ok: bf16^T x e4m3^T -> f32 1x1x1 batch 1 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> f32 1x1x1 batch 1 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f16 256x63x513 batch 1 pad 0/0/4 alpha 3.72529e-09 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9910 +ok: f32^T x f32 -> f32 513x513x13 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 263169 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2219 +ok: f32^T x f32^T -> f32 4095x15x257 batch 1 pad 6/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3503 +ok: f32^T x bf16 -> f32 1x1x1 batch 1 pad 7/6/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0026 +ok: chip core == host-model core, bit for bit: f32^T x bf16 -> f32 1x1x1 batch 1 pad 7/6/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f32 8x7x15 batch 2 pad 0/6/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0091 +ok: f32^T x f32^T -> bf16 15x128x128 batch 2 A-bcast B-bcast pad 0/0/4 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 3840 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9395 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 15x128x128 batch 2 A-bcast B-bcast pad 0/0/4 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> bf16 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 7/7/100: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7277 +ok: e4m3^T x e5m2 -> bf16 63x64x17 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 4032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9834 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> bf16 63x64x17 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> f32 127x1000x129 batch 2 A-bcast pad 0/0/1 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0396 +ok: f16^T x f16 -> bf16 4095x17x8 batch 3 A-bcast pad 0/5/0 alpha 1 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 208845 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9937 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> bf16 4095x17x8 batch 3 A-bcast pad 0/5/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f16 257x257x31 batch 2 pad 0/1/0 alpha -5.96046e-08 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 132098 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9969 +ok: e5m2^T x e5m2^T -> f32 1000x13x255 batch 2 A-bcast B-bcast pad 3/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2^T -> f32 1000x13x255 batch 2 A-bcast B-bcast pad 3/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 1023x129x1 batch 3 pad 2/0/2 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 395901 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9998 +ok: f16^T x e5m2^T -> f16 1x1x1 batch 1 pad 0/0/0 alpha -1.90735e-06 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3356 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f16 1x1x1 batch 1 pad 0/0/0 alpha -1.90735e-06 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 13x65x256 batch 1 pad 0/5/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 845 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0050 +ok: f32^T x f32 -> bf16 16x1023x3 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 16368 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9895 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> bf16 16x1023x3 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> f16 1x1x1 batch 1 pad 4/0/0 alpha 3.8147e-06 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6410 +ok: bf16 x f16^T -> f32 64x511x257 batch 1 pad 2/5/4 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0043 +ok: f32 x f32^T -> f32 128x15x5 batch 1 pad 0/0/0 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1920 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0245 +ok: e4m3 x e4m3^T -> f32 33x5000x33 batch 1 pad 0/0/0 alpha 2.75 beta 0 block-scale edge 0 blocks 128/7/32: OK route native core calls 4 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0102 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 33x5000x33 batch 1 pad 0/0/0 alpha 2.75 beta 0 block-scale edge 0 blocks 128/7/32: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2 -> f32 1x1x1 batch 1 pad 0/0/7 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9828 +ok: bf16 x bf16 -> bf16 1021x64x8 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 65344 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9937 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> bf16 1021x64x8 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> f32 1025x1021x65 batch 1 pad 0/7/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0565 +ok: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/4/4 alpha 1.04904e-05 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/4/4 alpha 1.04904e-05 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f32 15x509x16 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 7635 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0352 +ok: bf16 x e4m3^T -> f32 17x13x129 batch 1 pad 4/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 221 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0287 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f32 17x13x129 batch 1 pad 4/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f32 31x4095x5 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 126945 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0305 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0019 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 129x97x251 batch 1 pad 0/0/0 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 12513 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3490 +ok: f32 x bf16 -> f16 255x1023x1 batch 1 pad 6/0/0 alpha 1.04904e-05 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 260865 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f16 255x1023x1 batch 1 pad 6/0/0 alpha 1.04904e-05 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> bf16 1x1x1 batch 3 A-bcast pad 6/0/2 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4539 +ok: f32 x f32^T -> bf16 1023x511x255 batch 1 pad 0/5/0 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7791 +ok: e4m3 x e4m3^T -> f32 1x16x2 batch 1 pad 0/0/7 alpha 1 beta 0 block-scale edge 0 blocks 16/100/32: OK route native core calls 1 host-fixed 0, 16 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: e4m3^T x e5m2^T -> f32 32x4095x256 batch 1 pad 3/1/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0277 +ok: bf16 x bf16 -> f16 13x7x257 batch 1 pad 6/5/0 alpha 7.45058e-09 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 91 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6975 +ok: f16 x f16 -> f32 31x127x5 batch 1 pad 0/0/4 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 3937 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0310 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 31x127x5 batch 1 pad 0/0/4 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> bf16 1x5000x129 batch 2 pad 3/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 4 host-fixed 0, 10000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9899 +ok: e5m2 x e5m2^T -> bf16 1x1x1 batch 1 pad 0/0/7 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> bf16 1x1x1 batch 1 pad 0/0/7 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 251x1000x7 batch 1 pad 0/2/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 251000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0313 +ok: f16 x e5m2 -> f32 256x17x65 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 4352 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0709 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> f32 256x17x65 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/2/1 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0009 +ok: f32 x f32 -> f32 1025x8x8 batch 1 pad 0/0/0 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 8200 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8039 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1025x8x8 batch 1 pad 0/0/0 alpha 1 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 2x128x97 batch 3 pad 1/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0073 +ok: bf16^T x f16 -> f16 32x5000x1 batch 2 pad 0/0/3 alpha 3.8147e-06 beta -1.5 edge 0: OK route bf16x3 core calls 4 host-fixed 0, 320000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f16 32x5000x1 batch 2 pad 0/0/3 alpha 3.8147e-06 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0083 +ok: e4m3^T x e4m3^T -> f32 32x513x127 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/7/100: OK route native core calls 2 host-fixed 0, 16416 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0183 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 32x513x127 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/7/100: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f16 65x16x1021 batch 1 pad 4/3/0 alpha -1.86265e-09 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7009 +ok: bf16^T x bf16 -> f32 1x1x1 batch 1 pad 3/0/7 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f32 1x1x1 batch 1 pad 3/0/7 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> f32 255x7x129 batch 3 pad 7/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 5355 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0616 +ok: e4m3^T x e4m3^T -> f32 257x128x1025 batch 3 B-bcast pad 0/5/0 alpha 2.75 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0095 +ok: e5m2^T x e5m2 -> bf16 5000x5x5 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 6 host-fixed 0, 75000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9950 +ok: bf16^T x e4m3^T -> f32 1x1x1 batch 3 B-bcast pad 0/0/6 alpha 2.75 beta 1 edge 0: OK route widen core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0050 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> f32 1x1x1 batch 3 B-bcast pad 0/0/6 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f32 3x1000x1 batch 1 pad 0/0/5 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 3000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9630 +ok: f32 x f32^T -> f32 4097x17x251 batch 3 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 6 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0056 +ok: f32^T x f32 -> bf16 1x1x1 batch 1 pad 0/0/3 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f32^T x bf16^T -> f32 33x13x2 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 429 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9509 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f32 33x13x2 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f16 64x129x33 batch 1 pad 3/0/0 alpha 5.96046e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9657 +ok: f32 x f32 -> bf16 5000x13x257 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8553 +ok: chip core == host-model core, bit for bit: f32 x f32 -> bf16 5000x13x257 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 256x65x5 batch 1 pad 0/2/2 alpha 1 beta 1 block-scale edge 0 blocks 100/100/32: OK route native core calls 1 host-fixed 0, 16640 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8212 +ok: e4m3^T x e5m2 -> f32 509x1021x63 batch 1 pad 6/0/0 alpha -0.5 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0453 +ok: bf16^T x bf16^T -> f16 4097x2x251 batch 1 pad 1/3/0 alpha 1.49012e-08 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 8194 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8900 +ok: f16^T x f16 -> f32 1x1x1 batch 1 pad 4/0/2 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 1x1x1 batch 1 pad 4/0/2 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 5x15x65 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 75 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0176 +ok: e5m2^T x e5m2^T -> f32 15x251x513 batch 1 pad 0/0/4 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 3765 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0259 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2^T -> f32 15x251x513 batch 1 pad 0/0/4 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> bf16 1x1x1 batch 1 pad 5/3/5 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5316 +ok: f16^T x e5m2 -> f32 63x97x97 batch 1 pad 5/0/1 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 6111 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0479 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> f32 63x97x97 batch 1 pad 5/0/1 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 65x1025x1000 batch 1 pad 0/3/0 alpha 3.72529e-09 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9009 +ok: f32 x f32^T -> f16 4097x32x97 batch 2 pad 6/0/0 alpha 2.98023e-08 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9813 +ok: f32^T x bf16^T -> f16 1x1x1 batch 1 pad 0/2/1 alpha 3.8147e-06 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16^T x f16^T -> f32 511x13x1021 batch 1 pad 7/5/1 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: f32^T x f32 -> f32 4096x17x7 batch 2 A-bcast B-bcast pad 0/3/0 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 139264 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6536 +ok: e4m3^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta 1 block-scale edge 0 blocks 100/7/32: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0121 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta 1 block-scale edge 0 blocks 100/7/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f16 7x97x1025 batch 1 pad 0/0/7 alpha 1.86265e-09 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 679 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9948 +ok: bf16^T x bf16 -> f32 16x1023x17 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 16368 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0454 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f32 16x1023x17 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 5000x7x13 batch 1 pad 0/0/2 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 35000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0395 +ok: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/6/7 alpha 1.04904e-05 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0222 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/6/7 alpha 1.04904e-05 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f16 97x15x32 batch 1 pad 0/4/0 alpha 1.19209e-07 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9515 +ok: bf16^T x e4m3^T -> bf16 17x4096x15 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 69632 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9940 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> bf16 17x4096x15 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f16 1x1x1 batch 1 pad 7/1/0 alpha 1.04904e-05 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0790 +ok: f32 x f32 -> f32 513x127x64 batch 1 pad 6/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 65151 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0133 +ok: f32 x f32 -> f16 1025x1025x511 batch 1 pad 0/0/0 alpha 7.45058e-09 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1945 +ok: f32 x bf16^T -> f32 1x1x1 batch 1 pad 0/0/3 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0031 +ok: chip core == host-model core, bit for bit: f32 x bf16^T -> f32 1x1x1 batch 1 pad 0/0/3 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f16 8x513x65 batch 1 pad 2/0/0 alpha 2.98023e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9765 +ok: f32 x f32^T -> f32 15x17x513 batch 1 pad 0/1/2 alpha 1 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 255 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0013 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 15x17x513 batch 1 pad 0/1/2 alpha 1 beta 1 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 16x4097x255 batch 1 pad 0/0/0 alpha -0.5 beta 1 block-scale edge 0 blocks 128/100/16: OK route native core calls 32 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0032 +ok: e4m3 x e5m2 -> f16 1x1x1 batch 2 pad 0/7/0 alpha 3.8147e-06 beta 1 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5513 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2 -> f16 1x1x1 batch 2 pad 0/7/0 alpha 3.8147e-06 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16 -> f32 127x128x1021 batch 2 pad 0/0/6 alpha 2.75 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0202 +ok: f16 x f16^T -> f32 33x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 135168 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0697 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 33x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f16 1x1x1 batch 2 pad 0/0/0 alpha 3.8147e-06 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6116 +ok: e5m2 x e5m2^T -> f16 1000x1021x1023 batch 1 pad 0/0/0 alpha 3.72529e-09 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9083 +ok: bf16 x e4m3 -> f32 1x16x17 batch 1 pad 5/0/5 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0242 +ok: f16^T x e5m2 -> f32 15x4097x16 batch 1 pad 0/5/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 61455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0343 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> f32 15x4097x16 batch 1 pad 0/5/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f16 1x1x1 batch 2 pad 1/0/0 alpha 3.8147e-06 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6047 +ok: f32 x f32 -> f32 16x128x31 batch 3 A-bcast B-bcast pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 6144 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6412 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 16x128x31 batch 3 A-bcast B-bcast pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> f16 8x4096x251 batch 1 pad 6/5/0 alpha 1.49012e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9326 +ok: bf16 x f16^T -> f32 1x1x1 batch 1 pad 4/2/6 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16 x f16^T -> f32 1x1x1 batch 1 pad 4/2/6 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f16 128x1000x32 batch 1 pad 3/1/0 alpha 1.19209e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 128000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9994 +ok: e4m3 x e4m3 -> f16 256x17x256 batch 3 A-bcast pad 0/0/0 alpha 5.82077e-11 beta 0 block-scale edge 0 blocks 7/1/16: OK route native core calls 48 host-fixed 0, 13056 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8608 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f16 256x17x256 batch 3 A-bcast pad 0/0/0 alpha 5.82077e-11 beta 0 block-scale edge 0 blocks 7/1/16: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f32 13x4097x8 batch 1 pad 7/0/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 53261 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0374 +ok: bf16 x bf16 -> bf16 1021x8x63 batch 3 A-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 24504 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9939 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> bf16 1021x8x63 batch 3 A-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f32 2x129x509 batch 3 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 774 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0253 +ok: e4m3^T x e4m3 -> bf16 8x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 32768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9892 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> bf16 8x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f32 1x1x1 batch 1 pad 0/5/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16 x e4m3 -> f32 17x1021x511 batch 2 A-bcast B-bcast pad 0/7/7 alpha 1 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0346 +ok: f16 x e5m2 -> f32 32x32x20000 batch 2 pad 0/0/4 alpha 1 beta 0 edge 0: OK route widen core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: f32^T x f32 -> f32 1x1x1 batch 2 A-bcast pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0695 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 1x1x1 batch 2 A-bcast pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 129x15x513 batch 1 pad 0/2/2 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1935 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2313 +ok: f32^T x bf16^T -> f32 257x251x13 batch 1 pad 0/0/2 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 64507 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0082 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f32 257x251x13 batch 1 pad 0/0/2 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f16 4096x1x255 batch 1 pad 0/0/0 alpha 4.09782e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9583 +ok: f32^T x f32^T -> f16 1x1x1 batch 1 pad 6/0/0 alpha 3.8147e-06 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3144 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 1x1x1 batch 1 pad 6/0/0 alpha 3.8147e-06 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> bf16 2x1025x15 batch 1 pad 5/4/0 alpha 1 beta 1 block-scale edge 0 blocks 16/100/16: OK route native core calls 1 host-fixed 0, 2050 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9707 +ok: e4m3^T x e5m2 -> f32 4095x5x129 batch 1 pad 0/2/0 alpha -0.5 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 20475 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0517 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> f32 4095x5x129 batch 1 pad 0/2/0 alpha -0.5 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> f32 1x1x1 batch 1 pad 0/6/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16^T x f16^T -> bf16 32x13x17 batch 2 pad 1/1/0 alpha 2.75 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9522 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> bf16 32x13x17 batch 2 pad 1/1/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 65x129x251 batch 3 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0182 +ok: e5m2^T x e5m2 -> f32 4096x13x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0291 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 4096x13x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> bf16 255x65x31 batch 1 pad 0/0/6 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16575 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9878 +ok: f16^T x e5m2 -> f32 511x1023x255 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0445 +ok: f32^T x f32 -> f16 4095x13x257 batch 1 pad 0/0/0 alpha 7.45058e-09 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9839 +ok: f32^T x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1082 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16^T -> bf16 3x15x256 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 45 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8657 +ok: bf16^T x f16^T -> f32 1x2x3617 batch 1 pad 7/0/7 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: chip core == host-model core, bit for bit: bf16^T x f16^T -> f32 1x2x3617 batch 1 pad 7/0/7 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 4097x13x64 batch 1 pad 0/7/0 alpha 5.96046e-08 beta 1 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 53261 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9869 +ok: e4m3^T x e4m3 -> f32 33x127x509 batch 1 pad 0/7/0 alpha 1 beta 0 block-scale edge 0 blocks 16/7/16: OK route native core calls 32 host-fixed 0, 4191 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0020 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 33x127x509 batch 1 pad 0/7/0 alpha 1 beta 0 block-scale edge 0 blocks 16/7/16: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f32 97x1025x5 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 99425 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9543 +ok: bf16 x bf16 -> f32 4095x15x1 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 61425 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> f32 4095x15x1 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 1x1x1 batch 2 A-bcast B-bcast pad 3/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: e4m3^T x e4m3^T -> bf16 513x17x8 batch 2 pad 2/5/0 alpha 2.75 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 17442 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9903 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> bf16 513x17x8 batch 2 pad 2/5/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f16 64x17x20000 batch 1 pad 7/0/0 alpha 1.16415e-10 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9590 +ok: bf16^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f32 5x128x13 batch 2 pad 0/6/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 1280 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0320 +ok: f32^T x f32 -> f32 15x2x127 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 30 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 15x2x127 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 4096x32x97 batch 1 pad 0/0/5 alpha -0.5 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4332 +ok: f32^T x bf16^T -> f32 63x1000x31 batch 2 pad 0/0/6 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 126000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0129 +ok: bf16 x f16^T -> f32 127x31x251 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 3937 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0059 +ok: f32^T x f32^T -> f16 15x4095x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 61425 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8942 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 15x4095x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f16 1x1x1 batch 1 pad 0/0/1 alpha 4.09782e-08 beta 0 block-scale edge 0 blocks 128/100/100: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3342 +ok: e4m3 x e5m2 -> f32 511x127x256 batch 1 pad 0/0/0 alpha -0.5 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2 -> f32 511x127x256 batch 1 pad 0/0/0 alpha -0.5 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 13x8x16383 batch 3 pad 0/1/3 alpha 2.75 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0046 +ok: f16 x f16^T -> bf16 5x4096x97 batch 1 pad 0/0/7 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 20480 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9855 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> bf16 5x4096x97 batch 1 pad 0/0/7 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> bf16 7x1000x257 batch 1 pad 4/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 7000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9662 +ok: e5m2 x e5m2^T -> f32 16x17x5 batch 1 pad 0/2/7 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 272 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0197 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f32 16x17x5 batch 1 pad 0/2/7 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 17x4095x15 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 69615 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0404 +ok: f16 x e5m2 -> bf16 1x1x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7285 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> bf16 1x1x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 128x129x7 batch 1 pad 7/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16512 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4896 +ok: f32 x f32 -> f32 65x13x1807 batch 3 A-bcast pad 4/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1312 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 65x13x1807 batch 3 A-bcast pad 4/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 13x4096x97 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: bf16 x f16^T -> bf16 513x1021x13 batch 1 pad 0/4/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9433 +ok: f32 x f32 -> f32 1025x32x97 batch 1 pad 0/0/2 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 32800 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0103 +ok: e4m3^T x e4m3 -> f16 2x4095x8 batch 1 pad 4/0/0 alpha 1.86265e-09 beta 0 block-scale edge 0 blocks 16/7/16: OK route native core calls 1 host-fixed 0, 8190 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8944 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 2x4095x8 batch 1 pad 4/0/0 alpha 1.86265e-09 beta 0 block-scale edge 0 blocks 16/7/16: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2 -> f32 8x13x15 batch 1 pad 0/0/7 alpha -0.5 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0276 +ok: bf16 x bf16^T -> f32 17x251x128 batch 1 pad 0/1/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 4267 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0648 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f32 17x251x128 batch 1 pad 0/1/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 32x15x16383 batch 1 pad 0/4/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: e4m3 x e4m3^T -> f32 1x1x1 batch 1 pad 1/0/5 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 1x1x1 batch 1 pad 1/0/5 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f16 129x1023x129 batch 1 pad 0/0/0 alpha 1.49012e-08 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8742 +ok: bf16 x e4m3^T -> f16 1x32x16383 batch 3 pad 0/0/0 alpha 6.40284e-10 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 96 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9542 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f16 1x32x16383 batch 3 pad 0/0/0 alpha 6.40284e-10 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> f32 8x4095x257 batch 2 B-bcast pad 0/1/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0404 +ok: f32 x f32 -> bf16 1000x16x251 batch 1 pad 2/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9434 +ok: f32 x f32^T -> f32 1x255x1 batch 1 pad 1/0/0 alpha -0.5 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 255 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6259 +ok: f32^T x bf16^T -> f32 17x5000x2 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 85000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9468 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f32 17x5000x2 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f32 1x1x1 batch 1 pad 0/6/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f32 x f32 -> f32 31x1023x3 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 31713 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0299 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 31x1023x3 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 64x8x16383 batch 2 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 100/100/32: OK route native core calls 1024 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: e4m3 x e5m2^T -> f32 4095x7x64 batch 2 A-bcast B-bcast pad 0/0/3 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 57330 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0545 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 4095x7x64 batch 2 A-bcast B-bcast pad 0/0/3 alpha 1 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 128x15x5 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1920 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5343 +ok: f16^T x f16^T -> bf16 256x255x64 batch 3 A-bcast pad 0/0/2 alpha -0.5 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9678 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> bf16 256x255x64 batch 3 A-bcast pad 0/0/2 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 5000x15x97 batch 2 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0166 +ok: e5m2^T x e5m2 -> bf16 1021x127x7 batch 3 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 389001 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9942 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> bf16 1021x127x7 batch 3 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> f16 2x1025x65 batch 3 A-bcast B-bcast pad 0/1/0 alpha 2.98023e-08 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 6150 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8821 +ok: f16 x e5m2^T -> f32 1x1x16384 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0015 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 1x1x16384 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 1x1x1 batch 1 pad 6/0/3 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0011 +ok: f32^T x f32^T -> f32 32x16x97 batch 1 pad 3/1/6 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 512 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5712 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 32x16x97 batch 1 pad 3/1/6 alpha 2.75 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16^T -> f32 65x2x1808 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 130 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0013 +ok: bf16 x f16^T -> f32 5000x1x251 batch 1 pad 0/7/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 5000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0054 +ok: chip core == host-model core, bit for bit: bf16 x f16^T -> f32 5000x1x251 batch 1 pad 0/7/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 129x128x128 batch 1 pad 0/0/5 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 16512 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0070 +ok: e4m3^T x e4m3 -> f16 257x1x1023 batch 1 pad 5/0/0 alpha 1.45519e-11 beta 0 block-scale edge 0 blocks 128/1/32: OK route native core calls 32 host-fixed 0, 257 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5456 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 257x1x1023 batch 1 pad 5/0/0 alpha 1.45519e-11 beta 0 block-scale edge 0 blocks 128/1/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> bf16 4097x32x65 batch 1 pad 0/0/2 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9658 +ok: bf16^T x bf16^T -> f32 1x1x1 batch 1 pad 0/4/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 1x1x1 batch 1 pad 0/4/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f16 3x31x1025 batch 1 pad 0/0/0 alpha -9.31323e-10 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 93 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9460 +ok: e4m3 x e4m3^T -> f32 13x65x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0031 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 13x65x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f32 4095x15x256 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0283 +ok: bf16^T x e4m3 -> f32 33x129x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 4257 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 33x129x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f32 64x3x32 batch 1 pad 0/0/3 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0414 +ok: f32^T x f32 -> f32 5000x33x16 batch 1 pad 0/3/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 165000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0112 +ok: f32^T x f32^T -> f32 251x1000x3 batch 1 pad 7/0/5 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 251000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9153 +ok: f32^T x bf16^T -> f16 509x17x33 batch 1 pad 0/5/0 alpha 5.96046e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8653 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8983 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f16 509x17x33 batch 1 pad 0/5/0 alpha 5.96046e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f32 32x13x1808 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 416 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0016 +ok: f32^T x f32^T -> f32 4095x5x7 batch 1 pad 2/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 20475 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0342 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 4095x5x7 batch 1 pad 2/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 5x128x97 batch 1 pad 7/2/0 alpha 1 beta -1.5 block-scale edge 0 blocks 16/100/16: OK route native core calls 7 host-fixed 0, 640 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0069 +ok: e4m3 x e5m2^T -> f32 2x33x16384 batch 3 B-bcast pad 0/1/0 alpha -0.5 beta 1 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 198 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0038 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 2x33x16384 batch 3 B-bcast pad 0/1/0 alpha -0.5 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 5000x8x63 batch 1 pad 0/5/0 alpha 1 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 40000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0691 +ok: f16^T x f16^T -> f32 32x1021x127 batch 1 pad 0/0/6 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 32672 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0666 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> f32 32x1021x127 batch 1 pad 0/0/6 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 65x31x1021 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 2015 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0115 +ok: e5m2 x e5m2^T -> f32 32x7x16385 batch 1 pad 0/0/2 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 224 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f32 32x7x16385 batch 1 pad 0/0/2 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f32 1x1x1 batch 3 pad 0/2/6 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0228 +ok: f16 x e5m2 -> f32 511x251x1023 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0193 +ok: f32^T x f32 -> f32 33x65x1809 batch 1 pad 0/5/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2145 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0015 +ok: f32^T x f32 -> bf16 2x5000x257 batch 1 pad 0/5/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 2 host-fixed 0, 10000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4326 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> bf16 2x5000x257 batch 1 pad 0/5/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 7x1023x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 7161 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0056 +ok: bf16 x f16 -> f16 13x33x31 batch 1 pad 0/0/0 alpha 1.19209e-07 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 429 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9414 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f16 13x33x31 batch 1 pad 0/0/0 alpha 1.19209e-07 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 5x4097x7 batch 1 pad 0/0/0 alpha 1 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 20485 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4002 +ok: e4m3 x e4m3 -> bf16 33x16x2 batch 1 pad 4/0/5 alpha 1 beta 0 block-scale edge 0 blocks 7/1/32: OK route native core calls 1 host-fixed 0, 528 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9504 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> bf16 33x16x2 batch 1 pad 4/0/5 alpha 1 beta 0 block-scale edge 0 blocks 7/1/32: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f16 97x255x33 batch 1 pad 2/0/0 alpha 5.96046e-08 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 24735 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9762 +ok: bf16^T x bf16^T -> f32 15x65x16385 batch 1 pad 1/0/1 alpha 1 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 15x65x16385 batch 1 pad 1/0/1 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 32x5000x257 batch 1 pad 0/7/5 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0444 +ok: e4m3 x e4m3^T -> bf16 513x1025x63 batch 2 pad 5/0/0 alpha 1 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9476 +ok: e5m2 x e5m2 -> f32 65x63x16385 batch 1 pad 0/2/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0046 +ok: bf16^T x e4m3 -> f32 3x4097x97 batch 1 pad 3/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 12291 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0506 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 3x4097x97 batch 1 pad 3/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f32 8x15x65 batch 2 B-bcast pad 0/0/6 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 240 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0319 +ok: f32 x f32^T -> bf16 15x251x511 batch 2 pad 0/0/5 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 7530 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8688 +ok: f32^T x f32^T -> bf16 17x1x1809 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 17 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0869 +ok: f32^T x bf16 -> f16 33x5000x97 batch 1 pad 5/1/0 alpha 8.19564e-08 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9795 +ok: bf16 x f16 -> f32 127x1025x1000 batch 3 A-bcast B-bcast pad 0/2/7 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0028 +ok: f32^T x f32 -> f16 8x65x16385 batch 1 pad 6/7/0 alpha 3.20142e-10 beta 0 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0046 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 8x65x16385 batch 1 pad 6/7/0 alpha 3.20142e-10 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 5x4097x17 batch 2 A-bcast pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 128/1/32: OK route native core calls 4 host-fixed 0, 40970 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2974 +ok: e4m3 x e5m2^T -> f32 1000x16x1021 batch 1 pad 6/0/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0167 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 1000x16x1021 batch 1 pad 6/0/0 alpha 2.75 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 1023x256x16 batch 3 A-bcast pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0530 +ok: f16^T x f16 -> f32 2x13x16385 batch 2 B-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 4 host-fixed 0, 52 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 2x13x16385 batch 2 B-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 7x128x1023 batch 1 pad 2/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 896 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0084 +ok: e5m2 x e5m2 -> bf16 16x1x17 batch 1 pad 6/0/4 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 16 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8666 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> bf16 16x1x17 batch 1 pad 6/0/4 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f32 31x65x16385 batch 1 pad 3/2/0 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: f16 x e5m2 -> bf16 32x4097x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 131104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9947 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> bf16 32x4097x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 128x31x32 batch 2 pad 0/3/6 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 7936 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9738 +ok: f32^T x f32^T -> f32 251x257x255 batch 1 pad 1/2/3 alpha -0.5 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3497 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 251x257x255 batch 1 pad 1/2/3 alpha -0.5 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> bf16 4096x13x257 batch 1 pad 3/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8822 +ok: bf16^T x f16 -> f32 1021x129x33 batch 2 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0109 +ok: f32^T x f32 -> f32 1025x2x257 batch 1 pad 0/0/6 alpha 1 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 2050 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0036 +ok: e4m3 x e4m3^T -> f32 64x16x20000 batch 2 pad 0/0/2 alpha 1 beta -1.5 block-scale edge 0 blocks 1/100/100: OK route native core calls 400 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: e4m3^T x e5m2 -> f32 5000x5x2 batch 3 B-bcast pad 0/4/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 6 host-fixed 0, 75000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9324 +ok: bf16^T x bf16^T -> f32 17x17x509 batch 1 pad 0/2/5 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 289 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0201 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 17x17x509 batch 1 pad 0/2/5 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> bf16 32x8x20000 batch 2 pad 5/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1973 +ok: e4m3 x e4m3 -> f32 4097x17x257 batch 1 pad 0/0/7 alpha 1 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0139 +ok: e5m2^T x e5m2 -> f32 129x128x511 batch 1 pad 3/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0254 +ok: bf16^T x e4m3 -> f32 255x2x8 batch 1 pad 1/0/1 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 510 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0281 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 255x2x8 batch 1 pad 1/0/1 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f16 13x63x20000 batch 2 pad 0/0/0 alpha 1.16415e-10 beta 0 edge 0: OK route widen core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0488 +ok: f32^T x f32^T -> f16 1000x1021x1000 batch 1 pad 0/0/2 alpha 1.02445e-08 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9716 +ok: f32^T x f32^T -> bf16 1x31x15 batch 3 pad 3/0/4 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 93 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5395 +ok: f32 x bf16^T -> bf16 8x3x3617 batch 3 B-bcast pad 0/3/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 9 host-fixed 0, 72 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2843 +ok: chip core == host-model core, bit for bit: f32 x bf16^T -> bf16 8x3x3617 batch 3 B-bcast pad 0/3/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> f16 4097x3x255 batch 1 pad 0/0/0 alpha 1.49012e-08 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 12291 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9676 +ok: f32^T x f32 -> f32 31x251x16 batch 1 pad 0/1/4 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 7781 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0244 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 31x251x16 batch 1 pad 0/1/4 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 33x3x129 batch 1 pad 0/3/0 alpha 1 beta 0 block-scale edge 0 blocks 1/100/128: OK route native core calls 2 host-fixed 0, 99 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0131 +ok: e4m3^T x e5m2 -> f16 8x33x20000 batch 3 B-bcast pad 0/0/0 alpha 1.16415e-10 beta 0 tensor-scale edge 0: OK route widen core calls 6 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0437 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> f16 8x33x20000 batch 3 B-bcast pad 0/0/0 alpha 1.16415e-10 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 251x1023x32 batch 3 A-bcast pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0478 +ok: f16^T x f16^T -> bf16 256x32x256 batch 1 pad 0/0/6 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9633 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> bf16 256x32x256 batch 1 pad 0/0/6 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 17x32x20000 batch 1 pad 0/5/0 alpha 1 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0014 +ok: e5m2^T x e5m2^T -> f32 4097x3x1 batch 2 pad 0/4/0 alpha 1 beta 1 edge 0: OK route widen core calls 4 host-fixed 0, 24582 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9846 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2^T -> f32 4097x3x1 batch 2 pad 0/4/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> f32 2x255x257 batch 3 pad 0/0/4 alpha -0.5 beta 1 edge 0: OK route widen core calls 3 host-fixed 0, 1530 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0361 +ok: f16^T x e5m2 -> bf16 32x15x20000 batch 1 pad 3/6/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2966 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> bf16 32x15x20000 batch 1 pad 3/6/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 4096x1x33 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0079 +ok: f32^T x f32^T -> bf16 32x1025x511 batch 3 pad 6/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2863 +ok: f32^T x bf16 -> f16 63x63x8 batch 3 A-bcast pad 5/0/0 alpha 1.3113e-06 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 11907 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9335 +ok: bf16 x f16^T -> f32 7x5x3617 batch 2 A-bcast pad 2/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 6 host-fixed 0, 70 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0004 +ok: chip core == host-model core, bit for bit: bf16 x f16^T -> f32 7x5x3617 batch 2 A-bcast pad 2/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> bf16 255x15x513 batch 3 pad 0/1/0 alpha 2.75 beta 1 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7980 +ok: e4m3 x e4m3 -> f32 257x251x13 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/1/100: OK route native core calls 1 host-fixed 0, 64507 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3174 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 257x251x13 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/1/100: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f32 31x17x16383 batch 1 pad 2/1/0 alpha 2.75 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: bf16^T x bf16 -> f32 31x4096x127 batch 1 pad 0/5/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0425 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f32 31x4096x127 batch 1 pad 0/5/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f32 3x1025x15 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 3075 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0360 +ok: e4m3 x e4m3 -> f32 13x33x128 batch 1 pad 0/3/5 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 429 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0162 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 13x33x128 batch 1 pad 0/3/5 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f32 7x2x16383 batch 1 pad 6/3/0 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 14 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0025 +ok: bf16 x e4m3 -> f32 33x16x17 batch 1 pad 0/7/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 528 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0406 +ok: chip core == host-model core, bit for bit: bf16 x e4m3 -> f32 33x16x17 batch 1 pad 0/7/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> bf16 64x256x129 batch 1 pad 0/0/7 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16384 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9914 +ok: f32^T x f32^T -> f32 3x5x1807 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0010 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 3x5x1807 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 32x4096x31 batch 1 pad 5/0/2 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 131072 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8096 +ok: f32 x bf16 -> f32 509x1x255 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 509 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f32 509x1x255 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16 -> bf16 1021x63x2 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 64323 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9896 +ok: f32^T x f32^T -> bf16 3x4095x5 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 36855 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9936 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 3x4095x5 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 5x17x256 batch 1 pad 0/0/0 alpha 2.75 beta 0 block-scale edge 0 blocks 128/100/32: OK route native core calls 8 host-fixed 0, 85 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: e4m3 x e5m2^T -> f32 8x257x3 batch 1 pad 2/7/4 alpha -0.5 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 2056 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0312 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 8x257x3 batch 1 pad 2/7/4 alpha -0.5 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 8x33x16383 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: f16 x f16^T -> f32 63x129x257 batch 1 pad 0/1/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 8127 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0493 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 63x129x257 batch 1 pad 0/1/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> bf16 65x2x5 batch 1 pad 0/0/2 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 130 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9162 +ok: e5m2 x e5m2^T -> f16 1x64x16383 batch 1 pad 0/0/0 alpha -1.16415e-10 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0341 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f16 1x64x16383 batch 1 pad 0/0/0 alpha -1.16415e-10 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 32x4095x1 batch 3 A-bcast B-bcast pad 5/0/0 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 393120 checked, 0 wrong, 0 untouched changed, max |err| / bound 1.0000 +ok: f16 x e5m2^T -> f32 511x32x8 batch 1 pad 0/0/6 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16352 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0283 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 511x32x8 batch 1 pad 0/0/6 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 1023x509x65 batch 1 pad 0/7/2 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0074 +ok: f32^T x f32 -> f32 7x17x1807 batch 2 B-bcast pad 0/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 2 host-fixed 0, 238 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1083 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 7x17x1807 batch 2 B-bcast pad 0/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> bf16 7x128x13 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 896 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9428 +ok: bf16 x f16 -> f32 13x2x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 26 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f32 13x2x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 16x63x16383 batch 1 pad 0/2/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: e4m3 x e4m3 -> f16 13x4096x1 batch 1 pad 2/0/6 alpha 4.09782e-08 beta 1 block-scale edge 0 blocks 16/1/128: OK route native core calls 1 host-fixed 0, 53248 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9619 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f16 13x4096x1 batch 1 pad 2/0/6 alpha 4.09782e-08 beta 1 block-scale edge 0 blocks 16/1/128: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f32 97x31x128 batch 1 pad 4/0/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 3007 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0443 +ok: bf16^T x bf16^T -> f32 251x257x1023 batch 1 pad 4/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0179 +ok: f16 x f16 -> f32 5x17x16384 batch 1 pad 4/4/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 85 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0035 +ok: e4m3^T x e4m3 -> f32 513x129x129 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0185 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 513x129x129 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 1025x3x1025 batch 1 pad 0/0/1 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 3075 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0195 +ok: bf16 x e4m3 -> f32 65x63x16384 batch 1 pad 0/0/4 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: f16^T x e5m2^T -> f16 8x1023x255 batch 1 pad 0/6/1 alpha 1.49012e-08 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 8184 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9970 +ok: f32^T x f32^T -> f32 15x32x2 batch 3 B-bcast pad 0/1/0 alpha 2.75 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1440 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7446 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 15x32x2 batch 3 B-bcast pad 0/1/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 32x511x32 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 16352 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7143 +ok: f32^T x bf16 -> bf16 4095x3x251 batch 1 pad 6/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 12285 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9299 +ok: bf16^T x f16 -> f16 127x255x3 batch 3 pad 0/0/7 alpha -4.76837e-07 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 97155 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9452 +ok: f32^T x f32 -> f16 255x5x63 batch 1 pad 0/0/0 alpha 5.96046e-08 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1275 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9450 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 255x5x63 batch 1 pad 0/0/0 alpha 5.96046e-08 beta 1 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> bf16 7x16x16384 batch 1 pad 3/0/0 alpha -0.5 beta 1 block-scale edge 0 blocks 16/7/128: OK route native core calls 128 host-fixed 0, 112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4321 +ok: e4m3^T x e5m2^T -> f16 1000x1025x5 batch 1 pad 1/4/0 alpha 4.76837e-07 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7196 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> f16 1000x1025x5 batch 1 pad 1/4/0 alpha 4.76837e-07 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f16 1023x63x64 batch 3 pad 6/0/0 alpha 1.63913e-07 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9758 +ok: f16 x f16 -> f16 63x3x16384 batch 1 pad 0/6/7 alpha -1.16415e-10 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 189 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9440 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f16 63x3x16384 batch 1 pad 0/6/7 alpha -1.16415e-10 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> bf16 4095x13x129 batch 1 pad 6/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9732 +ok: e5m2^T x e5m2 -> bf16 16x256x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 4096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9725 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> bf16 16x256x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 33x7x1021 batch 1 pad 1/0/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 231 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0140 +ok: f16 x e5m2 -> f32 1x32x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 32 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0032 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> f32 1x32x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 128x1023x129 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0065 +ok: f32^T x f32^T -> f32 256x33x1025 batch 1 pad 0/0/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1813 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 256x33x1025 batch 1 pad 0/0/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f16 8x13x1808 batch 2 pad 2/0/0 alpha 1.86265e-09 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 208 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9651 +ok: bf16^T x f16 -> bf16 1021x16x251 batch 3 pad 1/0/5 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8964 +ok: f32^T x f32 -> f32 1025x255x1 batch 1 pad 0/6/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 261375 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9999 +ok: e4m3^T x e4m3^T -> f16 5x7x32 batch 1 pad 0/3/0 alpha 4.65661e-10 beta 1 block-scale edge 0 blocks 1/7/16: OK route native core calls 2 host-fixed 0, 35 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5230 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f16 5x7x32 batch 1 pad 0/3/0 alpha 4.65661e-10 beta 1 block-scale edge 0 blocks 1/7/16: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2 -> bf16 17x32x16384 batch 1 pad 0/2/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4009 +ok: bf16^T x bf16^T -> bf16 17x1x2 batch 1 pad 3/7/3 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 17 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6990 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> bf16 17x1x2 batch 1 pad 3/7/3 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> bf16 63x63x33 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 3969 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9597 +ok: e4m3 x e4m3 -> f32 1x3x16384 batch 1 pad 0/7/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0004 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 1x3x16384 batch 1 pad 0/7/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 129x17x5 batch 1 pad 6/5/3 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 2193 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8133 +ok: bf16 x e4m3^T -> f16 257x257x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 66049 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9987 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f16 257x257x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> f32 511x8x509 batch 1 pad 2/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 4088 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0393 +ok: f32^T x f32 -> f16 31x5000x3 batch 1 pad 0/0/0 alpha -4.76837e-07 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 155000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9492 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 31x5000x3 batch 1 pad 0/0/0 alpha -4.76837e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 1x2x65 batch 1 pad 0/7/7 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2025 +ok: f32 x bf16 -> f16 7x65x513 batch 1 pad 0/0/0 alpha 1.02445e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4478 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f16 7x65x513 batch 1 pad 0/0/0 alpha 1.02445e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f32 3x2x1809 batch 3 pad 0/5/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 6 host-fixed 0, 18 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0013 +ok: f32 x f32 -> f32 31x31x97 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 961 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0067 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 31x31x97 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 64x509x1000 batch 1 pad 0/0/0 alpha 1 beta -1.5 block-scale edge 0 blocks 100/100/16: OK route native core calls 63 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0007 +ok: e4m3 x e5m2^T -> bf16 16x17x16385 batch 1 pad 0/0/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2822 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> bf16 16x17x16385 batch 1 pad 0/0/0 alpha 1 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 251x251x128 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0484 +ok: f16 x f16 -> f32 256x3x1021 batch 3 pad 0/4/6 alpha 2.75 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 2304 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0216 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 256x3x1021 batch 3 pad 0/4/6 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> bf16 513x64x16 batch 1 pad 0/0/3 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 32832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9925 +ok: e5m2^T x e5m2 -> f32 64x63x16385 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0044 +ok: bf16 x e4m3^T -> f32 2x31x1025 batch 1 pad 7/1/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 62 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0124 +ok: f16 x e5m2^T -> f32 8x257x17 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2056 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0393 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 8x257x17 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 5x33x1809 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 165 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4594 +ok: f32 x f32 -> f32 32x129x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 4128 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7966 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 32x129x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> f32 65x3x32 batch 2 pad 7/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 390 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0074 +ok: bf16 x f16 -> f32 127x65x256 batch 2 A-bcast B-bcast pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0072 +ok: f32^T x f32 -> f16 13x5000x33 batch 3 A-bcast pad 0/5/4 alpha 1.63913e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 6 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9928 +ok: e4m3 x e4m3^T -> bf16 257x32x33 batch 3 A-bcast pad 0/5/5 alpha 1 beta -1.5 block-scale edge 0 blocks 100/128/100: OK route native core calls 3 host-fixed 0, 24672 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9925 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> bf16 257x32x33 batch 3 A-bcast pad 0/5/5 alpha 1 beta -1.5 block-scale edge 0 blocks 100/128/100: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> bf16 1000x511x257 batch 2 A-bcast pad 0/7/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9580 +ok: bf16 x bf16^T -> f16 65x33x16385 batch 2 pad 0/0/5 alpha 1.16415e-10 beta 1 edge 0: OK route native core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9334 +ok: f16 x f16 -> f32 3x255x64 batch 2 pad 0/0/3 alpha 1 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 1530 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0560 +sweep part 0/1: 600 cases (244 also bit for bit against the model core): PASS +route native: largest |got - ref| / bound = 0.9969 (passing elements) +route widen: largest |got - ref| / bound = 1.0000 (passing elements) +route bf16x3: largest |got - ref| / bound = 0.9995 (passing elements) +route fast_bf16: largest |got - ref| / bound = 0.9895 (passing elements) +route ffma: largest |got - ref| / bound = 0.9999 (passing elements) +gemm_ex chip: PASS (902 checks) diff --git a/evidence/GEMM-GENERAL-00c9cf9/window-close.json b/evidence/GEMM-GENERAL-00c9cf9/window-close.json new file mode 100644 index 00000000..bfa4eb7c --- /dev/null +++ b/evidence/GEMM-GENERAL-00c9cf9/window-close.json @@ -0,0 +1,7 @@ +{"window_id": "20261031T115238Z-0623b2", "closed_by": "spark-window close", "reason": "closed", "verdict": "quiet machine", "held_s": 45, "state": {"utc": "2026-10-31T11:53:23Z", "loadavg": "25.18 25.63 26.11 23/2217 2446530", "mem_avail_kB": 59388500, "gpu_util_pct": "92", "gpu_W": "47.62", + "gb10_lock_holders": "", + "quiet_lock_holders": "", + "quiet_waiters": "", + "gpu_apps": "2489455, 30366 MiB, /app/llama-server;", + "sensors_row": "1793447601,2026-10-31T06:53:21-05:00,180,46.50,86,25.18,59491168,1,207", "sensors_row_age_s": 2} +} diff --git a/evidence/GEMM-GENERAL-00c9cf9/window-open.json b/evidence/GEMM-GENERAL-00c9cf9/window-open.json new file mode 100644 index 00000000..b3c52a6d --- /dev/null +++ b/evidence/GEMM-GENERAL-00c9cf9/window-open.json @@ -0,0 +1,7 @@ +{"window_id": "20261031T115238Z-0623b2", "name": "GemmEx", "owner": "drakestapleton@pid1486356", "lease_min": 90, "gb10": "shared", "waited_s": 1, "state": {"utc": "2026-10-31T11:52:39Z", "loadavg": "27.85 26.12 26.28 21/2201 2407099", "mem_avail_kB": 59472848, "gpu_util_pct": "92", "gpu_W": "48.03", + "gb10_lock_holders": "holds shared pid 2406110 (s) (set by a finished flock; processes with /tmp/aien-gb10.lock open now: pid 2406083 /bin/sh /home/drakestapleton/.local/bin/spark-window _hold 20261031T11); ", + "quiet_lock_holders": "", + "quiet_waiters": "", + "gpu_apps": "2489455, 30366 MiB, /app/llama-server;", + "sensors_row": "1793447557,2026-10-31T06:52:37-05:00,190,48.01,93,28.62,59728884,0,207", "sensors_row_age_s": 2} +} diff --git a/evidence/GEMM-GENERAL-AB-20261027/AB-PLAN-ab2.md b/evidence/GEMM-GENERAL-AB-20261027/AB-PLAN-ab2.md new file mode 100644 index 00000000..73511029 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/AB-PLAN-ab2.md @@ -0,0 +1,38 @@ +# GemmGeneral served-shape A/B, run ab-2: gemm_ex after the host-overhead fix (predeclared) + +Written 2026-10-27 by GemmGeneral2 before any ab-2 timed run. Committed to CUDApp branch `gemm-general/gemm-ex` and +announced on BOARD (with this file's sha256) before the hold starts. Nothing below is changed after the run. ab-1 +(`AB-PLAN.md`, `RESULT.md`, `ab-1/`) stands as recorded: 18/18 REGRESSION, lane gate FAIL. ab-2 is a new run of new +library code, reported beside ab-1, never in place of it. + +## What changed since ab-1 + +`src/omega_gpu_gemm_ex.c` only (same entry, same signature, same results): +- the inf/NaN scan of A and B reads each operand once with a 128-bit word test instead of a per-element decode; +- the pack buffers and the double sum are allocated only when a path uses them; +- one k part without block scales skips the host double sum (`0 + P`, the same value); +- native route, one k part, alpha s 1, beta 0, C f32 with ldc n, n <= 16384, finite inputs: the C3 kernel writes C in + place, one call per 16384 rows, no 4096 host tile and no host epilogue (the header's bit-for-bit-C3 case). + +Host-only profile of the entry with a no-op core (`/tmp/gex2prof/prof.c`, information only, not a gate): bf16 +2048x16384x2048 151.7 ms -> 4.4 ms of host work per call; bf16 1x8192x2048 24.6 -> 1.2 ms. + +## Arms, cells, run, correctness gate, kept pairs, statistics, verdict rule, lane gate + +Exactly as `AB-PLAN.md` (same 18 cells, same driver source `gemm_ex_ab.c` sha256 +eaec1adacd64eb718862cf4af5d835ba60a8a3120a684c27e76d03472d33f6bb, same seed 20261027, 20 timed rounds, same +`--spin-us 300000`, same hold script `hold.sh` sha256 05169150bbbbe7d45d3c3098ab03aa48242a034132a895f8af0a0bbbe3ab0329, +same correctness gate including the mutant-1 RED control, same verdict thresholds and the same lane gate r <= 1.10 in +every cell), with these inputs: + +- Code under test: CUDApp `gemm-general/gemm-ex` at 0d2b14a (`gemm_ex: host overhead`), library built with the + Makefile CFLAGS into `/tmp/gex2ab2`: `libomega_gpu.a` sha256 + 3e960ea5a84ec283c93b77ea22880b1d7b284d4761bd3ff1280b2e3c5b68d866. +- Driver binary `/tmp/gex2ab2/gemm_ex_ab` (same compile line as ab-1, linked against that library) sha256 + 30874b38d19863babcf1f1993422a30d1e2684d94c524c24a19f4b841a81a8b3. +- Command: `hold.sh ab-2 taskset -c 10-14 /tmp/gex2ab2/gemm_ex_ab --rounds 20 --seed 20261027 --spin-us 300000`. +- Before the timed run, under its own hold, the chip tier of the new build: `/tmp/gex2ab2/gpu_gemm_ex_test` (no flag) must + PASS; a chip FAIL voids ab-2 (NOT_RUN, reported). + +One run. No re-run is chosen over another. If ab-2's lane gate fails, the measured per-cell overhead goes into API.md +section 9.8. diff --git a/evidence/GEMM-GENERAL-AB-20261027/AB-PLAN.md b/evidence/GEMM-GENERAL-AB-20261027/AB-PLAN.md new file mode 100644 index 00000000..3fe91b7b --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/AB-PLAN.md @@ -0,0 +1,75 @@ +# GemmGeneral served-shape A/B: gemm_ex against the existing C3 entry (predeclared) + +Written 2026-10-27 by GemmGeneral2 before any timed run. Committed to CUDApp branch `gemm-general/gemm-ex` and announced +on BOARD (with this file's sha256) before the hold starts. Nothing below is changed after the run. + +## Question + +At the nine served 35B GEMM shapes, does the general entry `omega_gpu_gemm_ex` (CUDApp#139) cost more wall time than the +existing entry `omega_gpu_gemm_ld` it calls, for the same host-memory inputs and outputs? + +## Arms (one process, one build) + +- Code under test: CUDApp `gemm-general/gemm-ex` at 90c3f89 (library code identical to fba0384, the commit of the chip + receipts `evidence/GEMM-GENERAL-fba0384/`). `libomega_gpu.a` built with the Makefile CFLAGS + (`-DCUDAPP_MIGRATION_PENDING_GEMM_EX=1`), sha256 6057d8ee13cb4d503e2edd92812af3a341e6c0ca043abb94bc418445dfeeb4be. +- Driver `gemm_ex_ab.c` sha256 eaec1adacd64eb718862cf4af5d835ba60a8a3120a684c27e76d03472d33f6bb, binary sha256 + 3f1e9fe1ca0039f25c27a7b09d32b29747abde83d8f56faf825eda4a1dc1f8d6 + (`cc -std=gnu11 -Wall -Wextra -Werror -D_GNU_SOURCE -O2 -Isrc -DCUDAPP_MIGRATION_PENDING_GEMM_EX=1 -ffp-contract=off`). +- Arm A: `omega_gpu_gemm_ld(type, OMEGA_GPU_GEMM_B_COL, M, N, K, A, K, B, K, C, NULL)`. +- Arm B: `omega_gpu_gemm_ex` with op_a N, op_b T, the same type for A and B, C f32, alpha 1, beta 0, batch 1. +- Same host buffers, same input bits. A is M x K row-major, B is N rows of K (weights [out][in]). + +## Cells (18) + +Types bf16 and e4m3, times these shapes (M x N x K): 1x8192x2048 q+gate decode, 16x12288x2048 gdn in_proj b16, +512x8192x2048 q+gate p512, 512x2048x4096 o_proj p512, 2048x12288x2048 gdn in_proj p2048, 2048x2048x4096 out_proj p2048, +64x1024x2048 expert gate+up, 64x2048x512 expert down, 2048x16384x2048 lm_head slice. These are the nine GemmTune measured +(`handoffs/GemmTune/AB-PLAN.md`). Inputs: bf16 values k/128 for integer k in [-256, 256), e4m3 any non-NaN code, seeded +per shape. + +## Run + +- `hold.sh ab-1 taskset -c 10-14 /tmp/gex2ab/gemm_ex_ab --rounds 20 --seed 20261027 --spin-us 300000`, + one process, one hold (flock /tmp/aien-gb10.lock, at most 14 minutes, BOARD GPU-START/GPU-END, 18091 /health before and + after, no hold while Main's last WINDOW line is WINDOW-START). Default nice. +- Round 0 is warm (labelled `warm=True`) and is not counted. Rounds 1..20 are timed (`warm=False`). +- Interleaving: each round runs all 18 cells in a seeded shuffled order; inside a cell the arm order is a seeded coin. +- One run. No re-run is chosen over another: if the run is cut short (timeout, hold refused), the rounds it finished are + reported as they are and the missing ones are NOT_RUN. + +## Correctness gate (any failure voids the run) + +Every pair, warm included: both rc OK; C_B equal to C_A bit for bit; 64 sampled elements of C_A (the last element plus 63 +seeded ones) within K 2^-22 sum|a b| of a double host reference; arm B's route NATIVE with host_fixed 0. Negative control +after the timed rounds: gemm_ex mutant 1 (drops the last k) on 64x2048x512 bf16 must be RED (bitwise differs and the +reference check fails on C_B while C_A passes). A green control fails the run. + +## Kept pairs + +A `warm=False` pair is kept unless its in_flight (the live 35B's /health) before or after the pair is non-zero or +unreadable (-1). A cell with fewer than 10 kept pairs is INCONCLUSIVE. + +## Statistics (Wolfram, quoted with the query) + +Per cell over kept pairs: median wall_a_ns, median wall_b_ns, r = median_B / median_A, min and max of each arm, the median +of the per-pair ratios wall_b / wall_a. Information only: Wilcoxon signed-rank test (`SignedRankTest`) of the per-pair +log ratios. + +## Verdict per cell (fixed now) + +- FASTER: r <= 0.95 and max_B < min_A. +- REGRESSION: r >= 1.05 and min_B > max_A. Reported as REGRESSION, whatever the cause. +- NO CHANGE: anything else. + +## Lane gate + +PASS if the correctness gate passes and every cell has r <= 1.10 (gemm_ex costs at most 10 % over the call it wraps at the +served shapes). Otherwise FAIL, with the failing cells listed; the measured overhead then goes into API.md section 9.8. + +## NOT_RUN by design + +- The tuned device-resident paths (fp8 GEMV `omega_gpu_fp8_gemv*`, grouped fp8 GEMM `omega_gpu_fp8gemm_*`, the prefill + GEMMs `omega_gpu_pf_*`): they take device addresses and resident weights, so a host-memory arm against them would time + uploads, not the GEMM. gemm_ex is not a serving path (API.md 9.8). +- Any served-model end-to-end timing: gemm_ex has no served caller. diff --git a/evidence/GEMM-GENERAL-AB-20261027/PLAN-SHA256SUMS b/evidence/GEMM-GENERAL-AB-20261027/PLAN-SHA256SUMS new file mode 100644 index 00000000..e81fb1d1 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/PLAN-SHA256SUMS @@ -0,0 +1,4 @@ +31d122c2691c1dd6a4a6c02f650a68fa9adb412d28cb071c84fb575fd5dedaac AB-PLAN.md +eaec1adacd64eb718862cf4af5d835ba60a8a3120a684c27e76d03472d33f6bb gemm_ex_ab.c +05169150bbbbe7d45d3c3098ab03aa48242a034132a895f8af0a0bbbe3ab0329 hold.sh +62616dc0de409844fda11ec8cfabb0626a6abbb08c2cc5f03e3df9200b23149d AB-PLAN-ab2.md diff --git a/evidence/GEMM-GENERAL-AB-20261027/RESULT-ab2.md b/evidence/GEMM-GENERAL-AB-20261027/RESULT-ab2.md new file mode 100644 index 00000000..71ad143b --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/RESULT-ab2.md @@ -0,0 +1,44 @@ +# A/B ab-2 result: gemm_ex at 0d2b14a (B) against omega_gpu_gemm_ld (A), served shapes, GB10 + +Plan: `AB-PLAN-ab2.md` (committed df0e1ca before the run; sha256 in `PLAN-SHA256SUMS`). One run, no re-runs, no selection. +ab-1 (`RESULT.md`, 18/18 REGRESSION, gate FAIL) stands beside this. + +- Chip tier of the new build first, own hold (GPU 08:45:18Z-08:45:29Z): `gemm_ex chip: PASS (901 checks)`, exit 0, + 18091 ok before and after (`ab-2/chip/`). A second compute app (pid 341161, BridgeAttach python) was on the GPU at that + hold's start, gone at its end. +- Hold: GPU-START 2026-10-27T08:45:34Z, end 08:46:23Z, `hold.sh ab-2` exit 0; 18091 /health ok before and after; compute + apps before and after: only pid 79557 (`ab-2/hold.log`). Host load at start 36.25 (other agents). +- Library sha256 3e960ea5a84ec283c93b77ea22880b1d7b284d4761bd3ff1280b2e3c5b68d866, driver binary sha256 + 30874b38d19863babcf1f1993422a30d1e2684d94c524c24a19f4b841a81a8b3. +- Correctness: 378 pairs, 0 gate FAIL, every pair bitwise=1, route native, host_fixed 0, core_calls_b 1 per call. + Negative control `mutant=1 cell="expert down"`: bitwise=0, ref_bad_b=59, RED (expected). `run: PASS`. +- Timed rows: 360 warm=False pairs; discarded for in_flight != 0 (per plan): e4m3 512x2048x4096, bf16 512x8192x2048, e4m3 64x2048x512, e4m3 2048x2048x4096, e4m3 512x2048x4096. Kept 18-20 per cell. +- Statistics: `ab-2/stats.wl` by WolframLanguageEvaluator, output `ab-2/wolfram-stats.txt`. + +## Verdict: gate FAIL (r <= 1.10 in every cell), 5 cells over. 0/18 REGRESSION, 0/18 FASTER, 18/18 NO CHANGE. + +Cells over 1.10: e4m3 64x1024x2048 (r 1.237); bf16 64x1024x2048 (r 1.169); e4m3 16x12288x2048 (r 1.101); e4m3 1x8192x2048 (r 1.101); e4m3 64x2048x512 (r 1.203). r over all cells 0.94-1.24 (ab-1: 2.17-3.25). + +| cell | n | median A ms | median B ms | r | median paired B/A | A min-max ms | B min-max ms | verdict | p | +|---|---|---|---|---|---|---|---|---|---| +| e4m3 64x1024x2048 | 20 | 1.242 | 1.536 | 1.237 | 1.266 | 1.174-1.645 | 1.283-1.817 | NO CHANGE | 0.0105 | +| bf16 16x12288x2048 | 20 | 20.388 | 22.303 | 1.094 | 1.105 | 19.357-33.944 | 21.781-25.050 | NO CHANGE | 0.0018 | +| bf16 2048x12288x2048 | 20 | 84.511 | 86.909 | 1.028 | 1.027 | 83.253-88.353 | 84.593-94.543 | NO CHANGE | 0.0006 | +| bf16 64x1024x2048 | 20 | 2.110 | 2.467 | 1.169 | 1.201 | 1.966-2.509 | 2.210-2.786 | NO CHANGE | 0.0105 | +| e4m3 2048x2048x4096 | 19 | 17.069 | 17.876 | 1.047 | 1.032 | 16.583-17.915 | 17.249-20.798 | NO CHANGE | 0.0002 | +| e4m3 512x8192x2048 | 20 | 15.975 | 16.785 | 1.051 | 1.051 | 15.535-23.880 | 16.295-18.709 | NO CHANGE | 0.0018 | +| bf16 512x8192x2048 | 19 | 24.383 | 25.683 | 1.053 | 1.060 | 23.820-27.318 | 25.123-26.431 | NO CHANGE | 0.0004 | +| bf16 2048x2048x4096 | 20 | 26.848 | 28.172 | 1.049 | 1.053 | 26.235-43.196 | 27.438-37.394 | NO CHANGE | 0.0145 | +| e4m3 16x12288x2048 | 20 | 10.218 | 11.246 | 1.101 | 1.123 | 9.889-11.319 | 10.797-13.373 | NO CHANGE | 0.0001 | +| e4m3 2048x16384x2048 | 20 | 84.985 | 87.606 | 1.031 | 1.025 | 83.047-87.688 | 85.067-90.696 | NO CHANGE | 0.0001 | +| bf16 64x2048x512 | 20 | 1.544 | 1.453 | 0.941 | 0.928 | 1.266-2.431 | 1.356-1.863 | NO CHANGE | 0.4898 | +| e4m3 1x8192x2048 | 20 | 6.682 | 7.356 | 1.101 | 1.099 | 6.406-7.007 | 6.948-13.178 | NO CHANGE | 0.0001 | +| bf16 2048x16384x2048 | 20 | 111.636 | 114.141 | 1.022 | 1.026 | 110.040-116.082 | 112.364-123.355 | NO CHANGE | 0.0005 | +| e4m3 64x2048x512 | 19 | 1.010 | 1.216 | 1.203 | 1.303 | 0.879-1.509 | 0.954-1.513 | NO CHANGE | 0.1031 | +| bf16 512x2048x4096 | 20 | 11.852 | 12.622 | 1.065 | 1.068 | 11.343-12.331 | 12.118-13.657 | NO CHANGE | 0.0001 | +| bf16 1x8192x2048 | 20 | 13.060 | 14.282 | 1.094 | 1.108 | 12.482-14.040 | 13.946-17.658 | NO CHANGE | 0.0001 | +| e4m3 512x2048x4096 | 18 | 6.950 | 7.394 | 1.064 | 1.046 | 6.701-7.507 | 7.051-16.979 | NO CHANGE | 0.0011 | +| e4m3 2048x12288x2048 | 20 | 64.621 | 65.969 | 1.021 | 1.022 | 62.879-68.432 | 64.673-81.482 | NO CHANGE | 0.0038 | + +The remaining overhead is largest in relative terms at the small cells (about 0.1-0.35 ms per call; not yet attributed. +Recorded in API.md section 9.8. diff --git a/evidence/GEMM-GENERAL-AB-20261027/RESULT.md b/evidence/GEMM-GENERAL-AB-20261027/RESULT.md new file mode 100644 index 00000000..8d3156eb --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/RESULT.md @@ -0,0 +1,35 @@ +# A/B ab-1 result: gemm_ex (B) against omega_gpu_gemm_ld (A), served shapes, GB10 + +Plan: `AB-PLAN.md` (committed 1da99c1 before the run; sha256 in `PLAN-SHA256SUMS`). One run, no re-runs, no selection. + +- Hold: GPU-START 2026-10-27T08:22:44Z, GPU-END 08:23:52Z, `hold.sh ab-1` exit 0; 127.0.0.1:18091 /health ok before and after; compute apps before and after: only pid 79557 (`ab-1/hold.log`). +- Library: `libomega_gpu.a` built at 90c3f89 (sha256 6057d8ee13cb4d503e2edd92812af3a341e6c0ca043abb94bc418445dfeeb4be); driver binary sha256 3f1e9fe1ca0039f25c27a7b09d32b29747abde83d8f56faf825eda4a1dc1f8d6. +- Command: `hold.sh ab-1 taskset -c 10-14 /tmp/gex2ab/gemm_ex_ab --rounds 20 --seed 20261027 --spin-us 300000`. Host load at start 15.39 (other agents). +- Correctness: 378 pairs, 0 gate FAIL, every pair bitwise=1. Negative control `mutant=1 cell="expert down"`: bitwise=0, ref_bad_b=59, verdict RED (expected). `run: PASS`. +- Timed rows: 360 warm=False pairs counted (20 per cell). Discarded for in_flight != 0 on 18091 (per plan): bf16 2048x16384x2048 x2, bf16 512x2048x4096, e4m3 16x12288x2048, bf16 2048x2048x4096, e4m3 2048x2048x4096. Kept pairs per cell: 18 to 20 (column n); every cell is above the plan's 10-pair floor. +- Statistics: `ab-1/stats.wl` evaluated by WolframLanguageEvaluator; full output `ab-1/wolfram-stats.txt`. r = Median[B]/Median[A]; p = SignedRankTest of the per-pair log ratios (information only, per plan). + +## Verdict: gate FAIL (plan gate r <= 1.10 in every cell). 18/18 cells REGRESSION. + +| cell | n | median A ms | median B ms | r | median paired B/A | A min-max ms | B min-max ms | verdict | p | +|---|---|---|---|---|---|---|---|---|---| +| e4m3 64x1024x2048 | 20 | 1.323 | 3.583 | 2.708 | 2.639 | 1.216-1.721 | 3.090-4.476 | REGRESSION | 0.0001 | +| bf16 16x12288x2048 | 20 | 20.576 | 60.467 | 2.939 | 2.945 | 19.621-22.638 | 57.724-78.011 | REGRESSION | 0.0001 | +| bf16 2048x12288x2048 | 20 | 85.601 | 228.112 | 2.665 | 2.653 | 83.200-93.735 | 220.453-238.201 | REGRESSION | 0.0001 | +| bf16 64x1024x2048 | 20 | 2.191 | 5.929 | 2.706 | 2.708 | 2.029-2.817 | 5.554-7.003 | REGRESSION | 0.0001 | +| e4m3 2048x2048x4096 | 19 | 17.416 | 56.576 | 3.248 | 3.248 | 17.105-18.108 | 51.952-60.309 | REGRESSION | 0.0001 | +| e4m3 512x8192x2048 | 20 | 16.546 | 47.877 | 2.894 | 2.877 | 15.875-19.575 | 43.463-60.204 | REGRESSION | 0.0001 | +| bf16 512x8192x2048 | 20 | 25.221 | 72.335 | 2.868 | 2.881 | 23.997-32.715 | 68.808-77.119 | REGRESSION | 0.0001 | +| bf16 2048x2048x4096 | 19 | 27.574 | 84.300 | 3.057 | 3.033 | 26.601-30.027 | 78.275-89.304 | REGRESSION | 0.0001 | +| e4m3 16x12288x2048 | 19 | 10.510 | 31.421 | 2.990 | 3.012 | 9.914-11.701 | 30.150-35.818 | REGRESSION | 0.0001 | +| e4m3 2048x16384x2048 | 20 | 85.910 | 229.599 | 2.673 | 2.671 | 83.570-94.662 | 221.490-236.192 | REGRESSION | 0.0001 | +| bf16 64x2048x512 | 20 | 1.563 | 3.654 | 2.338 | 2.456 | 1.332-1.872 | 3.300-4.509 | REGRESSION | 0.0001 | +| e4m3 1x8192x2048 | 20 | 6.830 | 21.031 | 3.079 | 3.042 | 6.417-7.456 | 19.315-22.682 | REGRESSION | 0.0001 | +| bf16 2048x16384x2048 | 18 | 113.308 | 293.618 | 2.591 | 2.581 | 110.237-126.012 | 280.347-297.927 | REGRESSION | 0.0002 | +| e4m3 64x2048x512 | 20 | 1.091 | 2.362 | 2.166 | 2.265 | 0.922-1.396 | 2.087-3.042 | REGRESSION | 0.0001 | +| bf16 512x2048x4096 | 19 | 12.152 | 36.575 | 3.010 | 3.053 | 11.629-13.458 | 34.259-52.837 | REGRESSION | 0.0001 | +| bf16 1x8192x2048 | 20 | 13.440 | 40.966 | 3.048 | 3.017 | 12.785-16.567 | 38.107-44.575 | REGRESSION | 0.0001 | +| e4m3 512x2048x4096 | 20 | 7.222 | 20.402 | 2.825 | 2.739 | 6.896-9.637 | 17.421-23.330 | REGRESSION | 0.0001 | +| e4m3 2048x12288x2048 | 20 | 66.261 | 180.277 | 2.721 | 2.737 | 64.025-73.710 | 173.630-198.688 | REGRESSION | 0.0001 | + +Per the plan the measured overhead is recorded in API.md §9.8. Any change to gemm_ex that targets this overhead gets a new predeclared plan and run, reported beside this one; ab-1 stands as recorded. diff --git a/evidence/GEMM-GENERAL-AB-20261027/SHA256SUMS b/evidence/GEMM-GENERAL-AB-20261027/SHA256SUMS new file mode 100644 index 00000000..77717fe5 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/SHA256SUMS @@ -0,0 +1,12 @@ +662aebd536e1fc78113cd7f1bc72c9c5d8f329cc3c0ce8123e2993dad29082b3 RESULT.md +211c255e454358347f24ffed5872abbd17cb6727282fb9fc7f40bb9bef7982f6 ab-1/hold.log +5fa0a7cae5297e4e6558ed2bbd85bc05d48b071b30bc0a012577610d6b47973f ab-1/run.log +36dc6df36a76269cde1cd1263e9137b1bcda70e1704a5c67b146db3629c12f92 ab-1/stats.wl +0db84e1f33a3bc5109ae4d01308ff56fb0e5d1bf4d117065f5d115f5a5d5993b ab-1/wolfram-stats.txt +b90b6b83f0754e6db435ad476a5c733bc78dada253e98579012a199c59b925dc ab-2/hold.log +e0fd6c15ff4104767ee0aa403871568eedde21388510fb68178eda1534e90102 ab-2/run.log +0477f10811454248dbc705ee0545c23903c685c9400ee45a91526592b47f96ee ab-2/stats.wl +cc92de1e6ab5e68e00b6c2b33b1c1e1376e94d67c12d7863ff3d13700dac481f ab-2/wolfram-stats.txt +08b5ea2795dd6751926e917052e6d3075c27039c69d198cac2c5ec6fe0e1a5e4 ab-2/chip/hold.log +7c8f5e4be4cc3095909e9b4546a8bc0730af33d7d0995a4b3bd4915c6c7fd4d3 ab-2/chip/run.log +f6074ef8433c1be4762cb2d471f14eb6e0a840db366c94ab5b51151a684b8baf RESULT-ab2.md diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-1/hold.log b/evidence/GEMM-GENERAL-AB-20261027/ab-1/hold.log new file mode 100644 index 00000000..53b4f27e --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-1/hold.log @@ -0,0 +1,6 @@ +# ab-1 start 2026-10-27T08:22:44Z load 15.39 18.80 21.26 12/2083 3301961 +# health before: {"busy":false,"concurrency":8,"engine":"omega-qwen36-batch","in_flight":0,"model":"qwen3.6-35b-a3b-fp8","status":"ok","uptime_s":15936} +# compute apps before: 79557, ./aien-serve-http; +# exit 0 end 2026-10-27T08:23:51Z +# health after: {"busy":false,"concurrency":8,"engine":"omega-qwen36-batch","in_flight":0,"model":"qwen3.6-35b-a3b-fp8","status":"ok","uptime_s":16003} +# compute apps after: 79557, ./aien-serve-http; diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-1/run.log b/evidence/GEMM-GENERAL-AB-20261027/ab-1/run.log new file mode 100644 index 00000000..fd0ee7a3 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-1/run.log @@ -0,0 +1,381 @@ +# spin_us 300000 +pair round=0 warm=True seq=0 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=111655120 wall_b_ns=333639447 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=1 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=90709843 wall_b_ns=223999301 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=2 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=35682992 wall_b_ns=79491400 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=3 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7353682 wall_b_ns=21738514 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=4 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=9210334 wall_b_ns=21861619 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=5 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1368713 wall_b_ns=3652617 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=6 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2383680 wall_b_ns=5840951 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=21334400 wall_b_ns=60798554 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=8 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10500855 wall_b_ns=30468317 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=9 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17443062 wall_b_ns=53049093 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=10 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16221661 wall_b_ns=48650968 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=11 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=13995326 wall_b_ns=38066064 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=12 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13538059 wall_b_ns=41736825 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=13 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=66467919 wall_b_ns=173699826 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=14 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1243720 wall_b_ns=3408487 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=15 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=86325333 wall_b_ns=229115255 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=16 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=26851845 wall_b_ns=73832321 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=17 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1153816 wall_b_ns=8646794 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=0 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1227480 wall_b_ns=3547576 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=1 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20679372 wall_b_ns=63594828 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=86716648 wall_b_ns=224568681 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=3 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2054574 wall_b_ns=5870968 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=4 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17444837 wall_b_ns=54253150 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=5 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16574496 wall_b_ns=51508235 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=6 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=26099071 wall_b_ns=76675717 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=28121550 wall_b_ns=89303785 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=8 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10901769 wall_b_ns=35818433 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=9 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=86630391 wall_b_ns=233057698 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=10 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1436233 wall_b_ns=3818538 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=11 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=7233120 wall_b_ns=20273609 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=12 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=115941933 wall_b_ns=293798107 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=13 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1393017 wall_b_ns=2149855 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=14 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=12643637 wall_b_ns=34628617 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=15 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13690093 wall_b_ns=42507854 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=16 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7468755 wall_b_ns=19203185 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=17 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=67823705 wall_b_ns=176006465 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=0 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=25263738 wall_b_ns=72208886 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=1 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=113039849 wall_b_ns=295138852 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=2 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=73710321 wall_b_ns=174548695 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=3 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13448682 wall_b_ns=40452593 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7323810 wall_b_ns=18093433 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2174622 wall_b_ns=5935112 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=6 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=87344204 wall_b_ns=226869560 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=7 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17497622 wall_b_ns=51951534 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=8 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=88644581 wall_b_ns=223951140 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=9 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1234041 wall_b_ns=2239535 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=10 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10710088 wall_b_ns=30335004 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=11 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1393210 wall_b_ns=3621400 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=12 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12207474 wall_b_ns=36578967 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=13 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1260601 wall_b_ns=3800041 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=14 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=21304415 wall_b_ns=62888200 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=15 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16168893 wall_b_ns=46627466 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=16 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27932700 wall_b_ns=84300071 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=17 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6866318 wall_b_ns=21369856 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=0 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=85014780 wall_b_ns=227106858 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=1 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1286121 wall_b_ns=3391751 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=2 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1215897 wall_b_ns=2128702 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=3 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=21551537 wall_b_ns=59724098 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=4 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=113533804 wall_b_ns=285667476 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=5 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12732630 wall_b_ns=36570902 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=6 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10861977 wall_b_ns=32437914 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=30026506 wall_b_ns=82213338 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=8 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=18107530 wall_b_ns=60308998 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=9 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64137600 wall_b_ns=189891343 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=10 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=9445216 wall_b_ns=19614468 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=11 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=25714013 wall_b_ns=71482418 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=12 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=17373909 wall_b_ns=48318229 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=13 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=7455986 wall_b_ns=22681737 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=14 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=14262640 wall_b_ns=41284774 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=15 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1805325 wall_b_ns=3620904 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=16 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2295520 wall_b_ns=6158905 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=17 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85234414 wall_b_ns=225624463 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=0 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=67332741 wall_b_ns=173629602 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=1 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=7198657 wall_b_ns=19998727 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=2 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1291353 wall_b_ns=3596664 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=3 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10973322 wall_b_ns=32254297 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=4 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=19003328 wall_b_ns=45413682 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=5 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1833548 wall_b_ns=4498495 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=6 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12889191 wall_b_ns=52837108 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=21769826 wall_b_ns=65011494 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=8 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84705258 wall_b_ns=223082062 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=9 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=28132941 wall_b_ns=78967924 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=10 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7527811 wall_b_ns=21967636 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=11 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84815916 wall_b_ns=226468373 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=12 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2599297 wall_b_ns=6556749 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=13 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=110979787 wall_b_ns=280346784 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=14 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17315348 wall_b_ns=58706236 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=15 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24489125 wall_b_ns=71506849 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=16 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=972535 wall_b_ns=2719218 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=17 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13431019 wall_b_ns=40519969 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=0 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=13457994 wall_b_ns=35998611 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=1 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24035698 wall_b_ns=71265616 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=2 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10215668 wall_b_ns=31421460 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=3 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1371081 wall_b_ns=3525912 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=4 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84183255 wall_b_ns=220453324 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=5 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7031472 wall_b_ns=17653207 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=6 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16280509 wall_b_ns=43462869 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=7 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=85628561 wall_b_ns=226416917 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=8 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=111773681 wall_b_ns=289680287 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=9 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1184072 wall_b_ns=2094270 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=10 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6780141 wall_b_ns=21524625 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=11 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2265584 wall_b_ns=5553925 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=12 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20360361 wall_b_ns=59240815 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=13 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27604490 wall_b_ns=78475888 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=14 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=65409145 wall_b_ns=178658627 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=15 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17377701 wall_b_ns=53419271 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=16 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=14117455 wall_b_ns=42077691 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=17 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1244664 wall_b_ns=3570057 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=0 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1871548 wall_b_ns=3473480 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=1 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=922102 wall_b_ns=2511297 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=2 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2103310 wall_b_ns=6077513 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=3 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11868640 wall_b_ns=36573062 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7222545 wall_b_ns=21595201 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=5 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=114130800 wall_b_ns=332707233 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=1 +pair round=6 warm=False seq=6 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=25924335 wall_b_ns=69734181 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20527003 wall_b_ns=62907831 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=8 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=28626561 wall_b_ns=84331576 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=9 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=67207653 wall_b_ns=198688282 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=10 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17157524 wall_b_ns=56033257 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=11 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13891038 wall_b_ns=41896842 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=12 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1299896 wall_b_ns=3431543 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=13 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85670817 wall_b_ns=229223767 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=14 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15874731 wall_b_ns=60203573 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=15 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=7158544 wall_b_ns=21023390 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=16 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=85205373 wall_b_ns=227202890 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=17 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10509799 wall_b_ns=30149515 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=0 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6705181 wall_b_ns=20723756 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=1 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24602517 wall_b_ns=71325537 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=2 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=86611031 wall_b_ns=229285848 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=3 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7028271 wall_b_ns=19532195 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=4 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=112327269 wall_b_ns=297077600 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=5 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17340373 wall_b_ns=55205748 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=6 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1576811 wall_b_ns=4078251 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=7 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1419322 wall_b_ns=3129717 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=8 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=22637512 wall_b_ns=60716441 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=9 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13487995 wall_b_ns=38665557 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=10 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64025183 wall_b_ns=173663906 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=11 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=970630 wall_b_ns=2330368 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=12 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=86185476 wall_b_ns=232491918 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=13 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=19181761 wall_b_ns=48062260 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=1 +pair round=7 warm=False seq=14 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=17726615 wall_b_ns=35330030 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=0 +pair round=7 warm=False seq=15 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=28800434 wall_b_ns=84492697 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=16 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=17227892 wall_b_ns=49703294 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=17 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2028526 wall_b_ns=6626204 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=0 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17153075 wall_b_ns=57570036 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=1 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=25273930 wall_b_ns=75029225 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=2 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64043887 wall_b_ns=180543712 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=3 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11861104 wall_b_ns=36575095 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=4 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10751737 wall_b_ns=32813837 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2332704 wall_b_ns=5668886 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=6 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1555018 wall_b_ns=3300230 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=7 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84543098 wall_b_ns=236191862 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=8 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16055644 wall_b_ns=50596629 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=9 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1223001 wall_b_ns=2654978 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=10 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=114237521 wall_b_ns=294932898 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=11 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26672612 wall_b_ns=82106089 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=12 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6999615 wall_b_ns=22089476 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=13 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1458666 wall_b_ns=3108501 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=14 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6689309 wall_b_ns=19314642 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=15 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12990487 wall_b_ns=39879901 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=16 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=85250190 wall_b_ns=228227025 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=17 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20689243 wall_b_ns=58094071 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=0 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1445546 wall_b_ns=3158134 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=1 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=88186769 wall_b_ns=231884762 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=2 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2114462 wall_b_ns=5902056 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=3 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=86038963 wall_b_ns=228774917 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7136992 wall_b_ns=17500646 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=5 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20282520 wall_b_ns=58309305 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=6 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=27498793 wall_b_ns=71001326 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27869036 wall_b_ns=84511769 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=8 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=66519440 wall_b_ns=182327084 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=7059375 wall_b_ns=19832422 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=10 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=11700687 wall_b_ns=30953057 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=11 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12765510 wall_b_ns=38647204 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=12 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1339081 wall_b_ns=4509087 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=13 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13326538 wall_b_ns=41654040 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=14 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=115265256 wall_b_ns=297926550 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=15 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16601568 wall_b_ns=45773093 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=16 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17726456 wall_b_ns=59275295 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=17 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1352857 wall_b_ns=2751826 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=0 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=66298158 wall_b_ns=181796776 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=1 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=112548838 wall_b_ns=296326395 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=87124330 wall_b_ns=229544138 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=3 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11628687 wall_b_ns=35502719 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=4 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12940231 wall_b_ns=44574877 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2367536 wall_b_ns=5672790 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=6 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6794317 wall_b_ns=21038798 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20625930 wall_b_ns=58712908 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=8 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17177779 wall_b_ns=58071895 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=9 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27503481 wall_b_ns=88112593 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=10 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=86760921 wall_b_ns=232394316 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=11 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10120420 wall_b_ns=30340556 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=12 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=25846350 wall_b_ns=76979974 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=13 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16413199 wall_b_ns=54376878 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=14 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=975623 wall_b_ns=2841411 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=15 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1602347 wall_b_ns=3662648 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=16 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1315289 wall_b_ns=3465959 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=17 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7482210 wall_b_ns=21461345 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=0 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16053356 wall_b_ns=46337240 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=1 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7433634 wall_b_ns=22564888 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=88451987 wall_b_ns=229307928 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=3 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2086670 wall_b_ns=5925080 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=4 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=14043007 wall_b_ns=39501082 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=5 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11784367 wall_b_ns=36408165 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=6 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20064503 wall_b_ns=61768928 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=7 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17415925 wall_b_ns=56576221 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=8 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1393098 wall_b_ns=4140892 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=7198560 wall_b_ns=21610642 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=10 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=94661981 wall_b_ns=234555644 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=11 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1356985 wall_b_ns=2087470 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=12 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=66223294 wall_b_ns=181038755 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=13 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10729288 wall_b_ns=30530862 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=14 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27574090 wall_b_ns=84081478 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=15 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24688630 wall_b_ns=75229195 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=16 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=116214287 wall_b_ns=296858639 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=17 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1862172 wall_b_ns=3557320 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=0 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=113028745 wall_b_ns=288815193 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=1 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=16567392 wall_b_ns=38720661 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=2 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27200423 wall_b_ns=78274799 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=3 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7092831 wall_b_ns=22144293 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=4 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16525103 wall_b_ns=45181888 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=5 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1392058 wall_b_ns=4306397 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=6 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10351765 wall_b_ns=31049954 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20209784 wall_b_ns=59559297 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=8 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2295119 wall_b_ns=5595766 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=9 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1473514 wall_b_ns=3090389 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=10 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=66836738 wall_b_ns=175931121 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=11 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=32714780 wall_b_ns=74107299 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=12 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12258978 wall_b_ns=39372409 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=13 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=969927 wall_b_ns=2757618 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=14 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84882508 wall_b_ns=231106020 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=15 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17472758 wall_b_ns=59457296 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=16 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=7107648 wall_b_ns=21625025 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=17 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85532176 wall_b_ns=227996543 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=0 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=87106699 wall_b_ns=221526099 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=1 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17104563 wall_b_ns=52526354 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=2 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1695804 wall_b_ns=3613240 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=3 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1629259 wall_b_ns=3645288 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=4 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=955046 wall_b_ns=2581313 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=5 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64836468 wall_b_ns=187453503 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=6 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=114637300 wall_b_ns=292311888 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27397400 wall_b_ns=81196819 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=8 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10635400 wall_b_ns=32390394 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=9 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=85903234 wall_b_ns=222239673 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=10 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7414562 wall_b_ns=20011846 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=11 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20034503 wall_b_ns=61806816 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=12 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16194653 wall_b_ns=45075936 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=13 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2131487 wall_b_ns=6994559 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=14 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=12152306 wall_b_ns=37541084 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=15 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6706253 wall_b_ns=21498001 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=16 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24473189 wall_b_ns=74273924 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=17 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13518395 wall_b_ns=43318884 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=0 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12902726 wall_b_ns=38611364 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=1 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12138306 wall_b_ns=34863115 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=2 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1376473 wall_b_ns=2678498 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=3 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17604022 wall_b_ns=57443219 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=4 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16566687 wall_b_ns=50849031 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=5 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10339126 wall_b_ns=33137279 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=6 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6502556 wall_b_ns=19853046 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=21336831 wall_b_ns=62550022 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=8 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=112391861 wall_b_ns=286721579 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=9 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=86591095 wall_b_ns=238200708 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=10 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1331225 wall_b_ns=3681545 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=11 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1377945 wall_b_ns=3815306 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=12 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=85308670 wall_b_ns=227989744 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=13 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2816515 wall_b_ns=5856519 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=14 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=25050265 wall_b_ns=69697941 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=15 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27492537 wall_b_ns=84560826 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=16 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7301377 wall_b_ns=22190181 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=17 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64122960 wall_b_ns=177569516 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=0 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=25178249 wall_b_ns=69890231 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=1 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2092222 wall_b_ns=7003263 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=83753220 wall_b_ns=237258861 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=3 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1274489 wall_b_ns=4070795 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7186529 wall_b_ns=17645607 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=5 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=85915858 wall_b_ns=221490164 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=6 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1332137 wall_b_ns=3742298 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=7 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16076508 wall_b_ns=44804238 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=8 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=997095 wall_b_ns=3042149 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6989935 wall_b_ns=20693595 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=10 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=114390594 wall_b_ns=296991040 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=11 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27359528 wall_b_ns=103594153 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=1 +pair round=15 warm=False seq=12 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27114631 wall_b_ns=67072835 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=0 +pair round=15 warm=False seq=13 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12231346 wall_b_ns=39863309 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=14 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20432953 wall_b_ns=77137016 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=15 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13080328 wall_b_ns=38107264 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=16 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64528978 wall_b_ns=180259342 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=17 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10142661 wall_b_ns=30860351 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=0 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=93734663 wall_b_ns=223913700 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=1 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1216025 wall_b_ns=3363926 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=2 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11732495 wall_b_ns=34259047 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=3 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64975766 wall_b_ns=178570674 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=4 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6650797 wall_b_ns=19590388 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=5 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=955782 wall_b_ns=2372368 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=6 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=126012241 wall_b_ns=288382390 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=19620644 wall_b_ns=57723797 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=8 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17298149 wall_b_ns=54437486 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=9 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27154695 wall_b_ns=84048454 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=10 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16848706 wall_b_ns=48447894 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=11 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13233177 wall_b_ns=41460663 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=12 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10476119 wall_b_ns=30188267 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=13 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24205763 wall_b_ns=68808176 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=14 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1556219 wall_b_ns=3825369 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=15 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6969743 wall_b_ns=20791516 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=16 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=83569858 wall_b_ns=229911341 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=17 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2299327 wall_b_ns=5744263 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=0 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17380821 wall_b_ns=54337933 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=1 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=17256020 wall_b_ns=49668031 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=2 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1504138 wall_b_ns=3693721 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=3 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13120968 wall_b_ns=40646818 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=4 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=113018969 wall_b_ns=331351815 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=1 +pair round=17 warm=False seq=5 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=85803138 wall_b_ns=230813970 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=6 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85058861 wall_b_ns=229187495 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=7 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6969423 wall_b_ns=17589718 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=8 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11684878 wall_b_ns=37605038 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6417291 wall_b_ns=21135439 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=10 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23996689 wall_b_ns=75035994 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=11 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9913778 wall_b_ns=35314718 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=12 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26601491 wall_b_ns=84945260 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=13 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=65150455 wall_b_ns=184335257 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=14 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2207775 wall_b_ns=5932664 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=15 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=946854 wall_b_ns=2301808 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=16 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1694331 wall_b_ns=3323543 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=17 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20708684 wall_b_ns=59268415 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=0 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10045283 wall_b_ns=30256332 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=1 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=15997611 wall_b_ns=47435440 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=2 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=7117392 wall_b_ns=22268102 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=3 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=25954287 wall_b_ns=72641657 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=4 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1502602 wall_b_ns=3610296 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=5 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17442693 wall_b_ns=57251634 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=6 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=110237415 wall_b_ns=292666434 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=19839989 wall_b_ns=59868676 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=8 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=67715864 wall_b_ns=176061185 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=9 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2294960 wall_b_ns=5586901 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=10 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1569114 wall_b_ns=3317783 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=11 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=83199665 wall_b_ns=225311981 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=12 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=86136036 wall_b_ns=228569059 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=13 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6895774 wall_b_ns=17421190 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=14 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27276216 wall_b_ns=82142617 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=15 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11987857 wall_b_ns=39425930 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=16 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12784951 wall_b_ns=43307635 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=17 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1184584 wall_b_ns=2132222 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=0 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=21598642 wall_b_ns=78011037 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=1 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1391513 wall_b_ns=3575176 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=2 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=86344934 wall_b_ns=233122497 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=3 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=997095 wall_b_ns=2352208 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=4 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=25302554 wall_b_ns=72460216 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2041645 wall_b_ns=6933983 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=6 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=68764319 wall_b_ns=184043624 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27118390 wall_b_ns=87026170 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=8 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1266616 wall_b_ns=4107196 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=9 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13425978 wall_b_ns=43891288 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=10 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6649725 wall_b_ns=19752341 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=11 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12436804 wall_b_ns=36867784 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=12 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=114619892 wall_b_ns=295739351 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=13 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=17225476 wall_b_ns=47064749 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=14 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=83696644 wall_b_ns=233937319 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=15 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17887640 wall_b_ns=54715681 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=16 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10739896 wall_b_ns=33078863 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=17 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=9637473 wall_b_ns=21023166 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=0 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13746989 wall_b_ns=38895030 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=1 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27618570 wall_b_ns=84457769 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=2 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=87062474 wall_b_ns=235297985 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=3 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1395834 wall_b_ns=2109134 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=4 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17735992 wall_b_ns=56917215 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=5 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7220657 wall_b_ns=23329933 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=6 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2143902 wall_b_ns=6148138 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=7 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1720924 wall_b_ns=4475534 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=8 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=113082489 wall_b_ns=293437928 route_b=1 core_calls_b=4 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=9 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85011948 wall_b_ns=224782314 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=10 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20509610 wall_b_ns=60218086 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=11 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=66299134 wall_b_ns=180294862 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=12 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12000657 wall_b_ns=35619679 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=13 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6751997 wall_b_ns=21626178 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=14 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24950296 wall_b_ns=77119352 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=15 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10413030 wall_b_ns=32499467 route_b=1 core_calls_b=3 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=16 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=19575428 wall_b_ns=49447325 route_b=1 core_calls_b=2 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=17 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1729916 wall_b_ns=4188220 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +control mutant=1 cell="expert down" rc_a=OK rc_b=OK bitwise=0 ref_bad_a=0 ref_bad_b=59 verdict=RED (expected) +run: PASS (0 pairs failed the correctness gate of 378) diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-1/stats.wl b/evidence/GEMM-GENERAL-AB-20261027/ab-1/stats.wl new file mode 100644 index 00000000..374eaf8e --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-1/stats.wl @@ -0,0 +1 @@ +data=<|"e4m3 64x1024x2048"->{{1227480,3547576},{1260601,3800041},{1286121,3391751},{1291353,3596664},{1244664,3570057},{1299896,3431543},{1419322,3129717},{1458666,3108501},{1445546,3158134},{1315289,3465959},{1393098,4140892},{1473514,3090389},{1695804,3613240},{1331225,3681545},{1274489,4070795},{1216025,3363926},{1504138,3693721},{1502602,3610296},{1266616,4107196},{1720924,4475534}},"bf16 16x12288x2048"->{{20679372,63594828},{21304415,62888200},{21551537,59724098},{21769826,65011494},{20360361,59240815},{20527003,62907831},{22637512,60716441},{20689243,58094071},{20282520,58309305},{20625930,58712908},{20064503,61768928},{20209784,59559297},{20034503,61806816},{21336831,62550022},{20432953,77137016},{19620644,57723797},{20708684,59268415},{19839989,59868676},{21598642,78011037},{20509610,60218086}},"bf16 2048x12288x2048"->{{86716648,224568681},{88644581,223951140},{85234414,225624463},{84705258,223082062},{84183255,220453324},{85670817,229223767},{86185476,232491918},{85250190,228227025},{86038963,228774917},{87124330,229544138},{88451987,229307928},{85532176,227996543},{87106699,221526099},{86591095,238200708},{83753220,237258861},{93734663,223913700},{85058861,229187495},{83199665,225311981},{83696644,233937319},{85011948,224782314}},"bf16 64x1024x2048"->{{2054574,5870968},{2174622,5935112},{2295520,6158905},{2599297,6556749},{2265584,5553925},{2103310,6077513},{2028526,6626204},{2332704,5668886},{2114462,5902056},{2367536,5672790},{2086670,5925080},{2295119,5595766},{2131487,6994559},{2816515,5856519},{2092222,7003263},{2299327,5744263},{2207775,5932664},{2294960,5586901},{2041645,6933983},{2143902,6148138}},"e4m3 2048x2048x4096"->{{17444837,54253150},{17497622,51951534},{18107530,60308998},{17315348,58706236},{17377701,53419271},{17157524,56033257},{17340373,55205748},{17153075,57570036},{17726456,59275295},{17177779,58071895},{17415925,56576221},{17472758,59457296},{17104563,52526354},{17604022,57443219},{17298149,54437486},{17380821,54337933},{17442693,57251634},{17887640,54715681},{17735992,56917215}},"e4m3 512x8192x2048"->{{16574496,51508235},{16168893,46627466},{17373909,48318229},{19003328,45413682},{16280509,43462869},{15874731,60203573},{17227892,49703294},{16055644,50596629},{16601568,45773093},{16413199,54376878},{16053356,46337240},{16525103,45181888},{16194653,45075936},{16566687,50849031},{16076508,44804238},{16848706,48447894},{17256020,49668031},{15997611,47435440},{17225476,47064749},{19575428,49447325}},"bf16 512x8192x2048"->{{26099071,76675717},{25263738,72208886},{25714013,71482418},{24489125,71506849},{24035698,71265616},{25924335,69734181},{24602517,71325537},{25273930,75029225},{27498793,71001326},{25846350,76979974},{24688630,75229195},{32714780,74107299},{24473189,74273924},{25050265,69697941},{25178249,69890231},{24205763,68808176},{23996689,75035994},{25954287,72641657},{25302554,72460216},{24950296,77119352}},"bf16 2048x2048x4096"->{{28121550,89303785},{27932700,84300071},{30026506,82213338},{28132941,78967924},{27604490,78475888},{28626561,84331576},{28800434,84492697},{26672612,82106089},{27869036,84511769},{27503481,88112593},{27574090,84081478},{27200423,78274799},{27397400,81196819},{27492537,84560826},{27154695,84048454},{26601491,84945260},{27276216,82142617},{27118390,87026170},{27618570,84457769}},"e4m3 16x12288x2048"->{{10901769,35818433},{10710088,30335004},{10861977,32437914},{10973322,32254297},{10215668,31421460},{10509799,30149515},{10751737,32813837},{11700687,30953057},{10120420,30340556},{10729288,30530862},{10351765,31049954},{10635400,32390394},{10339126,33137279},{10142661,30860351},{10476119,30188267},{9913778,35314718},{10045283,30256332},{10739896,33078863},{10413030,32499467}},"e4m3 2048x16384x2048"->{{86630391,233057698},{87344204,226869560},{85014780,227106858},{84815916,226468373},{85628561,226416917},{85205373,227202890},{86611031,229285848},{84543098,236191862},{88186769,231884762},{86760921,232394316},{94661981,234555644},{84882508,231106020},{85903234,222239673},{85308670,227989744},{85915858,221490164},{83569858,229911341},{85803138,230813970},{86136036,228569059},{86344934,233122497},{87062474,235297985}},"bf16 64x2048x512"->{{1436233,3818538},{1393210,3621400},{1805325,3620904},{1833548,4498495},{1371081,3525912},{1871548,3473480},{1576811,4078251},{1555018,3300230},{1339081,4509087},{1602347,3662648},{1862172,3557320},{1392058,4306397},{1629259,3645288},{1377945,3815306},{1332137,3742298},{1556219,3825369},{1694331,3323543},{1569114,3317783},{1391513,3575176},{1729916,4188220}},"e4m3 1x8192x2048"->{{7233120,20273609},{6866318,21369856},{7455986,22681737},{7198657,19998727},{6780141,21524625},{7158544,21023390},{6705181,20723756},{6689309,19314642},{7059375,19832422},{6794317,21038798},{7198560,21610642},{7107648,21625025},{6706253,21498001},{6502556,19853046},{6989935,20693595},{6650797,19590388},{6417291,21135439},{7117392,22268102},{6649725,19752341},{6751997,21626178}},"bf16 2048x16384x2048"->{{115941933,293798107},{113039849,295138852},{113533804,285667476},{110979787,280346784},{111773681,289680287},{112327269,297077600},{114237521,294932898},{115265256,297926550},{112548838,296326395},{116214287,296858639},{113028745,288815193},{114637300,292311888},{112391861,286721579},{114390594,296991040},{126012241,288382390},{110237415,292666434},{114619892,295739351},{113082489,293437928}},"e4m3 64x2048x512"->{{1393017,2149855},{1234041,2239535},{1215897,2128702},{972535,2719218},{1184072,2094270},{922102,2511297},{970630,2330368},{1223001,2654978},{1352857,2751826},{975623,2841411},{1356985,2087470},{969927,2757618},{955046,2581313},{1376473,2678498},{997095,3042149},{955782,2372368},{946854,2301808},{1184584,2132222},{997095,2352208},{1395834,2109134}},"bf16 512x2048x4096"->{{12643637,34628617},{12207474,36578967},{12732630,36570902},{12889191,52837108},{13457994,35998611},{11868640,36573062},{11861104,36575095},{12765510,38647204},{11628687,35502719},{11784367,36408165},{12258978,39372409},{12152306,37541084},{12138306,34863115},{12231346,39863309},{11732495,34259047},{11684878,37605038},{11987857,39425930},{12436804,36867784},{12000657,35619679}},"bf16 1x8192x2048"->{{13690093,42507854},{13448682,40452593},{14262640,41284774},{13431019,40519969},{14117455,42077691},{13891038,41896842},{13487995,38665557},{12990487,39879901},{13326538,41654040},{12940231,44574877},{14043007,39501082},{16567392,38720661},{13518395,43318884},{12902726,38611364},{13080328,38107264},{13233177,41460663},{13120968,40646818},{12784951,43307635},{13425978,43891288},{13746989,38895030}},"e4m3 512x2048x4096"->{{7468755,19203185},{7323810,18093433},{9445216,19614468},{7527811,21967636},{7031472,17653207},{7222545,21595201},{7028271,19532195},{6999615,22089476},{7136992,17500646},{7482210,21461345},{7433634,22564888},{7092831,22144293},{7414562,20011846},{7301377,22190181},{7186529,17645607},{6969743,20791516},{6969423,17589718},{6895774,17421190},{9637473,21023166},{7220657,23329933}},"e4m3 2048x12288x2048"->{{67823705,176006465},{73710321,174548695},{64137600,189891343},{67332741,173629602},{65409145,178658627},{67207653,198688282},{64025183,173663906},{64043887,180543712},{66519440,182327084},{66298158,181796776},{66223294,181038755},{66836738,175931121},{64836468,187453503},{64122960,177569516},{64528978,180259342},{64975766,178570674},{65150455,184335257},{67715864,176061185},{68764319,184043624},{66299134,180294862}}|>;res=KeyValueMap[Function[{k,v},Module[{a=v[[All,1]],b=v[[All,2]],r},r=N[Median[b]/Median[a]];{k,Length[v],N[Median[a]/10^6],N[Median[b]/10^6],Round[r,0.0001],Round[N[Median[b/a]],0.0001],N[Min[a]/10^6],N[Max[a]/10^6],N[Min[b]/10^6],N[Max[b]/10^6],Which[r<=0.95&&Max[b]=1.05&&Min[b]>Max[a],"REGRESSION",True,"NO CHANGE"],Round[SignedRankTest[Log[N[b/a]]],0.0001]}]],data];res \ No newline at end of file diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-1/wolfram-stats.txt b/evidence/GEMM-GENERAL-AB-20261027/ab-1/wolfram-stats.txt new file mode 100644 index 00000000..3ff33bce --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-1/wolfram-stats.txt @@ -0,0 +1,2 @@ +WolframLanguageEvaluator query: /tmp/gex2_ab.wl (copied as stats.wl) +Out[1]= {{"e4m3 64x1024x2048", 20, 1.323257, 3.5833605, 2.708, 2.6385, 1.216025, 1.720924, 3.090389, 4.475534, "REGRESSION", 0.0001}, {"bf16 16x12288x2048", 20, 20.5764665, 60.4672635, 2.9387000000000003, 2.9445, 19.620644, 22.637512, 57.723797, 78.011037, "REGRESSION", 0.0001}, {"bf16 2048x12288x2048", 20, 85.6014965, 228.111784, 2.6648, 2.653, 83.199665, 93.734663, 220.453324, 238.200708, "REGRESSION", 0.0001}, {"bf16 64x1024x2048", 20, 2.1911985, 5.928872, 2.7058, 2.7082, 2.028526, 2.816515, 5.553925, 7.003263, "REGRESSION", 0.0001}, {"e4m3 2048x2048x4096", 19, 17.415925, 56.576221, 3.2485, 3.2485, 17.104563, 18.10753, 51.951534, 60.308998, "REGRESSION", 0.0001}, {"e4m3 512x8192x2048", 20, 16.545895, 47.8768345, 2.8936, 2.8769, 15.874731, 19.575428, 43.462869, 60.203573, "REGRESSION", 0.0001}, {"bf16 512x8192x2048", 20, 25.2209935, 72.334551, 2.8680000000000003, 2.8814, 23.996689, 32.71478, 68.808176, 77.119352, "REGRESSION", 0.0001}, {"bf16 2048x2048x4096", 19, 27.57409, 84.300071, 3.0572000000000004, 3.0325, 26.601491, 30.026506, 78.274799, 89.303785, "REGRESSION", 0.0001}, {"e4m3 16x12288x2048", 19, 10.509799, 31.42146, 2.9897, 3.012, 9.913778, 11.700687, 30.149515, 35.818433, "REGRESSION", 0.0001}, {"e4m3 2048x16384x2048", 20, 85.909546, 229.5985945, 2.6726, 2.6707, 83.569858, 94.661981, 221.490164, 236.191862, "REGRESSION", 0.0001}, {"bf16 64x2048x512", 20, 1.5626665, 3.653968, 2.3383000000000003, 2.4558, 1.332137, 1.871548, 3.30023, 4.509087, "REGRESSION", 0.0001}, {"e4m3 1x8192x2048", 20, 6.8303175, 21.031094, 3.0791, 3.0423, 6.417291, 7.455986, 19.314642, 22.681737, "REGRESSION", 0.0001}, {"bf16 2048x16384x2048", 18, 113.3081465, 293.6180175, 2.5913, 2.581, 110.237415, 126.012241, 280.346784, 297.92655, "REGRESSION", 0.0002}, {"e4m3 64x2048x512", 20, 1.0905835, 2.362288, 2.1661, 2.265, 0.922102, 1.395834, 2.08747, 3.042149, "REGRESSION", 0.0001}, {"bf16 512x2048x4096", 19, 12.152306, 36.575095, 3.0097, 3.053, 11.628687, 13.457994, 34.259047, 52.837108, "REGRESSION", 0.0001}, {"bf16 1x8192x2048", 20, 13.4398505, 40.965796, 3.0481000000000003, 3.0165, 12.784951, 16.567392, 38.107264, 44.574877, "REGRESSION", 0.0001}, {"e4m3 512x2048x4096", 20, 7.221601, 20.401681, 2.8251, 2.7390000000000003, 6.895774, 9.637473, 17.42119, 23.329933, "REGRESSION", 0.0001}, {"e4m3 2048x12288x2048", 20, 66.260726, 180.277102, 2.7207000000000003, 2.7374, 64.025183, 73.710321, 173.629602, 198.688282, "REGRESSION", 0.0001}} diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/hold.log b/evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/hold.log new file mode 100644 index 00000000..20a50f10 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/hold.log @@ -0,0 +1,6 @@ +# chip-0d2b14a start 2026-10-27T08:45:18Z load 38.14 37.18 31.38 40/2086 351590 +# health before: {"busy":false,"concurrency":8,"engine":"omega-qwen36-batch","in_flight":0,"model":"qwen3.6-35b-a3b-fp8","status":"ok","uptime_s":17289} +# compute apps before: 79557, ./aien-serve-http;341161, /home/drakestapleton/work/BridgeAttach/venv/bin/python3; +# exit 0 end 2026-10-27T08:45:29Z +# health after: {"busy":false,"concurrency":8,"engine":"omega-qwen36-batch","in_flight":0,"model":"qwen3.6-35b-a3b-fp8","status":"ok","uptime_s":17301} +# compute apps after: 79557, ./aien-serve-http; diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/run.log b/evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/run.log new file mode 100644 index 00000000..6fe40478 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-2/chip/run.log @@ -0,0 +1,914 @@ +subnormal probe bf16 2^-133 x 2^100: core 0x1p-33 (OK), model 0x1p-33, exact 0x1p-33: the tensor core KEEPS the subnormal input +subnormal probe f16 2^-24 x 2^10: core 0x1p-14 (OK), model 0x1p-14, exact 0x1p-14: the tensor core KEEPS the subnormal input +ok: f32 x f32 -> f32 33x17x70 batch 1 pad 0/0/0 alpha 1 beta 0 edge 1: OK route bf16x3 core calls 1 host-fixed 0, 561 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: f32 x f32 -> f32 33x17x70 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 1: OK route ffma core calls 1 host-fixed 0, 561 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0025 +ok: f32 x f32 -> f32 20x19x40 batch 1 pad 0/0/0 alpha 1 beta 1 edge 2: OK route bf16x3 core calls 1 host-fixed 108, 380 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0074 +ok: bf16^T x bf16 -> f32 20x19x40 batch 1 pad 0/0/0 alpha 1 beta 0 edge 2: OK route native core calls 1 host-fixed 108, 380 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0392 +ok: f16 x f16 -> f16 20x19x40 batch 1 pad 0/0/0 alpha 0.000244141 beta 0 edge 2: OK route native core calls 1 host-fixed 108, 380 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8817 +ok: f32 x f32 -> f32 16x16x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 3: OK route bf16x3 core calls 1 host-fixed 0, 256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0016 +ok: f32 x f32 -> f32 16x16x24 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 3: OK route fast_bf16 core calls 1 host-fixed 0, 256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1620 +ok: e4m3 x e4m3 -> f32 18x21x70 batch 1 pad 0/0/0 alpha 1 beta 0 edge 4: OK route native core calls 1 host-fixed 38, 378 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0185 +ok: e5m2 x e5m2 -> f32 18x21x70 batch 1 pad 0/0/0 alpha 1 beta 0 edge 4: OK route widen core calls 1 host-fixed 38, 378 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0331 +ok: bf16 x bf16 -> f32 9x9x9 batch 1 pad 0/0/0 alpha 0 beta 2 edge 0: OK route none core calls 0 host-fixed 0, 81 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16 x bf16 -> bf16 9x9x9 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 81 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9497 +ok: bf16 x bf16 -> f32 7x5x3 batch 3 A-bcast pad 0/0/2 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 105 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0215 +ok: e4m3 x e4m3 -> f32 40x30x100 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 7/16/32: OK route native core calls 4 host-fixed 0, 1200 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0081 +ok: e4m3 x e5m2 -> bf16 40x30x100 batch 2 pad 0/0/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 2400 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9778 +ok: bf16 x bf16 -> f32 3x5x16385 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0027 +ok: f32 x f32 -> f32 3x5x1809 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0010 +ok: f16^T x f16^T -> f32 33x31x47 batch 1 pad 3/5/1 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1023 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0443 +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0465 +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 335 wrong, 0 untouched changed, max |err| / bound 0.9991; first batch 0 C[0][0] = 7081.37842, ref 5232.62904, bound 0.0513 +chip red check: gemm_ex mutant 1 is caught (335 wrong; 0 without the mutant) +bf16 x bf16^T -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0397 +bf16 x bf16^T -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 576 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 5232.62842, ref 55513.7324, bound 0.789 +chip red check: gemm_ex mutant 2 is caught (576 wrong; 0 without the mutant) +e4m3 x e4m3 -> f32 24x24x96 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 8/8/32: OK route native core calls 3 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0073 +e4m3 x e4m3 -> f32 24x24x96 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 8/8/32: OK route native core calls 3 host-fixed 0, 576 checked, 576 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = -373200.438, ref -964138.249, bound 16.9 +chip red check: gemm_ex mutant 3 is caught (576 wrong; 0 without the mutant) +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0572 +bf16 x bf16 -> f32 24x24x24 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 576 checked, 401 wrong, 0 untouched changed, max |err| / bound 0.9969; first batch 0 C[0][1] = -496.112549, ref -496.026018, bound 0.0247 +chip red check: gemm_ex mutant 4 is caught (401 wrong; 0 without the mutant) +chip fp8 block rows n=130 k=200 block=128 m=3 x f32: rc OK, 0 wrong, worst 5.31 x 2^-24 sum|t|, 3/3 rows equal to the m=1 call, route bf16x3 +chip red check: gemm_ex mutant 5 (fp8 block rows, next k block's scale) is caught (390 wrong) +chip fp8 block rows n=128 k=128 block=128 m=1 x bf16: rc OK, 0 wrong, worst 2.16 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=64 k=384 block=128 m=2 x f32: rc OK, 0 wrong, worst 5.42 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=33 k=640 block=128 m=2 x bf16: rc OK, 0 wrong, worst 4.17 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=17 k=1280 block=128 m=2 x f32: rc OK, 0 wrong, worst 7.66 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=9 k=1792 block=128 m=1 x bf16: rc OK, 0 wrong, worst 3.76 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=8 k=2304 block=128 m=2 x f32: rc OK, 0 wrong, worst 3.63 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=5 k=2560 block=128 m=1 x bf16: rc OK, 0 wrong, worst 2.23 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=4 k=3584 block=128 m=2 x f32: rc OK, 0 wrong, worst 3.07 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=2 k=16512 block=128 m=1 x bf16: rc OK, 0 wrong, worst 0.75 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=3 k=3 block=1 m=2 x f32: rc OK, 0 wrong, worst 0.00 x 2^-24 sum|t|, 2/2 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=20 k=50 block=7 m=3 x bf16: rc OK, 0 wrong, worst 2.60 x 2^-24 sum|t|, 3/3 rows equal to the m=1 call, route bf16x3 +chip fp8 block rows n=1 k=1 block=128 m=1 x f32: rc OK, 0 wrong, worst 0.00 x 2^-24 sum|t|, 1/1 rows equal to the m=1 call, route bf16x3 +chip fp8 gemv n=256 k=128: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemv groups=65 n=256 k=128: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemm M=1030 n=256 k=128: rc OK, general 1 (want 1), 0 wrong +chip fp8 gemv n=128 k=384: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemv groups=65 n=128 k=384: rc OK, general 1 (want 1), 0 wrong +chip fp8 grouped gemm M=1030 n=128 k=384: rc OK, general 1 (want 1), 0 wrong +chip red check: gemm_ex mutant 5 through omega_gpu_fp8gemm_f32 (k=384) is caught (rc OK, 131744 wrong) +chip fp8 gemv n=256 k=2048: rc OK, general 0 (want 0), 0 wrong +chip fp8 grouped gemv groups=8 n=256 k=2048: rc OK, general 0 (want 0), 0 wrong +chip fp8 grouped gemm M=8 n=256 k=2048: rc OK, general 0 (want 0), 0 wrong, every row == the GEMV +f32 x f32 -> f32 65x130x33 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 8450 checked, 8450 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 5.80595398, ref -111066.351, bound 3.27 +chip red check: kernel ffma mutant 1 is caught (8450 wrong) +f16 x f16 -> f32 65x63x100 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4095 checked, 4095 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = -91154.5859, ref 203003.501, bound 3.91 +chip red check: kernel f16 mutant 1 is caught (4095 wrong) +f16 x f16 -> f32 65x63x100 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4095 checked, 4095 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 42214.4531, ref 108299.125, bound 1.73 +chip red check: kernel f16 mutant 2 is caught (4095 wrong) +f16 x f16 -> f32 65x63x100 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4095 checked, 4095 wrong, 0 untouched changed, max |err| / bound 0.0000; first batch 0 C[0][0] = 64419.0547, ref 129662.555, bound 1.39 +chip red check: kernel f16 mutant 3 is caught (4095 wrong) +ok: bf16 x bf16^T -> f16 64x1x31 batch 1 pad 5/4/0 alpha 3.27826e-07 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9448 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f16 64x1x31 batch 1 pad 5/4/0 alpha 3.27826e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f16 128x64x255 batch 1 pad 0/3/3 alpha 1.49012e-08 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9905 +ok: e4m3 x e4m3^T -> bf16 256x1000x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 256000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> bf16 256x1000x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 509x31x32 batch 1 pad 0/3/0 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 15779 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0411 +ok: bf16 x e4m3 -> f16 1021x257x256 batch 1 pad 0/5/4 alpha -7.45058e-09 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8354 +ok: f16 x e5m2 -> f16 1025x13x3 batch 1 pad 0/7/0 alpha -4.76837e-07 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 13325 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9754 +ok: f32 x f32 -> f16 5x127x33 batch 1 pad 0/0/0 alpha 1.63913e-07 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 635 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8864 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f16 5x127x33 batch 1 pad 0/0/0 alpha 1.63913e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 8x1x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 8 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0903 +ok: f32 x bf16^T -> f16 17x63x5 batch 1 pad 7/0/2 alpha 4.76837e-07 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1071 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9411 +ok: chip core == host-model core, bit for bit: f32 x bf16^T -> f16 17x63x5 batch 1 pad 7/0/2 alpha 4.76837e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f32 63x513x64 batch 1 pad 0/0/7 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 32319 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0095 +ok: f32 x f32 -> f32 65x17x511 batch 1 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1105 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0016 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 65x17x511 batch 1 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f16 129x256x7 batch 1 pad 0/4/2 alpha 1.86265e-09 beta 1 block-scale edge 0 blocks 7/100/128: OK route native core calls 1 host-fixed 0, 33024 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9795 +ok: e4m3 x e5m2 -> f16 255x8x65 batch 1 pad 3/4/0 alpha 2.98023e-08 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 2040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9627 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2 -> f16 255x8x65 batch 1 pad 3/4/0 alpha 2.98023e-08 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 511x128x513 batch 1 pad 7/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0221 +ok: f16 x f16^T -> f32 1023x2x13 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 2046 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 1023x2x13 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 1x64x127 batch 1 pad 0/0/1 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0128 +ok: e5m2^T x e5m2 -> f32 7x1021x1023 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0153 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 7x1021x1023 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> f32 13x31x17 batch 1 pad 2/4/6 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 403 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0283 +ok: f16^T x e5m2 -> f16 31x509x251 batch 1 pad 0/0/3 alpha 1.49012e-08 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 15779 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9149 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> f16 31x509x251 batch 1 pad 0/0/3 alpha 1.49012e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 64x13x1 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8380 +ok: f32^T x f32^T -> bf16 97x251x31 batch 1 pad 0/7/0 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 24347 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6841 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 97x251x31 batch 1 pad 0/7/0 alpha 1 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16^T -> f32 251x3x255 batch 1 pad 3/0/1 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 753 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0055 +ok: bf16^T x f16^T -> f16 256x97x2 batch 1 pad 0/7/4 alpha 1.90735e-06 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 24832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: bf16^T x f16^T -> f16 256x97x2 batch 1 pad 0/7/4 alpha 1.90735e-06 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> bf16 513x1023x33 batch 1 pad 0/0/0 alpha 1 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9754 +ok: e4m3^T x e4m3 -> bf16 1025x33x257 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 1/16/128: OK route native core calls 3 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9340 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> bf16 1025x33x257 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 1/16/128: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f32 2x511x3 batch 1 pad 5/0/7 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1022 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0231 +ok: bf16^T x bf16^T -> f16 8x16x63 batch 1 pad 4/0/3 alpha 1.63913e-07 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 128 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9826 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f16 8x16x63 batch 1 pad 4/0/3 alpha 1.63913e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 15x255x509 batch 3 pad 0/0/7 alpha 1 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0313 +ok: e4m3^T x e4m3^T -> f16 32x5x7 batch 1 pad 0/0/0 alpha 4.76837e-07 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 160 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7958 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f16 32x5x7 batch 1 pad 0/0/0 alpha 4.76837e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 65x65x65 batch 2 pad 0/4/3 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 8450 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0447 +ok: bf16^T x e4m3 -> f16 127x1021x511 batch 1 pad 4/4/0 alpha -3.72529e-09 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9731 +ok: f16^T x e5m2 -> f32 255x32x8 batch 2 A-bcast pad 4/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 16320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: f32^T x f32^T -> f32 257x509x97 batch 1 pad 0/6/5 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0068 +ok: f32^T x f32^T -> f32 1000x15x1000 batch 1 pad 0/0/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1491 +ok: f32^T x bf16^T -> f32 1023x251x13 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 256773 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3647 +ok: bf16^T x f16 -> f32 3x5x127 batch 1 pad 0/0/4 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: f32^T x f32 -> f32 13x97x1021 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1261 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0010 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 13x97x1021 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 16x1025x16 batch 1 pad 0/0/0 alpha -0.5 beta 0 block-scale edge 0 blocks 100/7/128: OK route native core calls 1 host-fixed 0, 16400 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0183 +ok: e4m3^T x e5m2 -> f16 33x33x129 batch 1 pad 0/0/1 alpha 4.09782e-08 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1089 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8102 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> f16 33x33x129 batch 1 pad 0/0/1 alpha 4.09782e-08 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> bf16 64x513x1023 batch 2 pad 6/0/2 alpha 1 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8620 +ok: f16^T x f16^T -> f32 128x16x17 batch 1 pad 0/7/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 2048 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0449 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> f32 128x16x17 batch 1 pad 0/7/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 256x256x251 batch 1 pad 0/2/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0174 +ok: e5m2^T x e5m2 -> f32 509x7x1 batch 1 pad 2/0/4 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 3563 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 509x7x1 batch 1 pad 2/0/4 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> bf16 1021x128x32 batch 1 pad 1/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 130688 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9930 +ok: f16^T x e5m2 -> bf16 1025x1x255 batch 1 pad 6/7/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1025 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9714 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> bf16 1025x1x255 batch 1 pad 6/7/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f16 5x64x2 batch 1 pad 0/0/0 alpha 5.24521e-06 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8366 +ok: f32 x f32^T -> f32 15x1000x33 batch 1 pad 0/0/5 alpha 2.75 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 15000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8082 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 15x1000x33 batch 1 pad 0/0/5 alpha 2.75 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 31x17x257 batch 2 B-bcast pad 2/4/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1054 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0047 +ok: bf16 x f16 -> f16 64x257x3 batch 1 pad 1/0/0 alpha 2.6226e-06 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16448 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9539 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f16 64x257x3 batch 1 pad 1/0/0 alpha 2.6226e-06 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 97x8x63 batch 2 pad 0/4/3 alpha 2.75 beta 1 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 1552 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0108 +ok: e4m3 x e4m3 -> f32 251x129x509 batch 1 pad 0/6/0 alpha 2.75 beta 0 block-scale edge 0 blocks 16/16/128: OK route native core calls 4 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 251x129x509 batch 1 pad 0/6/0 alpha 2.75 beta 0 block-scale edge 0 blocks 16/16/128: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f16 509x2x7 batch 1 pad 0/0/0 alpha 1.3113e-06 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1018 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9255 +ok: bf16 x bf16^T -> f16 513x65x65 batch 1 pad 1/0/3 alpha 8.19564e-08 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 33345 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9590 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f16 513x65x65 batch 1 pad 1/0/3 alpha 8.19564e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f32 1025x513x511 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0281 +ok: e4m3 x e4m3^T -> f32 2x17x8 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 34 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0120 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 2x17x8 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 8x256x97 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2048 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0391 +ok: bf16 x e4m3 -> f32 17x8x1000 batch 1 pad 4/0/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 136 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0100 +ok: chip core == host-model core, bit for bit: bf16 x e4m3 -> f32 17x8x1000 batch 1 pad 4/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f32 32x128x15 batch 2 pad 3/0/3 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0873 +ok: f32 x f32^T -> f32 65x2x127 batch 1 pad 0/7/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 130 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0051 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 65x2x127 batch 1 pad 0/7/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f16 127x64x1021 batch 1 pad 0/0/5 alpha 3.72529e-09 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7945 +ok: f32 x bf16^T -> f32 255x1021x16 batch 1 pad 4/0/5 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 260355 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0650 +ok: bf16 x f16 -> f32 257x31x129 batch 3 A-bcast B-bcast pad 3/3/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 23901 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0084 +ok: f32 x f32 -> f32 1000x509x1023 batch 1 pad 2/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0006 +ok: e4m3 x e4m3 -> bf16 1x13x17 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 128/7/100: OK route native core calls 1 host-fixed 0, 13 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5632 +ok: e4m3 x e5m2^T -> f32 3x129x251 batch 2 pad 0/0/5 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 774 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0317 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 3x129x251 batch 2 pad 0/0/5 alpha 1 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 13x3x1 batch 2 B-bcast pad 5/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 78 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16 x f16^T -> f32 16x65x32 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 1040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0378 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 16x65x32 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> bf16 33x1023x255 batch 2 A-bcast pad 0/6/4 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9122 +ok: e5m2 x e5m2 -> bf16 97x32x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 3104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9960 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> bf16 97x32x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f32 128x511x33 batch 2 B-bcast pad 6/0/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0388 +ok: f16 x e5m2 -> bf16 256x15x257 batch 1 pad 5/6/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 3840 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9559 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> bf16 256x15x257 batch 1 pad 5/6/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 509x255x8 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 129795 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0083 +ok: f32 x f32^T -> f32 1021x5x65 batch 1 pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 5105 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6500 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 1021x5x65 batch 1 pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 2x127x513 batch 2 pad 1/1/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 508 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0033 +ok: bf16 x f16 -> f16 5x1025x13 batch 1 pad 5/0/1 alpha 2.38419e-07 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 5125 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9762 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f16 5x1025x13 batch 1 pad 5/0/1 alpha 2.38419e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 15x63x127 batch 1 pad 5/0/0 alpha 2.98023e-08 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 945 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9603 +ok: e4m3^T x e4m3 -> bf16 17x509x1000 batch 1 pad 0/2/0 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/32: OK route native core calls 32 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8922 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> bf16 17x509x1000 batch 1 pad 0/2/0 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> f16 63x15x15 batch 3 B-bcast pad 0/4/3 alpha 2.38419e-07 beta 0 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 2835 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9346 +ok: bf16^T x bf16^T -> f32 127x251x128 batch 1 pad 7/3/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 31877 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0682 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 127x251x128 batch 1 pad 7/3/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 129x5x1023 batch 1 pad 7/7/5 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 645 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0186 +ok: e4m3^T x e4m3 -> f32 257x97x17 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 24929 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0557 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 257x97x17 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 511x1025x129 batch 1 pad 0/0/5 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0310 +ok: bf16^T x e4m3 -> f32 1023x33x1025 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0159 +ok: f16^T x e5m2^T -> f32 3x511x31 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1533 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0429 +ok: f32^T x f32^T -> bf16 7x16x255 batch 1 pad 0/3/2 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7858 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 7x16x255 batch 1 pad 0/3/2 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 16x255x2 batch 1 pad 0/6/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 4080 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8619 +ok: f32^T x bf16^T -> bf16 31x7x32 batch 1 pad 0/1/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 217 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9130 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> bf16 31x7x32 batch 1 pad 0/1/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> f32 64x127x256 batch 1 pad 2/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8128 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0075 +ok: f32^T x f32 -> f16 97x1x3 batch 1 pad 0/1/0 alpha -4.76837e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 97 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9258 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 97x1x3 batch 1 pad 0/1/0 alpha -4.76837e-07 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f16 251x63x63 batch 2 pad 0/0/0 alpha 6.40284e-10 beta 0 block-scale edge 0 blocks 7/1/128: OK route native core calls 2 host-fixed 0, 31626 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9354 +ok: e4m3^T x e5m2^T -> bf16 509x1000x257 batch 1 pad 0/0/2 alpha -0.5 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9866 +ok: bf16^T x bf16^T -> bf16 513x17x5 batch 1 pad 3/1/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 8721 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9848 +ok: f16^T x f16^T -> bf16 1025x257x64 batch 1 pad 2/0/1 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9357 +ok: e4m3^T x e4m3 -> f32 2x8x511 batch 2 B-bcast pad 1/6/5 alpha 2.75 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 32 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: e5m2^T x e5m2 -> f32 8x129x8 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 3096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0250 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 8x129x8 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> bf16 17x2x65 batch 1 pad 0/6/4 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 34 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8441 +ok: f16^T x e5m2^T -> f32 32x65x513 batch 1 pad 4/3/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2080 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0334 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f32 32x65x513 batch 1 pad 4/3/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f16 65x1021x13 batch 3 pad 0/0/0 alpha -1.19209e-07 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 199095 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: f32^T x f32^T -> bf16 127x32x127 batch 3 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 12192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4860 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 127x32x127 batch 3 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> f32 255x256x1021 batch 1 pad 0/0/5 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0019 +ok: bf16^T x f16 -> f32 511x8x15 batch 1 pad 4/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4088 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0079 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f32 511x8x15 batch 1 pad 4/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 1000x128x128 batch 3 pad 0/0/0 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0056 +ok: e4m3^T x e4m3 -> f16 1x1x1023 batch 1 pad 0/0/2 alpha -7.27596e-12 beta 1 block-scale edge 0 blocks 128/100/16: OK route native core calls 64 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0006 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 1x1x1023 batch 1 pad 0/0/2 alpha -7.27596e-12 beta 1 block-scale edge 0 blocks 128/100/16: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> bf16 3x64x17 batch 1 pad 0/1/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8970 +ok: bf16 x bf16^T -> f32 13x1000x129 batch 3 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0575 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f32 13x1000x129 batch 3 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> bf16 31x31x1025 batch 1 pad 4/6/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 961 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8750 +ok: e4m3 x e4m3 -> bf16 33x257x31 batch 2 B-bcast pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 16962 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9873 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> bf16 33x257x31 batch 2 B-bcast pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> bf16 97x13x255 batch 2 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 2522 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9623 +ok: bf16 x e4m3 -> bf16 128x129x2 batch 3 pad 0/0/1 alpha 1 beta 1 edge 0: OK route widen core calls 3 host-fixed 0, 49536 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9958 +ok: chip core == host-model core, bit for bit: bf16 x e4m3 -> bf16 128x129x2 batch 3 pad 0/0/1 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> bf16 256x3x32 batch 1 pad 6/0/6 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9690 +ok: f32 x f32^T -> bf16 513x65x256 batch 1 pad 6/6/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9103 +ok: f32 x f32^T -> f32 1021x1023x3 batch 3 B-bcast pad 0/0/5 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9023 +ok: f32 x bf16 -> f32 2x32x63 batch 1 pad 0/4/1 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0058 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f32 2x32x63 batch 1 pad 0/4/1 alpha -0.5 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16 -> f16 5x511x509 batch 3 B-bcast pad 0/0/3 alpha 2.04891e-08 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 7665 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5922 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/2/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1x1x1 batch 1 pad 0/2/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 17x255x64 batch 3 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 128/1/32: OK route native core calls 6 host-fixed 0, 13005 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0140 +ok: e4m3 x e5m2^T -> f32 63x5x511 batch 3 B-bcast pad 0/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 945 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0203 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 63x5x511 batch 3 B-bcast pad 0/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 127x127x8 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 48387 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0325 +ok: f16 x f16^T -> f32 129x1025x65 batch 1 pad 1/0/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0437 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 129x1025x65 batch 1 pad 1/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 257x33x513 batch 3 B-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0155 +ok: e5m2 x e5m2 -> f16 511x513x13 batch 1 pad 0/0/0 alpha -1.19209e-07 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 262143 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9991 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> f16 511x513x13 batch 1 pad 0/0/0 alpha -1.19209e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f16 1023x16x127 batch 1 pad 0/1/0 alpha 2.98023e-08 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 16368 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9983 +ok: f16 x e5m2^T -> f32 3x251x1021 batch 1 pad 1/7/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 753 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0209 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 3x251x1021 batch 1 pad 1/7/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 7x3x15 batch 1 pad 1/6/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 21 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: f32 x f32^T -> f32 16x97x128 batch 1 pad 0/0/0 alpha 2.75 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1552 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4537 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 16x97x128 batch 1 pad 0/0/0 alpha 2.75 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> f16 31x1023x1 batch 1 pad 0/0/2 alpha 3.8147e-06 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 31713 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9923 +ok: bf16 x f16 -> f32 64x33x32 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 2112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0104 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f32 64x33x32 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> bf16 128x511x256 batch 1 pad 3/0/7 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8759 +ok: e4m3 x e4m3^T -> f32 251x16x2 batch 1 pad 0/0/6 alpha -0.5 beta 1 block-scale edge 0 blocks 128/1/100: OK route native core calls 1 host-fixed 0, 4016 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6342 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 251x16x2 batch 1 pad 0/0/6 alpha -0.5 beta 1 block-scale edge 0 blocks 128/1/100: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f32 509x255x33 batch 1 pad 0/0/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0355 +ok: bf16 x bf16^T -> bf16 513x7x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 3591 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9540 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> bf16 513x7x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> f16 1x1x1 batch 1 pad 3/3/2 alpha 1.04904e-05 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1903 +ok: e4m3 x e4m3 -> f32 5x1x63 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 5 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 5x1x63 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 8x63x509 batch 1 pad 0/6/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 504 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0220 +ok: bf16^T x e4m3 -> f32 17x1000x7 batch 1 pad 0/0/5 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 17000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5941 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 17x1000x7 batch 1 pad 0/0/5 alpha -0.5 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f16 32x17x65 batch 1 pad 5/0/0 alpha 8.19564e-08 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 544 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9029 +ok: f32^T x f32^T -> bf16 65x257x513 batch 1 pad 3/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7690 +ok: f32^T x f32^T -> f32 127x8x8 batch 1 pad 0/0/2 alpha 2.75 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1016 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7427 +ok: f32^T x bf16 -> f32 1x1x1 batch 1 pad 0/6/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3304 +ok: chip core == host-model core, bit for bit: f32^T x bf16 -> f32 1x1x1 batch 1 pad 0/6/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> f32 511x2x1000 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1022 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: f32^T x f32 -> bf16 1000x64x15 batch 1 pad 5/6/6 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 64000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9881 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> bf16 1000x64x15 batch 1 pad 5/6/6 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f16 1x1021x128 batch 1 pad 4/0/0 alpha 3.20142e-10 beta 1 block-scale edge 0 blocks 16/128/128: OK route native core calls 1 host-fixed 0, 1021 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9400 +ok: e4m3^T x e5m2^T -> bf16 3x31x1021 batch 1 pad 0/3/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 93 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7890 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> bf16 3x31x1021 batch 1 pad 0/3/0 alpha 1 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 13x509x16 batch 1 pad 0/0/1 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 6617 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0415 +ok: f16^T x f16 -> f32 31x13x129 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 403 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0412 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 31x13x129 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 33x251x1025 batch 2 A-bcast pad 0/0/6 alpha 1 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0108 +ok: e5m2^T x e5m2 -> f32 97x1x17 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 97 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0205 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 97x1x17 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 128x64x251 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0420 +ok: f16^T x e5m2^T -> f16 1x1x1 batch 2 pad 0/6/0 alpha -1.90735e-06 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6576 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f16 1x1x1 batch 2 pad 0/6/0 alpha -1.90735e-06 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 513x31x32 batch 2 pad 7/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 31806 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0120 +ok: f32^T x f32^T -> bf16 1021x257x256 batch 2 pad 0/4/7 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3907 +ok: f32^T x bf16 -> f32 2x13x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 26 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6053 +ok: bf16^T x f16 -> f32 5x129x33 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 645 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0095 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f32 5x129x33 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 15x3x257 batch 2 B-bcast pad 7/0/0 alpha -3.72529e-09 beta 0 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 90 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4133 +ok: e4m3^T x e4m3^T -> f32 32x65x5 batch 3 pad 6/3/0 alpha -0.5 beta 0 block-scale edge 0 blocks 1/100/128: OK route native core calls 3 host-fixed 0, 6240 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0163 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 32x65x5 batch 3 pad 6/3/0 alpha -0.5 beta 0 block-scale edge 0 blocks 1/100/128: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> f32 1x1x1 batch 1 pad 0/0/2 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16^T x bf16^T -> f32 127x32x509 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 4064 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0364 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 127x32x509 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> f32 129x509x7 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 65661 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5749 +ok: e4m3^T x e4m3 -> f16 257x15x65 batch 2 B-bcast pad 2/0/2 alpha 2.98023e-08 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 7710 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9593 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 257x15x65 batch 2 B-bcast pad 2/0/2 alpha 2.98023e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 1000x251x513 batch 1 pad 0/3/5 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0202 +ok: bf16^T x e4m3^T -> bf16 1023x5x8 batch 1 pad 0/0/2 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 5115 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9810 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> bf16 1023x5x8 batch 1 pad 0/0/2 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f32 3x97x97 batch 1 pad 0/7/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 291 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0367 +ok: f32^T x f32^T -> f16 1x1x1 batch 2 pad 2/0/5 alpha -1.90735e-06 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1909 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 1x1x1 batch 2 pad 2/0/5 alpha -1.90735e-06 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 16x33x15 batch 1 pad 0/0/6 alpha 2.75 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 528 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6762 +ok: f32 x bf16 -> f16 31x513x128 batch 1 pad 0/0/0 alpha -1.49012e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 15903 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8372 +ok: bf16 x f16 -> f16 1x1x1 batch 1 pad 0/0/0 alpha 1.04904e-05 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4396 +ok: f32 x f32 -> f16 128x256x16 batch 1 pad 4/3/5 alpha -1.19209e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 32768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f16 128x256x16 batch 1 pad 4/3/5 alpha -1.19209e-07 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 251x7x129 batch 1 pad 1/0/0 alpha 2.75 beta 1 block-scale edge 0 blocks 100/128/32: OK route native core calls 5 host-fixed 0, 1757 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0073 +ok: e4m3 x e5m2^T -> f16 509x128x1025 batch 1 pad 0/6/0 alpha 1.86265e-09 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6876 +ok: bf16 x bf16^T -> f32 513x1023x31 batch 1 pad 0/0/5 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0384 +ok: f16 x f16 -> f32 1025x33x251 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0368 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 1025x33x251 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 5x511x1 batch 1 pad 4/0/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 2555 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8932 +ok: e5m2 x e5m2 -> f16 1x1x1 batch 3 B-bcast pad 3/2/0 alpha 3.8147e-06 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2495 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> f16 1x1x1 batch 3 B-bcast pad 3/2/0 alpha 3.8147e-06 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 17x255x256 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 4335 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0354 +ok: f16 x e5m2^T -> f16 32x7x2 batch 1 pad 0/0/7 alpha 1.90735e-06 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 224 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8920 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f16 32x7x2 batch 1 pad 0/0/7 alpha 1.90735e-06 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 65x127x33 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8255 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0114 +ok: f32 x f32 -> f32 129x1025x257 batch 1 pad 0/7/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3344 +ok: f32 x bf16 -> f32 255x63x5 batch 1 pad 0/3/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16065 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3003 +ok: bf16 x f16 -> f16 511x513x64 batch 1 pad 0/5/0 alpha 5.96046e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8617 +ok: f32 x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2706 +ok: e4m3 x e4m3^T -> f32 1x256x13 batch 1 pad 6/0/0 alpha 1 beta -1.5 block-scale edge 0 blocks 1/16/100: OK route native core calls 1 host-fixed 0, 256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0387 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 1x256x13 batch 1 pad 6/0/0 alpha 1 beta -1.5 block-scale edge 0 blocks 1/16/100: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> bf16 7x8x127 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 56 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8937 +ok: bf16 x bf16^T -> bf16 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1766 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> bf16 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> bf16 31x2x16 batch 1 pad 1/3/6 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 62 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8524 +ok: e4m3 x e4m3 -> f32 33x64x128 batch 1 pad 6/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 2112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0200 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 33x64x128 batch 1 pad 6/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f32 97x1021x1023 batch 2 pad 5/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0193 +ok: bf16 x e4m3^T -> f32 251x31x17 batch 2 pad 0/0/6 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 15562 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0454 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f32 251x31x17 batch 2 pad 0/0/6 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> f32 256x509x251 batch 1 pad 0/1/5 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0286 +ok: f32 x f32^T -> f16 513x13x1025 batch 2 A-bcast pad 1/0/0 alpha 1.86265e-09 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9594 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 5/3/0 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2352 +ok: f32 x bf16 -> f32 2x3x255 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 6 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f32 2x3x255 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16 -> f32 5x97x2 batch 3 A-bcast pad 0/0/1 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0063 +ok: f32^T x f32^T -> f32 15x1000x33 batch 3 pad 0/0/7 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 45000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0198 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 15x1000x33 batch 3 pad 0/0/7 alpha -0.5 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 32x17x256 batch 1 pad 1/0/7 alpha 2.75 beta 1 block-scale edge 0 blocks 100/1/100: OK route native core calls 3 host-fixed 0, 544 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0089 +ok: e4m3^T x e5m2^T -> bf16 63x257x3 batch 3 A-bcast pad 0/7/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 48573 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9823 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> bf16 63x257x3 batch 3 A-bcast pad 0/7/0 alpha 2.75 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> bf16 127x8x63 batch 3 pad 0/3/0 alpha 1 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 3048 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9792 +ok: f16^T x f16 -> f32 1x1x1 batch 1 pad 0/7/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0031 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 1x1x1 batch 1 pad 0/7/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> bf16 257x2x7 batch 1 pad 3/0/4 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 514 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9449 +ok: e5m2^T x e5m2 -> f32 1000x65x64 batch 1 pad 7/6/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 65000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0532 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 1000x65x64 batch 1 pad 7/6/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0029 +ok: f16^T x e5m2^T -> f32 3x32x8 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 96 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0213 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f32 3x32x8 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 7x509x97 batch 1 pad 3/3/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 3563 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0080 +ok: f32^T x f32 -> f32 16x15x513 batch 1 pad 2/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 240 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1703 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 16x15x513 batch 1 pad 2/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> f32 1x1x1 batch 1 pad 7/1/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0021 +ok: bf16^T x f16 -> f32 64x5x127 batch 1 pad 0/1/2 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0057 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f32 64x5x127 batch 1 pad 0/1/2 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 128x97x1021 batch 1 pad 0/0/0 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5671 +ok: e4m3^T x e4m3^T -> f32 1x1x1 batch 1 pad 3/3/4 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/100: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0023 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 1x1x1 batch 1 pad 3/3/4 alpha 2.75 beta 1 block-scale edge 0 blocks 128/16/100: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> bf16 509x33x128 batch 1 pad 0/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 16797 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9899 +ok: bf16^T x bf16 -> f16 1021x513x1023 batch 1 pad 0/0/0 alpha 1.02445e-08 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7164 +ok: f16^T x f16 -> f32 1025x16x17 batch 1 pad 0/0/7 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 16400 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0887 +ok: e4m3^T x e4m3 -> f16 5x256x251 batch 1 pad 0/0/0 alpha 4.09782e-08 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1280 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9000 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 5x256x251 batch 1 pad 0/0/0 alpha 4.09782e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f16 8x7x1 batch 1 pad 4/0/0 alpha -1.90735e-06 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 56 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4996 +ok: bf16^T x e4m3^T -> f32 17x127x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2159 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0398 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> f32 17x127x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f32 1x1x1 batch 1 pad 0/5/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f32^T x f32^T -> f32 65x63x2 batch 1 pad 7/0/3 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4095 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7082 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 65x63x2 batch 1 pad 7/0/3 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 129x511x33 batch 1 pad 5/6/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 65919 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7736 +ok: f32^T x bf16 -> bf16 1x1x1 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5872 +ok: chip core == host-model core, bit for bit: f32^T x bf16 -> bf16 1x1x1 batch 1 pad 4/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> bf16 511x255x3 batch 3 B-bcast pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 390915 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9958 +ok: f32^T x f32^T -> f16 1000x5x63 batch 1 pad 0/0/4 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 5000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8846 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 1000x5x63 batch 1 pad 0/0/4 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 1x127x509 batch 1 pad 7/0/0 alpha -0.5 beta -1.5 block-scale edge 0 blocks 100/100/100: OK route native core calls 6 host-fixed 0, 127 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0034 +ok: e4m3^T x e5m2^T -> f32 1x1x1 batch 1 pad 4/0/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0111 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> f32 1x1x1 batch 1 pad 4/0/0 alpha 1 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> f32 13x63x64 batch 1 pad 0/6/7 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 819 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0403 +ok: f16 x f16 -> f32 31x513x511 batch 1 pad 0/1/3 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0216 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 31x513x511 batch 1 pad 0/1/3 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 1x1x1 batch 1 pad 0/4/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: e5m2 x e5m2^T -> f16 97x256x97 batch 1 pad 0/0/3 alpha 2.98023e-08 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 24832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9417 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f16 97x256x97 batch 1 pad 0/0/3 alpha 2.98023e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 251x8x1000 batch 3 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0217 +ok: f16 x e5m2^T -> f16 256x128x13 batch 2 pad 0/0/0 alpha 2.38419e-07 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 65536 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9994 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f16 256x128x13 batch 2 pad 0/0/0 alpha 2.38419e-07 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 1x1x1 batch 2 B-bcast pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0562 +ok: f32 x f32 -> f32 1021x64x1021 batch 1 pad 2/0/6 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1611 +ok: f32 x bf16 -> f32 2x1021x16 batch 2 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 4084 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0093 +ok: bf16 x f16 -> bf16 1x1x1 batch 3 A-bcast B-bcast pad 0/2/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7593 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> bf16 1x1x1 batch 3 A-bcast B-bcast pad 0/2/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 15x257x1023 batch 2 pad 0/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0009 +ok: e4m3 x e4m3^T -> f32 32x13x17 batch 1 pad 2/0/2 alpha 2.75 beta 0 block-scale edge 0 blocks 1/100/16: OK route native core calls 2 host-fixed 0, 416 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0123 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 32x13x17 batch 1 pad 2/0/2 alpha 2.75 beta 0 block-scale edge 0 blocks 1/100/16: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> f16 3x4096x32 batch 1 pad 0/0/7 alpha 3.27826e-07 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 12288 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9802 +ok: bf16 x bf16 -> f32 127x3x3 batch 3 A-bcast pad 6/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1143 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0250 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> f32 127x3x3 batch 3 A-bcast pad 6/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> f16 255x65x33 batch 3 pad 0/0/4 alpha 5.96046e-08 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 49725 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9943 +ok: e4m3 x e4m3 -> f32 257x1023x257 batch 1 pad 0/0/3 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0149 +ok: e5m2 x e5m2^T -> f32 1x1x1 batch 1 pad 1/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16 x e4m3^T -> f16 1023x511x64 batch 1 pad 0/0/1 alpha 5.96046e-08 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8281 +ok: f16 x e5m2^T -> f32 3x8x511 batch 1 pad 0/6/1 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 24 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0384 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/3/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0041 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1x1x1 batch 1 pad 0/3/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 16x2x65 batch 1 pad 0/6/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 32 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3608 +ok: f32 x bf16 -> f16 33x65x513 batch 3 pad 0/0/0 alpha 3.72529e-09 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 6435 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5307 +ok: bf16 x f16^T -> f16 64x1021x13 batch 3 A-bcast pad 0/0/0 alpha 2.38419e-07 beta 1 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 196032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9958 +ok: f32 x f32^T -> bf16 1x1x1 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3064 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> bf16 1x1x1 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> bf16 251x509x1000 batch 2 A-bcast pad 4/0/3 alpha 1 beta 0 block-scale edge 0 blocks 1/7/16: OK route native core calls 126 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9174 +ok: e4m3 x e5m2^T -> f32 509x15x15 batch 1 pad 3/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 7635 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0327 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 509x15x15 batch 1 pad 3/0/0 alpha 2.75 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16 -> f32 1x1x1 batch 1 pad 0/0/4 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16 x f16 -> f32 1025x5x1023 batch 2 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0194 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 1025x5x1023 batch 2 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 5x97x16 batch 3 A-bcast pad 0/7/2 alpha -0.5 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0153 +ok: e5m2 x e5m2 -> f32 5x4096x65 batch 1 pad 0/0/4 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 20480 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0460 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> f32 5x4096x65 batch 1 pad 0/0/4 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f16 1x1x1 batch 1 pad 3/0/0 alpha 3.8147e-06 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16^T x e5m2^T -> bf16 63x511x31 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 32193 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9912 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> bf16 63x511x31 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> bf16 65x16x255 batch 1 pad 0/0/4 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9029 +ok: f32^T x f32 -> f16 1x1x1 batch 1 pad 0/0/0 alpha 1.04904e-05 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1682 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 1x1x1 batch 1 pad 0/0/0 alpha 1.04904e-05 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> bf16 255x7x32 batch 1 pad 0/0/2 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1785 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9721 +ok: bf16^T x f16^T -> f16 511x127x256 batch 1 pad 0/6/5 alpha -7.45058e-09 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9257 +ok: f32 x f32^T -> f32 4096x17x2 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 69632 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9877 +ok: e4m3^T x e4m3^T -> f32 1x63x63 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 block-scale edge 0 blocks 100/16/32: OK route native core calls 2 host-fixed 0, 63 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 1x63x63 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 block-scale edge 0 blocks 100/16/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> bf16 7x1000x257 batch 1 pad 5/0/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 7000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9819 +ok: bf16^T x bf16 -> f16 13x17x5 batch 1 pad 0/3/4 alpha 4.76837e-07 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 221 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8601 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f16 13x17x5 batch 1 pad 0/3/4 alpha 4.76837e-07 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: e4m3^T x e4m3 -> f32 64x5x511 batch 1 pad 0/0/7 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 320 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0158 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 64x5x511 batch 1 pad 0/0/7 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f32 97x127x7 batch 2 pad 1/0/4 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 24638 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0334 +ok: bf16^T x e4m3^T -> f32 1x1x1 batch 1 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> f32 1x1x1 batch 1 pad 7/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2^T -> f16 256x63x513 batch 1 pad 0/0/4 alpha 3.72529e-09 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9910 +ok: f32^T x f32 -> f32 513x513x13 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 263169 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2219 +ok: f32^T x f32^T -> f32 4095x15x257 batch 1 pad 6/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3503 +ok: f32^T x bf16 -> f32 1x1x1 batch 1 pad 7/6/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0026 +ok: chip core == host-model core, bit for bit: f32^T x bf16 -> f32 1x1x1 batch 1 pad 7/6/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f32 8x7x15 batch 2 pad 0/6/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0091 +ok: f32^T x f32^T -> bf16 15x128x128 batch 2 A-bcast B-bcast pad 0/0/4 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 3840 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9395 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 15x128x128 batch 2 A-bcast B-bcast pad 0/0/4 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> bf16 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 7/7/100: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7277 +ok: e4m3^T x e5m2 -> bf16 63x64x17 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 4032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9834 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> bf16 63x64x17 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> f32 127x1000x129 batch 2 A-bcast pad 0/0/1 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0396 +ok: f16^T x f16 -> bf16 4095x17x8 batch 3 A-bcast pad 0/5/0 alpha 1 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 208845 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9937 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> bf16 4095x17x8 batch 3 A-bcast pad 0/5/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f16 257x257x31 batch 2 pad 0/1/0 alpha -5.96046e-08 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 132098 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9969 +ok: e5m2^T x e5m2^T -> f32 1000x13x255 batch 2 A-bcast B-bcast pad 3/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2^T -> f32 1000x13x255 batch 2 A-bcast B-bcast pad 3/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 1023x129x1 batch 3 pad 2/0/2 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 395901 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9998 +ok: f16^T x e5m2^T -> f16 1x1x1 batch 1 pad 0/0/0 alpha -1.90735e-06 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3356 +ok: chip core == host-model core, bit for bit: f16^T x e5m2^T -> f16 1x1x1 batch 1 pad 0/0/0 alpha -1.90735e-06 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 13x65x256 batch 1 pad 0/5/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 845 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0050 +ok: f32^T x f32 -> bf16 16x1023x3 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 16368 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9895 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> bf16 16x1023x3 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> f16 1x1x1 batch 1 pad 4/0/0 alpha 3.8147e-06 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6410 +ok: bf16 x f16^T -> f32 64x511x257 batch 1 pad 2/5/4 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0043 +ok: f32 x f32^T -> f32 128x15x5 batch 1 pad 0/0/0 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1920 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0245 +ok: e4m3 x e4m3^T -> f32 33x5000x33 batch 1 pad 0/0/0 alpha 2.75 beta 0 block-scale edge 0 blocks 128/7/32: OK route native core calls 4 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0102 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 33x5000x33 batch 1 pad 0/0/0 alpha 2.75 beta 0 block-scale edge 0 blocks 128/7/32: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2 -> f32 1x1x1 batch 1 pad 0/0/7 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9828 +ok: bf16 x bf16 -> bf16 1021x64x8 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 65344 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9937 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> bf16 1021x64x8 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16 -> f32 1025x1021x65 batch 1 pad 0/7/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0565 +ok: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/4/4 alpha 1.04904e-05 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/4/4 alpha 1.04904e-05 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f32 15x509x16 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 7635 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0352 +ok: bf16 x e4m3^T -> f32 17x13x129 batch 1 pad 4/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 221 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0287 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f32 17x13x129 batch 1 pad 4/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f32 31x4095x5 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 126945 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0305 +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0019 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 129x97x251 batch 1 pad 0/0/0 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 12513 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3490 +ok: f32 x bf16 -> f16 255x1023x1 batch 1 pad 6/0/0 alpha 1.04904e-05 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 260865 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f16 255x1023x1 batch 1 pad 6/0/0 alpha 1.04904e-05 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> bf16 1x1x1 batch 3 A-bcast pad 6/0/2 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4539 +ok: f32 x f32^T -> bf16 1023x511x255 batch 1 pad 0/5/0 alpha -0.5 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7791 +ok: e4m3 x e4m3^T -> f32 1x16x2 batch 1 pad 0/0/7 alpha 1 beta 0 block-scale edge 0 blocks 16/100/32: OK route native core calls 1 host-fixed 0, 16 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: e4m3^T x e5m2^T -> f32 32x4095x256 batch 1 pad 3/1/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0277 +ok: bf16 x bf16 -> f16 13x7x257 batch 1 pad 6/5/0 alpha 7.45058e-09 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 91 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6975 +ok: f16 x f16 -> f32 31x127x5 batch 1 pad 0/0/4 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 3937 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0310 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 31x127x5 batch 1 pad 0/0/4 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> bf16 1x5000x129 batch 2 pad 3/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 4 host-fixed 0, 10000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9899 +ok: e5m2 x e5m2^T -> bf16 1x1x1 batch 1 pad 0/0/7 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> bf16 1x1x1 batch 1 pad 0/0/7 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 251x1000x7 batch 1 pad 0/2/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 251000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0313 +ok: f16 x e5m2 -> f32 256x17x65 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 4352 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0709 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> f32 256x17x65 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 1x1x1 batch 1 pad 0/2/1 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0009 +ok: f32 x f32 -> f32 1025x8x8 batch 1 pad 0/0/0 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 8200 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8039 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 1025x8x8 batch 1 pad 0/0/0 alpha 1 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 2x128x97 batch 3 pad 1/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0073 +ok: bf16^T x f16 -> f16 32x5000x1 batch 2 pad 0/0/3 alpha 3.8147e-06 beta -1.5 edge 0: OK route bf16x3 core calls 4 host-fixed 0, 320000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9995 +ok: chip core == host-model core, bit for bit: bf16^T x f16 -> f16 32x5000x1 batch 2 pad 0/0/3 alpha 3.8147e-06 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0083 +ok: e4m3^T x e4m3^T -> f32 32x513x127 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/7/100: OK route native core calls 2 host-fixed 0, 16416 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0183 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f32 32x513x127 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/7/100: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f16 65x16x1021 batch 1 pad 4/3/0 alpha -1.86265e-09 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 1040 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7009 +ok: bf16^T x bf16 -> f32 1x1x1 batch 1 pad 3/0/7 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f32 1x1x1 batch 1 pad 3/0/7 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> f32 255x7x129 batch 3 pad 7/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 5355 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0616 +ok: e4m3^T x e4m3^T -> f32 257x128x1025 batch 3 B-bcast pad 0/5/0 alpha 2.75 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0095 +ok: e5m2^T x e5m2 -> bf16 5000x5x5 batch 3 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 6 host-fixed 0, 75000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9950 +ok: bf16^T x e4m3^T -> f32 1x1x1 batch 3 B-bcast pad 0/0/6 alpha 2.75 beta 1 edge 0: OK route widen core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0050 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> f32 1x1x1 batch 3 B-bcast pad 0/0/6 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f32 3x1000x1 batch 1 pad 0/0/5 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 3000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9630 +ok: f32 x f32^T -> f32 4097x17x251 batch 3 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 6 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0056 +ok: f32^T x f32 -> bf16 1x1x1 batch 1 pad 0/0/3 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f32^T x bf16^T -> f32 33x13x2 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 429 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9509 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f32 33x13x2 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f16 64x129x33 batch 1 pad 3/0/0 alpha 5.96046e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8256 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9657 +ok: f32 x f32 -> bf16 5000x13x257 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8553 +ok: chip core == host-model core, bit for bit: f32 x f32 -> bf16 5000x13x257 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 256x65x5 batch 1 pad 0/2/2 alpha 1 beta 1 block-scale edge 0 blocks 100/100/32: OK route native core calls 1 host-fixed 0, 16640 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8212 +ok: e4m3^T x e5m2 -> f32 509x1021x63 batch 1 pad 6/0/0 alpha -0.5 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0453 +ok: bf16^T x bf16^T -> f16 4097x2x251 batch 1 pad 1/3/0 alpha 1.49012e-08 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 8194 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8900 +ok: f16^T x f16 -> f32 1x1x1 batch 1 pad 4/0/2 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 1x1x1 batch 1 pad 4/0/2 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 5x15x65 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 75 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0176 +ok: e5m2^T x e5m2^T -> f32 15x251x513 batch 1 pad 0/0/4 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 3765 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0259 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2^T -> f32 15x251x513 batch 1 pad 0/0/4 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> bf16 1x1x1 batch 1 pad 5/3/5 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5316 +ok: f16^T x e5m2 -> f32 63x97x97 batch 1 pad 5/0/1 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 6111 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0479 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> f32 63x97x97 batch 1 pad 5/0/1 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 65x1025x1000 batch 1 pad 0/3/0 alpha 3.72529e-09 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9009 +ok: f32 x f32^T -> f16 4097x32x97 batch 2 pad 6/0/0 alpha 2.98023e-08 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9813 +ok: f32^T x bf16^T -> f16 1x1x1 batch 1 pad 0/2/1 alpha 3.8147e-06 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16^T x f16^T -> f32 511x13x1021 batch 1 pad 7/5/1 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0024 +ok: f32^T x f32 -> f32 4096x17x7 batch 2 A-bcast B-bcast pad 0/3/0 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 139264 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6536 +ok: e4m3^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta 1 block-scale edge 0 blocks 100/7/32: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0121 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 2.75 beta 1 block-scale edge 0 blocks 100/7/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f16 7x97x1025 batch 1 pad 0/0/7 alpha 1.86265e-09 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 679 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9948 +ok: bf16^T x bf16 -> f32 16x1023x17 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 16368 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0454 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f32 16x1023x17 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 5000x7x13 batch 1 pad 0/0/2 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 35000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0395 +ok: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/6/7 alpha 1.04904e-05 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0222 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f16 1x1x1 batch 1 pad 0/6/7 alpha 1.04904e-05 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f16 97x15x32 batch 1 pad 0/4/0 alpha 1.19209e-07 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9515 +ok: bf16^T x e4m3^T -> bf16 17x4096x15 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 69632 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9940 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3^T -> bf16 17x4096x15 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f16 1x1x1 batch 1 pad 7/1/0 alpha 1.04904e-05 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0790 +ok: f32 x f32 -> f32 513x127x64 batch 1 pad 6/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 65151 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0133 +ok: f32 x f32 -> f16 1025x1025x511 batch 1 pad 0/0/0 alpha 7.45058e-09 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1945 +ok: f32 x bf16^T -> f32 1x1x1 batch 1 pad 0/0/3 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0031 +ok: chip core == host-model core, bit for bit: f32 x bf16^T -> f32 1x1x1 batch 1 pad 0/0/3 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f16 8x513x65 batch 1 pad 2/0/0 alpha 2.98023e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9765 +ok: f32 x f32^T -> f32 15x17x513 batch 1 pad 0/1/2 alpha 1 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 255 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0013 +ok: chip core == host-model core, bit for bit: f32 x f32^T -> f32 15x17x513 batch 1 pad 0/1/2 alpha 1 beta 1 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 16x4097x255 batch 1 pad 0/0/0 alpha -0.5 beta 1 block-scale edge 0 blocks 128/100/16: OK route native core calls 32 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0032 +ok: e4m3 x e5m2 -> f16 1x1x1 batch 2 pad 0/7/0 alpha 3.8147e-06 beta 1 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5513 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2 -> f16 1x1x1 batch 2 pad 0/7/0 alpha 3.8147e-06 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16 -> f32 127x128x1021 batch 2 pad 0/0/6 alpha 2.75 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0202 +ok: f16 x f16^T -> f32 33x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 135168 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0697 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 33x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f16 1x1x1 batch 2 pad 0/0/0 alpha 3.8147e-06 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6116 +ok: e5m2 x e5m2^T -> f16 1000x1021x1023 batch 1 pad 0/0/0 alpha 3.72529e-09 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9083 +ok: bf16 x e4m3 -> f32 1x16x17 batch 1 pad 5/0/5 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0242 +ok: f16^T x e5m2 -> f32 15x4097x16 batch 1 pad 0/5/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 61455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0343 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> f32 15x4097x16 batch 1 pad 0/5/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f16 1x1x1 batch 2 pad 1/0/0 alpha 3.8147e-06 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6047 +ok: f32 x f32 -> f32 16x128x31 batch 3 A-bcast B-bcast pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 6144 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6412 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 16x128x31 batch 3 A-bcast B-bcast pad 0/0/0 alpha 1 beta -1.5 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16 -> f16 8x4096x251 batch 1 pad 6/5/0 alpha 1.49012e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9326 +ok: bf16 x f16^T -> f32 1x1x1 batch 1 pad 4/2/6 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16 x f16^T -> f32 1x1x1 batch 1 pad 4/2/6 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f16 128x1000x32 batch 1 pad 3/1/0 alpha 1.19209e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 128000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9994 +ok: e4m3 x e4m3 -> f16 256x17x256 batch 3 A-bcast pad 0/0/0 alpha 5.82077e-11 beta 0 block-scale edge 0 blocks 7/1/16: OK route native core calls 48 host-fixed 0, 13056 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8608 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f16 256x17x256 batch 3 A-bcast pad 0/0/0 alpha 5.82077e-11 beta 0 block-scale edge 0 blocks 7/1/16: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f32 13x4097x8 batch 1 pad 7/0/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 53261 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0374 +ok: bf16 x bf16 -> bf16 1021x8x63 batch 3 A-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 24504 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9939 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> bf16 1021x8x63 batch 3 A-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f32 2x129x509 batch 3 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 774 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0253 +ok: e4m3^T x e4m3 -> bf16 8x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 32768 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9892 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> bf16 8x4096x31 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f32 1x1x1 batch 1 pad 0/5/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: bf16 x e4m3 -> f32 17x1021x511 batch 2 A-bcast B-bcast pad 0/7/7 alpha 1 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0346 +ok: f16 x e5m2 -> f32 32x32x20000 batch 2 pad 0/0/4 alpha 1 beta 0 edge 0: OK route widen core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: f32^T x f32 -> f32 1x1x1 batch 2 A-bcast pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0695 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 1x1x1 batch 2 A-bcast pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 129x15x513 batch 1 pad 0/2/2 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1935 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2313 +ok: f32^T x bf16^T -> f32 257x251x13 batch 1 pad 0/0/2 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 64507 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0082 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f32 257x251x13 batch 1 pad 0/0/2 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f16 4096x1x255 batch 1 pad 0/0/0 alpha 4.09782e-08 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9583 +ok: f32^T x f32^T -> f16 1x1x1 batch 1 pad 6/0/0 alpha 3.8147e-06 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3144 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 1x1x1 batch 1 pad 6/0/0 alpha 3.8147e-06 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> bf16 2x1025x15 batch 1 pad 5/4/0 alpha 1 beta 1 block-scale edge 0 blocks 16/100/16: OK route native core calls 1 host-fixed 0, 2050 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9707 +ok: e4m3^T x e5m2 -> f32 4095x5x129 batch 1 pad 0/2/0 alpha -0.5 beta 1 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 20475 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0517 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> f32 4095x5x129 batch 1 pad 0/2/0 alpha -0.5 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16 -> f32 1x1x1 batch 1 pad 0/6/0 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f16^T x f16^T -> bf16 32x13x17 batch 2 pad 1/1/0 alpha 2.75 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9522 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> bf16 32x13x17 batch 2 pad 1/1/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 65x129x251 batch 3 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0182 +ok: e5m2^T x e5m2 -> f32 4096x13x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0291 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> f32 4096x13x257 batch 1 pad 0/0/0 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> bf16 255x65x31 batch 1 pad 0/0/6 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16575 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9878 +ok: f16^T x e5m2 -> f32 511x1023x255 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0445 +ok: f32^T x f32 -> f16 4095x13x257 batch 1 pad 0/0/0 alpha 7.45058e-09 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9839 +ok: f32^T x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1082 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16^T -> bf16 3x15x256 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 45 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8657 +ok: bf16^T x f16^T -> f32 1x2x3617 batch 1 pad 7/0/7 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: chip core == host-model core, bit for bit: bf16^T x f16^T -> f32 1x2x3617 batch 1 pad 7/0/7 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f16 4097x13x64 batch 1 pad 0/7/0 alpha 5.96046e-08 beta 1 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 53261 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9869 +ok: e4m3^T x e4m3 -> f32 33x127x509 batch 1 pad 0/7/0 alpha 1 beta 0 block-scale edge 0 blocks 16/7/16: OK route native core calls 32 host-fixed 0, 4191 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0020 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 33x127x509 batch 1 pad 0/7/0 alpha 1 beta 0 block-scale edge 0 blocks 16/7/16: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f32 97x1025x5 batch 1 pad 0/0/0 alpha 1 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 99425 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9543 +ok: bf16 x bf16 -> f32 4095x15x1 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 61425 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16 x bf16 -> f32 4095x15x1 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 1x1x1 batch 2 A-bcast B-bcast pad 3/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: e4m3^T x e4m3^T -> bf16 513x17x8 batch 2 pad 2/5/0 alpha 2.75 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 17442 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9903 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> bf16 513x17x8 batch 2 pad 2/5/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2^T -> f16 64x17x20000 batch 1 pad 7/0/0 alpha 1.16415e-10 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9590 +ok: bf16^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 1x1x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f32 5x128x13 batch 2 pad 0/6/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 1280 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0320 +ok: f32^T x f32 -> f32 15x2x127 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 30 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 15x2x127 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 4096x32x97 batch 1 pad 0/0/5 alpha -0.5 beta -1.5 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4332 +ok: f32^T x bf16^T -> f32 63x1000x31 batch 2 pad 0/0/6 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 126000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0129 +ok: bf16 x f16^T -> f32 127x31x251 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 3937 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0059 +ok: f32^T x f32^T -> f16 15x4095x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 61425 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8942 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f16 15x4095x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f16 1x1x1 batch 1 pad 0/0/1 alpha 4.09782e-08 beta 0 block-scale edge 0 blocks 128/100/100: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3342 +ok: e4m3 x e5m2 -> f32 511x127x256 batch 1 pad 0/0/0 alpha -0.5 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0314 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2 -> f32 511x127x256 batch 1 pad 0/0/0 alpha -0.5 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 13x8x16383 batch 3 pad 0/1/3 alpha 2.75 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0046 +ok: f16 x f16^T -> bf16 5x4096x97 batch 1 pad 0/0/7 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 20480 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9855 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> bf16 5x4096x97 batch 1 pad 0/0/7 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> bf16 7x1000x257 batch 1 pad 4/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 7000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9662 +ok: e5m2 x e5m2^T -> f32 16x17x5 batch 1 pad 0/2/7 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 272 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0197 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f32 16x17x5 batch 1 pad 0/2/7 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3^T -> f32 17x4095x15 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 69615 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0404 +ok: f16 x e5m2 -> bf16 1x1x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7285 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> bf16 1x1x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 128x129x7 batch 1 pad 7/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16512 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4896 +ok: f32 x f32 -> f32 65x13x1807 batch 3 A-bcast pad 4/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1312 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 65x13x1807 batch 3 A-bcast pad 4/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 13x4096x97 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0077 +ok: bf16 x f16^T -> bf16 513x1021x13 batch 1 pad 0/4/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9433 +ok: f32 x f32 -> f32 1025x32x97 batch 1 pad 0/0/2 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 32800 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0103 +ok: e4m3^T x e4m3 -> f16 2x4095x8 batch 1 pad 4/0/0 alpha 1.86265e-09 beta 0 block-scale edge 0 blocks 16/7/16: OK route native core calls 1 host-fixed 0, 8190 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8944 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 2x4095x8 batch 1 pad 4/0/0 alpha 1.86265e-09 beta 0 block-scale edge 0 blocks 16/7/16: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2 -> f32 8x13x15 batch 1 pad 0/0/7 alpha -0.5 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0276 +ok: bf16 x bf16^T -> f32 17x251x128 batch 1 pad 0/1/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 4267 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0648 +ok: chip core == host-model core, bit for bit: bf16 x bf16^T -> f32 17x251x128 batch 1 pad 0/1/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 32x15x16383 batch 1 pad 0/4/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: e4m3 x e4m3^T -> f32 1x1x1 batch 1 pad 1/0/5 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 1x1x1 batch 1 pad 1/0/5 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2 x e5m2 -> f16 129x1023x129 batch 1 pad 0/0/0 alpha 1.49012e-08 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8742 +ok: bf16 x e4m3^T -> f16 1x32x16383 batch 3 pad 0/0/0 alpha 6.40284e-10 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 96 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9542 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f16 1x32x16383 batch 3 pad 0/0/0 alpha 6.40284e-10 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> f32 8x4095x257 batch 2 B-bcast pad 0/1/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0404 +ok: f32 x f32 -> bf16 1000x16x251 batch 1 pad 2/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 16000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9434 +ok: f32 x f32^T -> f32 1x255x1 batch 1 pad 1/0/0 alpha -0.5 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 255 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6259 +ok: f32^T x bf16^T -> f32 17x5000x2 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 85000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9468 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f32 17x5000x2 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16^T -> f32 1x1x1 batch 1 pad 0/6/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: f32 x f32 -> f32 31x1023x3 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 31713 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0299 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 31x1023x3 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 64x8x16383 batch 2 pad 0/0/0 alpha 1 beta 0 block-scale edge 0 blocks 100/100/32: OK route native core calls 1024 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: e4m3 x e5m2^T -> f32 4095x7x64 batch 2 A-bcast B-bcast pad 0/0/3 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 57330 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0545 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 4095x7x64 batch 2 A-bcast B-bcast pad 0/0/3 alpha 1 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 128x15x5 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1920 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5343 +ok: f16^T x f16^T -> bf16 256x255x64 batch 3 A-bcast pad 0/0/2 alpha -0.5 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9678 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> bf16 256x255x64 batch 3 A-bcast pad 0/0/2 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 5000x15x97 batch 2 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0166 +ok: e5m2^T x e5m2 -> bf16 1021x127x7 batch 3 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 389001 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9942 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> bf16 1021x127x7 batch 3 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> f16 2x1025x65 batch 3 A-bcast B-bcast pad 0/1/0 alpha 2.98023e-08 beta 0 edge 0: OK route widen core calls 3 host-fixed 0, 6150 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8821 +ok: f16 x e5m2^T -> f32 1x1x16384 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0015 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 1x1x16384 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 1x1x1 batch 1 pad 6/0/3 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0011 +ok: f32^T x f32^T -> f32 32x16x97 batch 1 pad 3/1/6 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 512 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5712 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 32x16x97 batch 1 pad 3/1/6 alpha 2.75 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x bf16^T -> f32 65x2x1808 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 130 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0013 +ok: bf16 x f16^T -> f32 5000x1x251 batch 1 pad 0/7/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 5000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0054 +ok: chip core == host-model core, bit for bit: bf16 x f16^T -> f32 5000x1x251 batch 1 pad 0/7/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 129x128x128 batch 1 pad 0/0/5 alpha -0.5 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 16512 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0070 +ok: e4m3^T x e4m3 -> f16 257x1x1023 batch 1 pad 5/0/0 alpha 1.45519e-11 beta 0 block-scale edge 0 blocks 128/1/32: OK route native core calls 32 host-fixed 0, 257 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5456 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f16 257x1x1023 batch 1 pad 5/0/0 alpha 1.45519e-11 beta 0 block-scale edge 0 blocks 128/1/32: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2^T -> bf16 4097x32x65 batch 1 pad 0/0/2 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9658 +ok: bf16^T x bf16^T -> f32 1x1x1 batch 1 pad 0/4/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 1 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 1x1x1 batch 1 pad 0/4/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f16 3x31x1025 batch 1 pad 0/0/0 alpha -9.31323e-10 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 93 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9460 +ok: e4m3 x e4m3^T -> f32 13x65x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0031 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> f32 13x65x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f32 4095x15x256 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0283 +ok: bf16^T x e4m3 -> f32 33x129x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 4257 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0000 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 33x129x1 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f32 64x3x32 batch 1 pad 0/0/3 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0414 +ok: f32^T x f32 -> f32 5000x33x16 batch 1 pad 0/3/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 165000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0112 +ok: f32^T x f32^T -> f32 251x1000x3 batch 1 pad 7/0/5 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 251000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9153 +ok: f32^T x bf16^T -> f16 509x17x33 batch 1 pad 0/5/0 alpha 5.96046e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 8653 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8983 +ok: chip core == host-model core, bit for bit: f32^T x bf16^T -> f16 509x17x33 batch 1 pad 0/5/0 alpha 5.96046e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f32 32x13x1808 batch 1 pad 0/3/0 alpha 2.75 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 416 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0016 +ok: f32^T x f32^T -> f32 4095x5x7 batch 1 pad 2/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 20475 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0342 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 4095x5x7 batch 1 pad 2/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 5x128x97 batch 1 pad 7/2/0 alpha 1 beta -1.5 block-scale edge 0 blocks 16/100/16: OK route native core calls 7 host-fixed 0, 640 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0069 +ok: e4m3 x e5m2^T -> f32 2x33x16384 batch 3 B-bcast pad 0/1/0 alpha -0.5 beta 1 tensor-scale edge 0: OK route widen core calls 3 host-fixed 0, 198 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0038 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 2x33x16384 batch 3 B-bcast pad 0/1/0 alpha -0.5 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 5000x8x63 batch 1 pad 0/5/0 alpha 1 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 40000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0691 +ok: f16^T x f16^T -> f32 32x1021x127 batch 1 pad 0/0/6 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 32672 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0666 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> f32 32x1021x127 batch 1 pad 0/0/6 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> f32 65x31x1021 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 2015 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0115 +ok: e5m2 x e5m2^T -> f32 32x7x16385 batch 1 pad 0/0/2 alpha 2.75 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 224 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f32 32x7x16385 batch 1 pad 0/0/2 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f32 1x1x1 batch 3 pad 0/2/6 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0228 +ok: f16 x e5m2 -> f32 511x251x1023 batch 1 pad 0/4/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0193 +ok: f32^T x f32 -> f32 33x65x1809 batch 1 pad 0/5/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 2145 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0015 +ok: f32^T x f32 -> bf16 2x5000x257 batch 1 pad 0/5/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 2 host-fixed 0, 10000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4326 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> bf16 2x5000x257 batch 1 pad 0/5/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f32 7x1023x1 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 7161 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0056 +ok: bf16 x f16 -> f16 13x33x31 batch 1 pad 0/0/0 alpha 1.19209e-07 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 429 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9414 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f16 13x33x31 batch 1 pad 0/0/0 alpha 1.19209e-07 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 5x4097x7 batch 1 pad 0/0/0 alpha 1 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 20485 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4002 +ok: e4m3 x e4m3 -> bf16 33x16x2 batch 1 pad 4/0/5 alpha 1 beta 0 block-scale edge 0 blocks 7/1/32: OK route native core calls 1 host-fixed 0, 528 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9504 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> bf16 33x16x2 batch 1 pad 4/0/5 alpha 1 beta 0 block-scale edge 0 blocks 7/1/32: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f16 97x255x33 batch 1 pad 2/0/0 alpha 5.96046e-08 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 24735 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9762 +ok: bf16^T x bf16^T -> f32 15x65x16385 batch 1 pad 1/0/1 alpha 1 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 15x65x16385 batch 1 pad 1/0/1 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16^T -> f32 32x5000x257 batch 1 pad 0/7/5 alpha -0.5 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0444 +ok: e4m3 x e4m3^T -> bf16 513x1025x63 batch 2 pad 5/0/0 alpha 1 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9476 +ok: e5m2 x e5m2 -> f32 65x63x16385 batch 1 pad 0/2/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0046 +ok: bf16^T x e4m3 -> f32 3x4097x97 batch 1 pad 3/0/0 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 12291 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0506 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 3x4097x97 batch 1 pad 3/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2 -> f32 8x15x65 batch 2 B-bcast pad 0/0/6 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 240 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0319 +ok: f32 x f32^T -> bf16 15x251x511 batch 2 pad 0/0/5 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 7530 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8688 +ok: f32^T x f32^T -> bf16 17x1x1809 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 17 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0869 +ok: f32^T x bf16 -> f16 33x5000x97 batch 1 pad 5/1/0 alpha 8.19564e-08 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9795 +ok: bf16 x f16 -> f32 127x1025x1000 batch 3 A-bcast B-bcast pad 0/2/7 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0028 +ok: f32^T x f32 -> f16 8x65x16385 batch 1 pad 6/7/0 alpha 3.20142e-10 beta 0 FFMA_REF edge 0: OK route ffma core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0046 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 8x65x16385 batch 1 pad 6/7/0 alpha 3.20142e-10 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 5x4097x17 batch 2 A-bcast pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 128/1/32: OK route native core calls 4 host-fixed 0, 40970 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2974 +ok: e4m3 x e5m2^T -> f32 1000x16x1021 batch 1 pad 6/0/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0167 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 1000x16x1021 batch 1 pad 6/0/0 alpha 2.75 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 1023x256x16 batch 3 A-bcast pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0530 +ok: f16^T x f16 -> f32 2x13x16385 batch 2 B-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK route native core calls 4 host-fixed 0, 52 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: chip core == host-model core, bit for bit: f16^T x f16 -> f32 2x13x16385 batch 2 B-bcast pad 0/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> f32 7x128x1023 batch 1 pad 2/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 896 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0084 +ok: e5m2 x e5m2 -> bf16 16x1x17 batch 1 pad 6/0/4 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 16 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8666 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2 -> bf16 16x1x17 batch 1 pad 6/0/4 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x e4m3 -> f32 31x65x16385 batch 1 pad 3/2/0 alpha 1 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: f16 x e5m2 -> bf16 32x4097x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 2 host-fixed 0, 131104 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9947 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> bf16 32x4097x2 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 128x31x32 batch 2 pad 0/3/6 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 7936 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9738 +ok: f32^T x f32^T -> f32 251x257x255 batch 1 pad 1/2/3 alpha -0.5 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3497 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 251x257x255 batch 1 pad 1/2/3 alpha -0.5 beta 1 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> bf16 4096x13x257 batch 1 pad 3/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8822 +ok: bf16^T x f16 -> f32 1021x129x33 batch 2 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0109 +ok: f32^T x f32 -> f32 1025x2x257 batch 1 pad 0/0/6 alpha 1 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 2050 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0036 +ok: e4m3 x e4m3^T -> f32 64x16x20000 batch 2 pad 0/0/2 alpha 1 beta -1.5 block-scale edge 0 blocks 1/100/100: OK route native core calls 400 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: e4m3^T x e5m2 -> f32 5000x5x2 batch 3 B-bcast pad 0/4/0 alpha 2.75 beta 1 tensor-scale edge 0: OK route widen core calls 6 host-fixed 0, 75000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9324 +ok: bf16^T x bf16^T -> f32 17x17x509 batch 1 pad 0/2/5 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 289 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0201 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> f32 17x17x509 batch 1 pad 0/2/5 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> bf16 32x8x20000 batch 2 pad 5/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1973 +ok: e4m3 x e4m3 -> f32 4097x17x257 batch 1 pad 0/0/7 alpha 1 beta 1 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0139 +ok: e5m2^T x e5m2 -> f32 129x128x511 batch 1 pad 3/0/0 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0254 +ok: bf16^T x e4m3 -> f32 255x2x8 batch 1 pad 1/0/1 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 510 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0281 +ok: chip core == host-model core, bit for bit: bf16^T x e4m3 -> f32 255x2x8 batch 1 pad 1/0/1 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x e5m2 -> f16 13x63x20000 batch 2 pad 0/0/0 alpha 1.16415e-10 beta 0 edge 0: OK route widen core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0488 +ok: f32^T x f32^T -> f16 1000x1021x1000 batch 1 pad 0/0/2 alpha 1.02445e-08 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9716 +ok: f32^T x f32^T -> bf16 1x31x15 batch 3 pad 3/0/4 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 93 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5395 +ok: f32 x bf16^T -> bf16 8x3x3617 batch 3 B-bcast pad 0/3/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 9 host-fixed 0, 72 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2843 +ok: chip core == host-model core, bit for bit: f32 x bf16^T -> bf16 8x3x3617 batch 3 B-bcast pad 0/3/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16 -> f16 4097x3x255 batch 1 pad 0/0/0 alpha 1.49012e-08 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 12291 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9676 +ok: f32^T x f32 -> f32 31x251x16 batch 1 pad 0/1/4 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 7781 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0244 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 31x251x16 batch 1 pad 0/1/4 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> f32 33x3x129 batch 1 pad 0/3/0 alpha 1 beta 0 block-scale edge 0 blocks 1/100/128: OK route native core calls 2 host-fixed 0, 99 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0131 +ok: e4m3^T x e5m2 -> f16 8x33x20000 batch 3 B-bcast pad 0/0/0 alpha 1.16415e-10 beta 0 tensor-scale edge 0: OK route widen core calls 6 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0437 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2 -> f16 8x33x20000 batch 3 B-bcast pad 0/0/0 alpha 1.16415e-10 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f32 251x1023x32 batch 3 A-bcast pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0478 +ok: f16^T x f16^T -> bf16 256x32x256 batch 1 pad 0/0/6 alpha 2.75 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 8192 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9633 +ok: chip core == host-model core, bit for bit: f16^T x f16^T -> bf16 256x32x256 batch 1 pad 0/0/6 alpha 2.75 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 17x32x20000 batch 1 pad 0/5/0 alpha 1 beta 0 edge 0: OK route native core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0014 +ok: e5m2^T x e5m2^T -> f32 4097x3x1 batch 2 pad 0/4/0 alpha 1 beta 1 edge 0: OK route widen core calls 4 host-fixed 0, 24582 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9846 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2^T -> f32 4097x3x1 batch 2 pad 0/4/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3 -> f32 2x255x257 batch 3 pad 0/0/4 alpha -0.5 beta 1 edge 0: OK route widen core calls 3 host-fixed 0, 1530 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0361 +ok: f16^T x e5m2 -> bf16 32x15x20000 batch 1 pad 3/6/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2966 +ok: chip core == host-model core, bit for bit: f16^T x e5m2 -> bf16 32x15x20000 batch 1 pad 3/6/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 4096x1x33 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 4096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0079 +ok: f32^T x f32^T -> bf16 32x1025x511 batch 3 pad 6/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2863 +ok: f32^T x bf16 -> f16 63x63x8 batch 3 A-bcast pad 5/0/0 alpha 1.3113e-06 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 11907 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9335 +ok: bf16 x f16^T -> f32 7x5x3617 batch 2 A-bcast pad 2/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 6 host-fixed 0, 70 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0004 +ok: chip core == host-model core, bit for bit: bf16 x f16^T -> f32 7x5x3617 batch 2 A-bcast pad 2/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> bf16 255x15x513 batch 3 pad 0/1/0 alpha 2.75 beta 1 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7980 +ok: e4m3 x e4m3 -> f32 257x251x13 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/1/100: OK route native core calls 1 host-fixed 0, 64507 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.3174 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 257x251x13 batch 1 pad 0/0/0 alpha 1 beta 1 block-scale edge 0 blocks 1/1/100: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e5m2 -> f32 31x17x16383 batch 1 pad 2/1/0 alpha 2.75 beta -1.5 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: bf16^T x bf16 -> f32 31x4096x127 batch 1 pad 0/5/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0425 +ok: chip core == host-model core, bit for bit: bf16^T x bf16 -> f32 31x4096x127 batch 1 pad 0/5/0 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x f16^T -> f32 3x1025x15 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 3075 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0360 +ok: e4m3 x e4m3 -> f32 13x33x128 batch 1 pad 0/3/5 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 429 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0162 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 13x33x128 batch 1 pad 0/3/5 alpha 1 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2^T -> f32 7x2x16383 batch 1 pad 6/3/0 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 14 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0025 +ok: bf16 x e4m3 -> f32 33x16x17 batch 1 pad 0/7/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 528 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0406 +ok: chip core == host-model core, bit for bit: bf16 x e4m3 -> f32 33x16x17 batch 1 pad 0/7/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> bf16 64x256x129 batch 1 pad 0/0/7 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16384 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9914 +ok: f32^T x f32^T -> f32 3x5x1807 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 15 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0010 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 3x5x1807 batch 1 pad 0/0/0 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 32x4096x31 batch 1 pad 5/0/2 alpha 1 beta 1 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 131072 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8096 +ok: f32 x bf16 -> f32 509x1x255 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 509 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0045 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f32 509x1x255 batch 1 pad 7/0/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x f16 -> bf16 1021x63x2 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 64323 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9896 +ok: f32^T x f32^T -> bf16 3x4095x5 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK route ffma core calls 3 host-fixed 0, 36855 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9936 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> bf16 3x4095x5 batch 3 pad 0/0/0 alpha 2.75 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 5x17x256 batch 1 pad 0/0/0 alpha 2.75 beta 0 block-scale edge 0 blocks 128/100/32: OK route native core calls 8 host-fixed 0, 85 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0049 +ok: e4m3 x e5m2^T -> f32 8x257x3 batch 1 pad 2/7/4 alpha -0.5 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 2056 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0312 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> f32 8x257x3 batch 1 pad 2/7/4 alpha -0.5 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 8x33x16383 batch 1 pad 0/0/0 alpha -0.5 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: f16 x f16^T -> f32 63x129x257 batch 1 pad 0/1/0 alpha -0.5 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 8127 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0493 +ok: chip core == host-model core, bit for bit: f16 x f16^T -> f32 63x129x257 batch 1 pad 0/1/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> bf16 65x2x5 batch 1 pad 0/0/2 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 130 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9162 +ok: e5m2 x e5m2^T -> f16 1x64x16383 batch 1 pad 0/0/0 alpha -1.16415e-10 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 64 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0341 +ok: chip core == host-model core, bit for bit: e5m2 x e5m2^T -> f16 1x64x16383 batch 1 pad 0/0/0 alpha -1.16415e-10 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 32x4095x1 batch 3 A-bcast B-bcast pad 5/0/0 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 3 host-fixed 0, 393120 checked, 0 wrong, 0 untouched changed, max |err| / bound 1.0000 +ok: f16 x e5m2^T -> f32 511x32x8 batch 1 pad 0/0/6 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 16352 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0283 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 511x32x8 batch 1 pad 0/0/6 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32^T -> f32 1023x509x65 batch 1 pad 0/7/2 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0074 +ok: f32^T x f32 -> f32 7x17x1807 batch 2 B-bcast pad 0/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 2 host-fixed 0, 238 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1083 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f32 7x17x1807 batch 2 B-bcast pad 0/1/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> bf16 7x128x13 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 896 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9428 +ok: bf16 x f16 -> f32 13x2x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 26 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0030 +ok: chip core == host-model core, bit for bit: bf16 x f16 -> f32 13x2x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32 -> f32 16x63x16383 batch 1 pad 0/2/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0001 +ok: e4m3 x e4m3 -> f16 13x4096x1 batch 1 pad 2/0/6 alpha 4.09782e-08 beta 1 block-scale edge 0 blocks 16/1/128: OK route native core calls 1 host-fixed 0, 53248 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9619 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f16 13x4096x1 batch 1 pad 2/0/6 alpha 4.09782e-08 beta 1 block-scale edge 0 blocks 16/1/128: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> f32 97x31x128 batch 1 pad 4/0/0 alpha 1 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 3007 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0443 +ok: bf16^T x bf16^T -> f32 251x257x1023 batch 1 pad 4/0/0 alpha -0.5 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0179 +ok: f16 x f16 -> f32 5x17x16384 batch 1 pad 4/4/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 85 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0035 +ok: e4m3^T x e4m3 -> f32 513x129x129 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0185 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3 -> f32 513x129x129 batch 1 pad 0/0/0 alpha 1 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 1025x3x1025 batch 1 pad 0/0/1 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 3075 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0195 +ok: bf16 x e4m3 -> f32 65x63x16384 batch 1 pad 0/0/4 alpha -0.5 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0037 +ok: f16^T x e5m2^T -> f16 8x1023x255 batch 1 pad 0/6/1 alpha 1.49012e-08 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 8184 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9970 +ok: f32^T x f32^T -> f32 15x32x2 batch 3 B-bcast pad 0/1/0 alpha 2.75 beta -1.5 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1440 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7446 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 15x32x2 batch 3 B-bcast pad 0/1/0 alpha 2.75 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 32x511x32 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 16352 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7143 +ok: f32^T x bf16 -> bf16 4095x3x251 batch 1 pad 6/0/0 alpha 1 beta 1 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 12285 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9299 +ok: bf16^T x f16 -> f16 127x255x3 batch 3 pad 0/0/7 alpha -4.76837e-07 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 97155 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9452 +ok: f32^T x f32 -> f16 255x5x63 batch 1 pad 0/0/0 alpha 5.96046e-08 beta 1 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 1275 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9450 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 255x5x63 batch 1 pad 0/0/0 alpha 5.96046e-08 beta 1 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3^T -> bf16 7x16x16384 batch 1 pad 3/0/0 alpha -0.5 beta 1 block-scale edge 0 blocks 16/7/128: OK route native core calls 128 host-fixed 0, 112 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4321 +ok: e4m3^T x e5m2^T -> f16 1000x1025x5 batch 1 pad 1/4/0 alpha 4.76837e-07 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7196 +ok: chip core == host-model core, bit for bit: e4m3^T x e5m2^T -> f16 1000x1025x5 batch 1 pad 1/4/0 alpha 4.76837e-07 beta 0 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x bf16^T -> f16 1023x63x64 batch 3 pad 6/0/0 alpha 1.63913e-07 beta -1.5 edge 0: OK route native core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9758 +ok: f16 x f16 -> f16 63x3x16384 batch 1 pad 0/6/7 alpha -1.16415e-10 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 189 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9440 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f16 63x3x16384 batch 1 pad 0/6/7 alpha -1.16415e-10 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3^T x e4m3 -> bf16 4095x13x129 batch 1 pad 6/0/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9732 +ok: e5m2^T x e5m2 -> bf16 16x256x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 4096 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9725 +ok: chip core == host-model core, bit for bit: e5m2^T x e5m2 -> bf16 16x256x127 batch 1 pad 0/2/0 alpha -0.5 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x e4m3^T -> f32 33x7x1021 batch 1 pad 1/0/0 alpha 2.75 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 231 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0140 +ok: f16 x e5m2 -> f32 1x32x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route widen core calls 1 host-fixed 0, 32 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0032 +ok: chip core == host-model core, bit for bit: f16 x e5m2 -> f32 1x32x16384 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> f32 128x1023x129 batch 1 pad 0/0/0 alpha -0.5 beta -1.5 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0065 +ok: f32^T x f32^T -> f32 256x33x1025 batch 1 pad 0/0/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.1813 +ok: chip core == host-model core, bit for bit: f32^T x f32^T -> f32 256x33x1025 batch 1 pad 0/0/0 alpha -0.5 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16^T -> f16 8x13x1808 batch 2 pad 2/0/0 alpha 1.86265e-09 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 208 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9651 +ok: bf16^T x f16 -> bf16 1021x16x251 batch 3 pad 1/0/5 alpha 1 beta 0 edge 0: OK route bf16x3 core calls 3 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8964 +ok: f32^T x f32 -> f32 1025x255x1 batch 1 pad 0/6/0 alpha 2.75 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 261375 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9999 +ok: e4m3^T x e4m3^T -> f16 5x7x32 batch 1 pad 0/3/0 alpha 4.65661e-10 beta 1 block-scale edge 0 blocks 1/7/16: OK route native core calls 2 host-fixed 0, 35 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.5230 +ok: chip core == host-model core, bit for bit: e4m3^T x e4m3^T -> f16 5x7x32 batch 1 pad 0/3/0 alpha 4.65661e-10 beta 1 block-scale edge 0 blocks 1/7/16: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2 -> bf16 17x32x16384 batch 1 pad 0/2/0 alpha 2.75 beta 0 tensor-scale edge 0: OK route widen core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4009 +ok: bf16^T x bf16^T -> bf16 17x1x2 batch 1 pad 3/7/3 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 17 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.6990 +ok: chip core == host-model core, bit for bit: bf16^T x bf16^T -> bf16 17x1x2 batch 1 pad 3/7/3 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f16^T x f16 -> bf16 63x63x33 batch 1 pad 0/0/0 alpha 2.75 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 3969 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9597 +ok: e4m3 x e4m3 -> f32 1x3x16384 batch 1 pad 0/7/0 alpha 1 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 3 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0004 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3 -> f32 1x3x16384 batch 1 pad 0/7/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e5m2^T x e5m2 -> f32 129x17x5 batch 1 pad 6/5/3 alpha 1 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 2193 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.8133 +ok: bf16 x e4m3^T -> f16 257x257x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 66049 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9987 +ok: chip core == host-model core, bit for bit: bf16 x e4m3^T -> f16 257x257x63 batch 1 pad 3/0/0 alpha 5.96046e-08 beta -1.5 edge 0: OK / OK, 0 differ (first element 0) +ok: f16 x e5m2^T -> f32 511x8x509 batch 1 pad 2/0/0 alpha 2.75 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 4088 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0393 +ok: f32^T x f32 -> f16 31x5000x3 batch 1 pad 0/0/0 alpha -4.76837e-07 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 155000 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9492 +ok: chip core == host-model core, bit for bit: f32^T x f32 -> f16 31x5000x3 batch 1 pad 0/0/0 alpha -4.76837e-07 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x f32 -> f32 1x2x65 batch 1 pad 0/7/7 alpha 2.75 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 2 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2025 +ok: f32 x bf16 -> f16 7x65x513 batch 1 pad 0/0/0 alpha 1.02445e-08 beta 0 edge 0: OK route bf16x3 core calls 1 host-fixed 0, 455 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4478 +ok: chip core == host-model core, bit for bit: f32 x bf16 -> f16 7x65x513 batch 1 pad 0/0/0 alpha 1.02445e-08 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: bf16^T x f16^T -> f32 3x2x1809 batch 3 pad 0/5/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 6 host-fixed 0, 18 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0013 +ok: f32 x f32 -> f32 31x31x97 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK route ffma core calls 1 host-fixed 0, 961 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0067 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 31x31x97 batch 1 pad 0/0/0 alpha 1 beta 0 FFMA_REF edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3^T -> f32 64x509x1000 batch 1 pad 0/0/0 alpha 1 beta -1.5 block-scale edge 0 blocks 100/100/16: OK route native core calls 63 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0007 +ok: e4m3 x e5m2^T -> bf16 16x17x16385 batch 1 pad 0/0/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.2822 +ok: chip core == host-model core, bit for bit: e4m3 x e5m2^T -> bf16 16x17x16385 batch 1 pad 0/0/0 alpha 1 beta 1 tensor-scale edge 0: OK / OK, 0 differ (first element 0) +ok: bf16 x bf16^T -> f32 251x251x128 batch 1 pad 0/0/0 alpha 1 beta -1.5 edge 0: OK route native core calls 1 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0484 +ok: f16 x f16 -> f32 256x3x1021 batch 3 pad 0/4/6 alpha 2.75 beta 0 edge 0: OK route native core calls 3 host-fixed 0, 2304 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0216 +ok: chip core == host-model core, bit for bit: f16 x f16 -> f32 256x3x1021 batch 3 pad 0/4/6 alpha 2.75 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: e4m3 x e4m3 -> bf16 513x64x16 batch 1 pad 0/0/3 alpha 2.75 beta 0 edge 0: OK route native core calls 1 host-fixed 0, 32832 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9925 +ok: e5m2^T x e5m2 -> f32 64x63x16385 batch 1 pad 0/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 2 host-fixed 0, 516 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0044 +ok: bf16 x e4m3^T -> f32 2x31x1025 batch 1 pad 7/1/0 alpha 2.75 beta -1.5 edge 0: OK route widen core calls 1 host-fixed 0, 62 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0124 +ok: f16 x e5m2^T -> f32 8x257x17 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK route widen core calls 1 host-fixed 0, 2056 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0393 +ok: chip core == host-model core, bit for bit: f16 x e5m2^T -> f32 8x257x17 batch 1 pad 4/0/0 alpha 1 beta 0 edge 0: OK / OK, 0 differ (first element 0) +ok: f32^T x f32^T -> bf16 5x33x1809 batch 1 pad 0/0/0 alpha -0.5 beta 1 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 165 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.4594 +ok: f32 x f32 -> f32 32x129x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK route fast_bf16 core calls 1 host-fixed 0, 4128 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.7966 +ok: chip core == host-model core, bit for bit: f32 x f32 -> f32 32x129x1 batch 1 pad 0/0/0 alpha 1 beta 0 FAST_BF16 edge 0: OK / OK, 0 differ (first element 0) +ok: f32 x bf16 -> f32 65x3x32 batch 2 pad 7/0/0 alpha 1 beta -1.5 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 390 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0074 +ok: bf16 x f16 -> f32 127x65x256 batch 2 A-bcast B-bcast pad 7/0/0 alpha -0.5 beta 0 edge 0: OK route bf16x3 core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0072 +ok: f32^T x f32 -> f16 13x5000x33 batch 3 A-bcast pad 0/5/4 alpha 1.63913e-07 beta -1.5 FFMA_REF edge 0: OK route ffma core calls 6 host-fixed 0, 1548 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9928 +ok: e4m3 x e4m3^T -> bf16 257x32x33 batch 3 A-bcast pad 0/5/5 alpha 1 beta -1.5 block-scale edge 0 blocks 100/128/100: OK route native core calls 3 host-fixed 0, 24672 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9925 +ok: chip core == host-model core, bit for bit: e4m3 x e4m3^T -> bf16 257x32x33 batch 3 A-bcast pad 0/5/5 alpha 1 beta -1.5 block-scale edge 0 blocks 100/128/100: OK / OK, 0 differ (first element 0) +ok: e4m3 x e5m2^T -> bf16 1000x511x257 batch 2 A-bcast pad 0/7/0 alpha 1 beta 1 tensor-scale edge 0: OK route widen core calls 2 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9580 +ok: bf16 x bf16^T -> f16 65x33x16385 batch 2 pad 0/0/5 alpha 1.16415e-10 beta 1 edge 0: OK route native core calls 4 host-fixed 0, 1032 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.9334 +ok: f16 x f16 -> f32 3x255x64 batch 2 pad 0/0/3 alpha 1 beta -1.5 edge 0: OK route native core calls 2 host-fixed 0, 1530 checked, 0 wrong, 0 untouched changed, max |err| / bound 0.0560 +sweep part 0/1: 600 cases (244 also bit for bit against the model core): PASS +route native: largest |got - ref| / bound = 0.9969 (passing elements) +route widen: largest |got - ref| / bound = 1.0000 (passing elements) +route bf16x3: largest |got - ref| / bound = 0.9995 (passing elements) +route fast_bf16: largest |got - ref| / bound = 0.9895 (passing elements) +route ffma: largest |got - ref| / bound = 0.9999 (passing elements) +gemm_ex chip: PASS (901 checks) diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-2/hold.log b/evidence/GEMM-GENERAL-AB-20261027/ab-2/hold.log new file mode 100644 index 00000000..d45ee220 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-2/hold.log @@ -0,0 +1,6 @@ +# ab-2 start 2026-10-27T08:45:34Z load 36.25 36.81 31.38 30/2141 370794 +# health before: {"busy":false,"concurrency":8,"engine":"omega-qwen36-batch","in_flight":0,"model":"qwen3.6-35b-a3b-fp8","status":"ok","uptime_s":17305} +# compute apps before: 79557, ./aien-serve-http; +# exit 0 end 2026-10-27T08:46:23Z +# health after: {"busy":false,"concurrency":8,"engine":"omega-qwen36-batch","in_flight":0,"model":"qwen3.6-35b-a3b-fp8","status":"ok","uptime_s":17355} +# compute apps after: 79557, ./aien-serve-http; diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-2/run.log b/evidence/GEMM-GENERAL-AB-20261027/ab-2/run.log new file mode 100644 index 00000000..b2e96e87 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-2/run.log @@ -0,0 +1,381 @@ +# spin_us 300000 +pair round=0 warm=True seq=0 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=112343289 wall_b_ns=162220564 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=1 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=87545371 wall_b_ns=88537059 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=2 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26442393 wall_b_ns=27646627 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=3 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6915973 wall_b_ns=7234759 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=4 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6718851 wall_b_ns=7135719 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=5 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1509660 wall_b_ns=1593500 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=6 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2426018 wall_b_ns=2356802 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=19906008 wall_b_ns=21705462 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=8 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9942780 wall_b_ns=11352342 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=9 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=16802096 wall_b_ns=22469643 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=10 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16294572 wall_b_ns=16777952 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=11 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12419967 wall_b_ns=12489855 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=12 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12783617 wall_b_ns=14332189 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=13 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64379546 wall_b_ns=66016839 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=14 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1257881 wall_b_ns=1667373 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=15 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84577364 wall_b_ns=86646276 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=16 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24508923 wall_b_ns=25960326 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=0 warm=True seq=17 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=916855 wall_b_ns=1233194 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=0 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1187353 wall_b_ns=1496011 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=1 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=19356900 wall_b_ns=21960487 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=84283427 wall_b_ns=84592916 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=3 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2000495 wall_b_ns=2472147 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=4 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=16830272 wall_b_ns=17453701 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=5 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15535207 wall_b_ns=16709759 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=6 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24688828 wall_b_ns=25948837 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26989470 wall_b_ns=37393981 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=8 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10393663 wall_b_ns=11142501 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=9 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=83047001 wall_b_ns=85844830 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=10 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1283002 wall_b_ns=1668188 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=11 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6714563 wall_b_ns=6995141 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=12 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=116082245 wall_b_ns=112823819 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=13 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1210714 wall_b_ns=966839 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=14 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11343063 wall_b_ns=12427695 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=15 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12481871 wall_b_ns=14134828 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=16 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6701091 wall_b_ns=7382920 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=1 warm=False seq=17 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=62879087 wall_b_ns=64673020 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=0 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23849974 wall_b_ns=25540882 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=1 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=111629122 wall_b_ns=114359368 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=2 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=65185185 wall_b_ns=68145575 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=3 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12542000 wall_b_ns=14192348 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6734963 wall_b_ns=7405880 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1972031 wall_b_ns=2502051 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=6 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84682294 wall_b_ns=87684764 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=7 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=16989777 wall_b_ns=17249332 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=8 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=83701214 wall_b_ns=87505867 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=9 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1177417 wall_b_ns=1014007 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=10 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10248831 wall_b_ns=10796898 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=11 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1342634 wall_b_ns=1663037 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=12 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11822874 wall_b_ns=12336734 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=13 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1180617 wall_b_ns=1501627 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=14 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20038313 wall_b_ns=21781142 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=15 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=15778536 wall_b_ns=16295052 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=16 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26640363 wall_b_ns=27804179 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=2 warm=False seq=17 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6640979 wall_b_ns=6948037 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=0 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84657253 wall_b_ns=89322616 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=1 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1239465 wall_b_ns=1620956 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=2 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1104745 wall_b_ns=982439 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=3 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=33944035 wall_b_ns=22395194 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=4 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=111369488 wall_b_ns=113923524 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=5 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12000827 wall_b_ns=13004147 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=6 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=11022420 wall_b_ns=11272310 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27193135 wall_b_ns=28629834 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=8 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17284292 wall_b_ns=17650166 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=9 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64749245 wall_b_ns=66100263 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=10 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6874420 wall_b_ns=7151126 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=11 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24034343 wall_b_ns=25578291 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=12 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15549063 wall_b_ns=16789615 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=13 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6704275 wall_b_ns=7199847 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=14 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13111811 wall_b_ns=13978123 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=15 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1558683 wall_b_ns=1429419 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=16 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2033903 wall_b_ns=2399954 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=3 warm=False seq=17 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84897334 wall_b_ns=86667796 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=0 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=66793020 wall_b_ns=81482061 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=1 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6720115 wall_b_ns=7280136 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=2 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1238809 wall_b_ns=1620812 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=3 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10673634 wall_b_ns=13372885 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=4 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15846889 wall_b_ns=16698671 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=5 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1572796 wall_b_ns=1444059 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=6 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11866571 wall_b_ns=12714848 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20504716 wall_b_ns=21939623 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=8 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84021248 wall_b_ns=88933237 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=9 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26734060 wall_b_ns=28855340 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=10 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=7507177 wall_b_ns=7449161 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=11 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=86247296 wall_b_ns=88719508 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=12 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2362914 wall_b_ns=2210433 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=13 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=111203743 wall_b_ns=113861923 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=14 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17131555 wall_b_ns=20798334 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=15 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24273449 wall_b_ns=26041878 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=16 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=929223 wall_b_ns=1230106 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=4 warm=False seq=17 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13316261 wall_b_ns=13946027 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=0 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11730377 wall_b_ns=12377054 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=1 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24382665 wall_b_ns=25655396 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=2 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9888539 wall_b_ns=11508680 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=3 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1327306 wall_b_ns=1670973 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=4 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85921854 wall_b_ns=86305041 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=5 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7420825 wall_b_ns=7227351 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=6 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16816624 wall_b_ns=16533998 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=7 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=85214825 wall_b_ns=86661268 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=8 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=111432817 wall_b_ns=112894155 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=9 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1210777 wall_b_ns=996711 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=10 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6761603 wall_b_ns=7045046 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=11 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2294529 wall_b_ns=2257873 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=12 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20027240 wall_b_ns=22063000 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=13 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26644459 wall_b_ns=28148038 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=14 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=68432153 wall_b_ns=73901314 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=15 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=16934081 wall_b_ns=17935913 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=16 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13035443 wall_b_ns=14197788 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=5 warm=False seq=17 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1245002 wall_b_ns=1616012 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=0 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1569084 wall_b_ns=1428523 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=1 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=949767 wall_b_ns=1276890 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=2 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2102864 wall_b_ns=2509491 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=3 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11912922 wall_b_ns=12787361 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7120662 wall_b_ns=7232055 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=5 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=111642034 wall_b_ns=113854658 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=6 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=25094687 wall_b_ns=25688068 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=19779126 wall_b_ns=25050495 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=8 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26235464 wall_b_ns=27999093 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=9 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64048519 wall_b_ns=65522435 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=10 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=16821792 wall_b_ns=17924248 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=11 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12657761 wall_b_ns=14273772 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=12 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1204169 wall_b_ns=1594460 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=13 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=83889454 wall_b_ns=94542656 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=14 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15746792 wall_b_ns=16868304 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=15 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6736532 wall_b_ns=7209414 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=16 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84262721 wall_b_ns=86995014 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=6 warm=False seq=17 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10295678 wall_b_ns=11168741 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=0 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6767699 wall_b_ns=7236023 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=1 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23954070 wall_b_ns=25403154 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=2 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=84066992 wall_b_ns=85067064 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=3 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11780746 wall_b_ns=13930458 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=1 +pair round=7 warm=False seq=4 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=110242023 wall_b_ns=116315893 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=5 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17191763 wall_b_ns=17586198 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=6 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1574812 wall_b_ns=1356298 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=7 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1474795 wall_b_ns=1283098 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=8 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=19777799 wall_b_ns=21931703 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=9 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12673664 wall_b_ns=14290189 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=10 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64083320 wall_b_ns=65356097 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=11 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=918663 wall_b_ns=1251034 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=12 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=86324881 wall_b_ns=91054677 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=13 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11666697 wall_b_ns=12118364 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=14 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10733458 wall_b_ns=10965443 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=15 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26458634 wall_b_ns=27438304 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=16 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=15741736 wall_b_ns=16655359 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=7 warm=False seq=17 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1965775 wall_b_ns=2462851 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=0 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=16714255 wall_b_ns=17647766 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=1 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24625611 wall_b_ns=25287953 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=2 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64493130 wall_b_ns=65126848 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=3 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12085148 wall_b_ns=12973699 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=4 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9987596 wall_b_ns=11219093 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2323937 wall_b_ns=2227329 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=6 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1535579 wall_b_ns=1437723 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=7 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84623379 wall_b_ns=85328378 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=8 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15715207 wall_b_ns=16638047 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=9 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1248297 wall_b_ns=1003512 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=10 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=115348077 wall_b_ns=123355131 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=11 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26340649 wall_b_ns=28044133 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=12 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6713619 wall_b_ns=7539290 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=13 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1515692 wall_b_ns=1352650 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=14 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6653795 wall_b_ns=7038101 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=15 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12550896 wall_b_ns=14847361 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=16 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=85405082 wall_b_ns=87327704 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=8 warm=False seq=17 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20766814 wall_b_ns=23321809 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=0 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1497339 wall_b_ns=1400859 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=1 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=86120048 wall_b_ns=90695537 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=2 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2117856 wall_b_ns=2561316 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=3 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=84358802 wall_b_ns=86740196 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7116999 wall_b_ns=7491433 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=5 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20499628 wall_b_ns=22049512 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=6 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=36638806 wall_b_ns=49350408 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=1 +pair round=9 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27287472 wall_b_ns=27928628 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=8 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64277705 wall_b_ns=65519923 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=7007430 wall_b_ns=7283927 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=10 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10187693 wall_b_ns=11022804 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=11 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11559080 wall_b_ns=12200092 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=12 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1266089 wall_b_ns=1602572 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=13 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12650080 wall_b_ns=13994490 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=14 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=111656273 wall_b_ns=112607705 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=15 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16022058 wall_b_ns=16840304 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=16 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17356228 wall_b_ns=17781591 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=9 warm=False seq=17 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1168840 wall_b_ns=954312 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=0 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=65180159 wall_b_ns=65860021 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=1 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=110125685 wall_b_ns=113694465 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85617051 wall_b_ns=86532594 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=3 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11473559 wall_b_ns=12529583 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=4 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12775553 wall_b_ns=14380525 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2333138 wall_b_ns=2317522 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=6 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6779731 wall_b_ns=7562122 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=19913447 wall_b_ns=22499339 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=8 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17325316 wall_b_ns=17772775 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=9 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26836652 wall_b_ns=28083830 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=10 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=86013182 wall_b_ns=87546410 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=11 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10153101 wall_b_ns=11436007 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=12 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24895550 wall_b_ns=25939989 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=13 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=15969657 wall_b_ns=16493070 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=14 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=953863 wall_b_ns=1242970 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=15 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1608972 wall_b_ns=1441499 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=16 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1246697 wall_b_ns=1570796 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=10 warm=False seq=17 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6756195 wall_b_ns=7582330 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=0 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=15980042 wall_b_ns=16544222 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=1 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6886436 wall_b_ns=16978737 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=83252889 wall_b_ns=88834019 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=3 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2066335 wall_b_ns=2512883 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=4 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=12679744 wall_b_ns=14068699 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=5 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11346871 wall_b_ns=12527055 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=6 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20355019 wall_b_ns=22118952 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=7 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17067346 wall_b_ns=17459429 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=8 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1218377 wall_b_ns=1598204 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6406097 wall_b_ns=7408200 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=10 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84555059 wall_b_ns=88740434 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=11 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1161705 wall_b_ns=962407 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=12 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=67245407 wall_b_ns=64824365 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=13 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=10287934 wall_b_ns=10999124 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=14 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26576010 wall_b_ns=28674074 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=15 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=23835989 wall_b_ns=25401713 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=16 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=113636304 wall_b_ns=117332523 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=11 warm=False seq=17 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1604300 wall_b_ns=1438619 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=0 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=112450535 wall_b_ns=120317091 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=1 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13085300 wall_b_ns=14040138 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=2 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26856204 wall_b_ns=27915908 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=3 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6999718 wall_b_ns=7051317 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=4 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16266860 wall_b_ns=17108290 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=5 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1429867 wall_b_ns=1720989 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=6 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9943404 wall_b_ns=11201797 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20057801 wall_b_ns=22441322 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=8 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2378818 wall_b_ns=2267137 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=9 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1600508 wall_b_ns=1435291 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=10 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=63416226 wall_b_ns=64915454 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=11 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=25415201 wall_b_ns=25734308 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=12 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11740361 wall_b_ns=12492943 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=13 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=909175 wall_b_ns=1219321 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=14 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=84531554 wall_b_ns=86635235 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=15 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17915368 wall_b_ns=17881480 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=16 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6473841 wall_b_ns=7474057 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=12 warm=False seq=17 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85711307 wall_b_ns=85721932 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=0 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=85282856 wall_b_ns=86846484 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=1 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17273139 wall_b_ns=17719463 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=2 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1531051 wall_b_ns=1365179 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=3 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1588380 wall_b_ns=1383659 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=4 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=878822 wall_b_ns=1215530 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=5 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=64211576 wall_b_ns=64843533 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=6 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=112296661 wall_b_ns=115372509 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26624362 wall_b_ns=28177286 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=8 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10081581 wall_b_ns=11365622 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=9 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=87688011 wall_b_ns=87664906 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=10 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7374760 wall_b_ns=7427833 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=11 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20465436 wall_b_ns=22620427 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=12 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16147723 wall_b_ns=16863456 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=13 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2031664 wall_b_ns=2609204 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=14 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11929339 wall_b_ns=12873634 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=15 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6598834 wall_b_ns=13177956 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=16 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=25168719 wall_b_ns=25521890 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=13 warm=False seq=17 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13371190 wall_b_ns=14498638 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=0 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13256549 wall_b_ns=15021778 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=1 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12331038 wall_b_ns=12855314 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=2 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1248585 wall_b_ns=1085737 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=3 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=16998049 wall_b_ns=18102506 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=4 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16120187 wall_b_ns=17281587 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=5 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9951723 wall_b_ns=11172965 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=6 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6469777 wall_b_ns=7454649 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=22423242 wall_b_ns=22209849 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=8 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=113083564 wall_b_ns=114825000 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=9 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84390817 wall_b_ns=87155798 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=10 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1235817 wall_b_ns=1816846 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=11 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1347306 wall_b_ns=1681981 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=12 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=85644875 wall_b_ns=86590114 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=13 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2342450 wall_b_ns=2237585 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=14 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23856645 wall_b_ns=25683427 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=15 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26840780 wall_b_ns=28245606 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=16 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6968597 wall_b_ns=7120790 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=14 warm=False seq=17 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64215351 wall_b_ns=68759851 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=0 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23819557 wall_b_ns=25548642 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=1 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2037424 wall_b_ns=2567379 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=2 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=85072022 wall_b_ns=85705755 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=3 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1173817 wall_b_ns=1636253 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=4 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=6931781 wall_b_ns=7412120 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=5 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=85364361 wall_b_ns=86224031 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=6 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1345002 wall_b_ns=1726349 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=7 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15717799 wall_b_ns=16779807 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=8 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=931127 wall_b_ns=1216826 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=6979733 wall_b_ns=7304247 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=10 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=112101652 wall_b_ns=115656462 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=11 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=39900335 wall_b_ns=28142517 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=12 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17551573 wall_b_ns=17884552 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=13 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12318830 wall_b_ns=12787041 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=14 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=21006928 wall_b_ns=23286353 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=15 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=14039963 wall_b_ns=14350861 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=16 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=65104430 wall_b_ns=66411881 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=15 warm=False seq=17 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9900524 wall_b_ns=11404406 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=0 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=88352766 wall_b_ns=85671195 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=1 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1183945 wall_b_ns=1592636 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=2 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12001371 wall_b_ns=12447134 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=3 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=63233344 wall_b_ns=65545458 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=4 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6426720 wall_b_ns=7460393 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=5 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=896663 wall_b_ns=1218489 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=6 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=112253397 wall_b_ns=112364085 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=21440850 wall_b_ns=22412491 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=8 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17322259 wall_b_ns=17875672 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=9 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=27124447 wall_b_ns=28166821 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=10 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=16307372 wall_b_ns=16996001 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=11 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13351381 wall_b_ns=14100891 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=12 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10287262 wall_b_ns=11454791 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=13 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24137415 wall_b_ns=25799300 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=14 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=2430674 wall_b_ns=1461595 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=15 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6923365 wall_b_ns=7698922 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=16 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=86511745 wall_b_ns=88631393 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=16 warm=False seq=17 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2509059 wall_b_ns=2334642 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=0 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=16583262 wall_b_ns=18170266 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=1 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16430316 wall_b_ns=16878160 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=2 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1645389 wall_b_ns=1329418 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=3 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13135524 wall_b_ns=14298205 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=4 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=110079572 wall_b_ns=115636926 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=5 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=84619907 wall_b_ns=86934676 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=6 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84213488 wall_b_ns=87430024 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=7 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7012613 wall_b_ns=7124134 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=8 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=11835082 wall_b_ns=13657176 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=9 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6549490 wall_b_ns=7486217 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=10 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=27317520 wall_b_ns=26430664 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=11 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10104221 wall_b_ns=11626472 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=12 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27010622 wall_b_ns=34486229 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=13 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=65559634 wall_b_ns=66923724 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=14 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2007759 wall_b_ns=2557412 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=15 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=961191 wall_b_ns=1310730 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=16 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1526843 wall_b_ns=1438811 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=17 warm=False seq=17 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=19771574 wall_b_ns=22178489 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=0 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=9913899 wall_b_ns=11372007 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=1 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=16127754 wall_b_ns=16548894 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=2 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6639235 wall_b_ns=7621850 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=3 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23986870 wall_b_ns=26277720 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=4 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1510635 wall_b_ns=1375515 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=5 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=17068689 wall_b_ns=18235307 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=6 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=111098523 wall_b_ns=121902110 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=7 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=21145936 wall_b_ns=21989607 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=8 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=64174423 wall_b_ns=67518704 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=9 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=2344098 wall_b_ns=2265010 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=10 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1552860 wall_b_ns=1421707 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=11 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=84631394 wall_b_ns=86971253 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=12 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=86284159 wall_b_ns=87937419 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=13 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=7070150 wall_b_ns=7328663 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=14 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=26921533 wall_b_ns=28526552 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=15 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12258605 wall_b_ns=13178100 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=16 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13005555 wall_b_ns=14669071 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=18 warm=False seq=17 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1508844 wall_b_ns=1048040 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=0 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=20301227 wall_b_ns=22680860 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=1 type=bf16 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1310554 wall_b_ns=1863039 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=2 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=84755155 wall_b_ns=88193933 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=3 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=B rc_a=OK rc_b=OK wall_a_ns=1010199 wall_b_ns=1512988 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=4 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=24408729 wall_b_ns=26024374 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=5 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2213985 wall_b_ns=2786293 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=6 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=65929972 wall_b_ns=67716738 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=7 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=27520465 wall_b_ns=28500808 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=8 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=1184073 wall_b_ns=1769933 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=9 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=A rc_a=OK rc_b=OK wall_a_ns=13338869 wall_b_ns=17658391 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=10 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6787796 wall_b_ns=7843148 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=11 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12318542 wall_b_ns=12898434 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=12 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=110040211 wall_b_ns=113380973 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=13 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=15937417 wall_b_ns=16848960 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=14 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=83873820 wall_b_ns=86058813 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=15 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=17039761 wall_b_ns=18235066 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=16 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=10586656 wall_b_ns=12374686 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=19 warm=False seq=17 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=B rc_a=OK rc_b=OK wall_a_ns=6876581 wall_b_ns=7376856 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=0 type=bf16 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=13096084 wall_b_ns=14399885 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=1 type=bf16 M=2048 N=2048 K=4096 tag="out_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=43195528 wall_b_ns=28323975 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=2 type=e4m3 M=2048 N=16384 K=2048 tag="lm_head slice" first=B rc_a=OK rc_b=OK wall_a_ns=87344439 wall_b_ns=87924236 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=3 type=e4m3 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=2649300 wall_b_ns=5436010 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=1 +pair round=20 warm=False seq=4 type=e4m3 M=2048 N=2048 K=4096 tag="out_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=26478713 wall_b_ns=28499656 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=1 +pair round=20 warm=False seq=5 type=e4m3 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=12548591 wall_b_ns=14569311 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=1 if_after=1 +pair round=20 warm=False seq=6 type=bf16 M=64 N=1024 K=2048 tag="expert gate+up" first=B rc_a=OK rc_b=OK wall_a_ns=2031728 wall_b_ns=2669172 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=7 type=e4m3 M=64 N=1024 K=2048 tag="expert gate+up" first=A rc_a=OK rc_b=OK wall_a_ns=1485916 wall_b_ns=1351258 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=8 type=bf16 M=2048 N=16384 K=2048 tag="lm_head slice" first=A rc_a=OK rc_b=OK wall_a_ns=111081019 wall_b_ns=113783967 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=9 type=bf16 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=B rc_a=OK rc_b=OK wall_a_ns=83720747 wall_b_ns=89795898 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=10 type=bf16 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=A rc_a=OK rc_b=OK wall_a_ns=20420507 wall_b_ns=22552011 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=11 type=e4m3 M=2048 N=12288 K=2048 tag="gdn in_proj p2048" first=A rc_a=OK rc_b=OK wall_a_ns=67874291 wall_b_ns=66078357 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=12 type=bf16 M=512 N=2048 K=4096 tag="o_proj p512" first=A rc_a=OK rc_b=OK wall_a_ns=11838090 wall_b_ns=12476943 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=13 type=e4m3 M=1 N=8192 K=2048 tag="q+gate decode" first=B rc_a=OK rc_b=OK wall_a_ns=6660435 wall_b_ns=7478392 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=14 type=bf16 M=512 N=8192 K=2048 tag="q+gate p512" first=A rc_a=OK rc_b=OK wall_a_ns=24768668 wall_b_ns=25122767 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=15 type=e4m3 M=16 N=12288 K=2048 tag="gdn in_proj b16" first=B rc_a=OK rc_b=OK wall_a_ns=11319254 wall_b_ns=11166053 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=16 type=e4m3 M=512 N=8192 K=2048 tag="q+gate p512" first=B rc_a=OK rc_b=OK wall_a_ns=23879558 wall_b_ns=18709422 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +pair round=20 warm=False seq=17 type=bf16 M=64 N=2048 K=512 tag="expert down" first=A rc_a=OK rc_b=OK wall_a_ns=1633676 wall_b_ns=1502908 route_b=1 core_calls_b=1 host_fixed_b=0 bitwise=1 ref_bad=0 gate=PASS if_before=0 if_after=0 +control mutant=1 cell="expert down" rc_a=OK rc_b=OK bitwise=0 ref_bad_a=0 ref_bad_b=59 verdict=RED (expected) +run: PASS (0 pairs failed the correctness gate of 378) diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-2/stats.wl b/evidence/GEMM-GENERAL-AB-20261027/ab-2/stats.wl new file mode 100644 index 00000000..0bbe92ae --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-2/stats.wl @@ -0,0 +1 @@ +data=<|"e4m3 64x1024x2048"->{{1187353,1496011},{1180617,1501627},{1239465,1620956},{1238809,1620812},{1245002,1616012},{1204169,1594460},{1474795,1283098},{1515692,1352650},{1497339,1400859},{1246697,1570796},{1218377,1598204},{1600508,1435291},{1531051,1365179},{1235817,1816846},{1173817,1636253},{1183945,1592636},{1645389,1329418},{1510635,1375515},{1184073,1769933},{1485916,1351258}},"bf16 16x12288x2048"->{{19356900,21960487},{20038313,21781142},{33944035,22395194},{20504716,21939623},{20027240,22063000},{19779126,25050495},{19777799,21931703},{20766814,23321809},{20499628,22049512},{19913447,22499339},{20355019,22118952},{20057801,22441322},{20465436,22620427},{22423242,22209849},{21006928,23286353},{21440850,22412491},{19771574,22178489},{21145936,21989607},{20301227,22680860},{20420507,22552011}},"bf16 2048x12288x2048"->{{84283427,84592916},{83701214,87505867},{84897334,86667796},{84021248,88933237},{85921854,86305041},{83889454,94542656},{86324881,91054677},{85405082,87327704},{84358802,86740196},{85617051,86532594},{83252889,88834019},{85711307,85721932},{85282856,86846484},{84390817,87155798},{85072022,85705755},{88352766,85671195},{84213488,87430024},{84631394,86971253},{83873820,86058813},{83720747,89795898}},"bf16 64x1024x2048"->{{2000495,2472147},{1972031,2502051},{2033903,2399954},{2362914,2210433},{2294529,2257873},{2102864,2509491},{1965775,2462851},{2323937,2227329},{2117856,2561316},{2333138,2317522},{2066335,2512883},{2378818,2267137},{2031664,2609204},{2342450,2237585},{2037424,2567379},{2509059,2334642},{2007759,2557412},{2344098,2265010},{2213985,2786293},{2031728,2669172}},"e4m3 2048x2048x4096"->{{16830272,17453701},{16989777,17249332},{17284292,17650166},{17131555,20798334},{16934081,17935913},{16821792,17924248},{17191763,17586198},{16714255,17647766},{17356228,17781591},{17325316,17772775},{17067346,17459429},{17915368,17881480},{17273139,17719463},{16998049,18102506},{17551573,17884552},{17322259,17875672},{16583262,18170266},{17068689,18235307},{17039761,18235066}},"e4m3 512x8192x2048"->{{15535207,16709759},{15778536,16295052},{15549063,16789615},{15846889,16698671},{16816624,16533998},{15746792,16868304},{15741736,16655359},{15715207,16638047},{16022058,16840304},{15969657,16493070},{15980042,16544222},{16266860,17108290},{16147723,16863456},{16120187,17281587},{15717799,16779807},{16307372,16996001},{16430316,16878160},{16127754,16548894},{15937417,16848960},{23879558,18709422}},"bf16 512x8192x2048"->{{24688828,25948837},{23849974,25540882},{24034343,25578291},{24273449,26041878},{24382665,25655396},{25094687,25688068},{23954070,25403154},{24625611,25287953},{24895550,25939989},{23835989,25401713},{25415201,25734308},{25168719,25521890},{23856645,25683427},{23819557,25548642},{24137415,25799300},{27317520,26430664},{23986870,26277720},{24408729,26024374},{24768668,25122767}},"bf16 2048x2048x4096"->{{26989470,37393981},{26640363,27804179},{27193135,28629834},{26734060,28855340},{26644459,28148038},{26235464,27999093},{26458634,27438304},{26340649,28044133},{27287472,27928628},{26836652,28083830},{26576010,28674074},{26856204,27915908},{26624362,28177286},{26840780,28245606},{39900335,28142517},{27124447,28166821},{27010622,34486229},{26921533,28526552},{27520465,28500808},{43195528,28323975}},"e4m3 16x12288x2048"->{{10393663,11142501},{10248831,10796898},{11022420,11272310},{10673634,13372885},{9888539,11508680},{10295678,11168741},{10733458,10965443},{9987596,11219093},{10187693,11022804},{10153101,11436007},{10287934,10999124},{9943404,11201797},{10081581,11365622},{9951723,11172965},{9900524,11404406},{10287262,11454791},{10104221,11626472},{9913899,11372007},{10586656,12374686},{11319254,11166053}},"e4m3 2048x16384x2048"->{{83047001,85844830},{84682294,87684764},{84657253,89322616},{86247296,88719508},{85214825,86661268},{84262721,86995014},{84066992,85067064},{84623379,85328378},{86120048,90695537},{86013182,87546410},{84555059,88740434},{84531554,86635235},{87688011,87664906},{85644875,86590114},{85364361,86224031},{86511745,88631393},{84619907,86934676},{86284159,87937419},{84755155,88193933},{87344439,87924236}},"bf16 64x2048x512"->{{1283002,1668188},{1342634,1663037},{1558683,1429419},{1572796,1444059},{1327306,1670973},{1569084,1428523},{1574812,1356298},{1535579,1437723},{1266089,1602572},{1608972,1441499},{1604300,1438619},{1429867,1720989},{1588380,1383659},{1347306,1681981},{1345002,1726349},{2430674,1461595},{1526843,1438811},{1552860,1421707},{1310554,1863039},{1633676,1502908}},"e4m3 1x8192x2048"->{{6714563,6995141},{6640979,6948037},{6704275,7199847},{6720115,7280136},{6761603,7045046},{6736532,7209414},{6767699,7236023},{6653795,7038101},{7007430,7283927},{6779731,7562122},{6406097,7408200},{6473841,7474057},{6598834,13177956},{6469777,7454649},{6979733,7304247},{6426720,7460393},{6549490,7486217},{6639235,7621850},{6787796,7843148},{6660435,7478392}},"bf16 2048x16384x2048"->{{116082245,112823819},{111629122,114359368},{111369488,113923524},{111203743,113861923},{111432817,112894155},{111642034,113854658},{110242023,116315893},{115348077,123355131},{111656273,112607705},{110125685,113694465},{113636304,117332523},{112450535,120317091},{112296661,115372509},{113083564,114825000},{112101652,115656462},{112253397,112364085},{110079572,115636926},{111098523,121902110},{110040211,113380973},{111081019,113783967}},"e4m3 64x2048x512"->{{1210714,966839},{1177417,1014007},{1104745,982439},{929223,1230106},{1210777,996711},{949767,1276890},{918663,1251034},{1248297,1003512},{1168840,954312},{953863,1242970},{1161705,962407},{909175,1219321},{878822,1215530},{1248585,1085737},{931127,1216826},{896663,1218489},{961191,1310730},{1508844,1048040},{1010199,1512988}},"bf16 512x2048x4096"->{{11343063,12427695},{11822874,12336734},{12000827,13004147},{11866571,12714848},{11730377,12377054},{11912922,12787361},{11666697,12118364},{12085148,12973699},{11559080,12200092},{11473559,12529583},{11346871,12527055},{11740361,12492943},{11929339,12873634},{12331038,12855314},{12318830,12787041},{12001371,12447134},{11835082,13657176},{12258605,13178100},{12318542,12898434},{11838090,12476943}},"bf16 1x8192x2048"->{{12481871,14134828},{12542000,14192348},{13111811,13978123},{13316261,13946027},{13035443,14197788},{12657761,14273772},{12673664,14290189},{12550896,14847361},{12650080,13994490},{12775553,14380525},{12679744,14068699},{13085300,14040138},{13371190,14498638},{13256549,15021778},{14039963,14350861},{13351381,14100891},{13135524,14298205},{13005555,14669071},{13338869,17658391},{13096084,14399885}},"e4m3 512x2048x4096"->{{6701091,7382920},{6734963,7405880},{6874420,7151126},{7507177,7449161},{7420825,7227351},{7120662,7232055},{6713619,7539290},{7116999,7491433},{6756195,7582330},{6886436,16978737},{6999718,7051317},{7374760,7427833},{6968597,7120790},{6931781,7412120},{6923365,7698922},{7012613,7124134},{7070150,7328663},{6876581,7376856}},"e4m3 2048x12288x2048"->{{62879087,64673020},{65185185,68145575},{64749245,66100263},{66793020,81482061},{68432153,73901314},{64048519,65522435},{64083320,65356097},{64493130,65126848},{64277705,65519923},{65180159,65860021},{67245407,64824365},{63416226,64915454},{64211576,64843533},{64215351,68759851},{65104430,66411881},{63233344,65545458},{65559634,66923724},{64174423,67518704},{65929972,67716738},{67874291,66078357}}|>;res=KeyValueMap[Function[{k,v},Module[{a=v[[All,1]],b=v[[All,2]],r},r=N[Median[b]/Median[a]];{k,Length[v],N[Median[a]/10^6],N[Median[b]/10^6],Round[r,0.0001],Round[N[Median[b/a]],0.0001],N[Min[a]/10^6],N[Max[a]/10^6],N[Min[b]/10^6],N[Max[b]/10^6],Which[r<=0.95&&Max[b]=1.05&&Min[b]>Max[a],"REGRESSION",True,"NO CHANGE"],Round[SignedRankTest[Log[N[b/a]]],0.0001]}]],data];res \ No newline at end of file diff --git a/evidence/GEMM-GENERAL-AB-20261027/ab-2/wolfram-stats.txt b/evidence/GEMM-GENERAL-AB-20261027/ab-2/wolfram-stats.txt new file mode 100644 index 00000000..b3ab8da4 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/ab-2/wolfram-stats.txt @@ -0,0 +1,2 @@ +WolframLanguageEvaluator query: /tmp/gex2_ab2.wl (copied as stats.wl) +Out[1]= {{"e4m3 64x1024x2048", 20, 1.2422335, 1.5362115, 1.2367000000000001, 1.2659, 1.173817, 1.645389, 1.283098, 1.816846, "NO CHANGE", 0.0105}, {"bf16 16x12288x2048", 20, 20.387763, 22.3025215, 1.0939, 1.1048, 19.3569, 33.944035, 21.781142, 25.050495, "NO CHANGE", 0.0018000000000000002}, {"bf16 2048x12288x2048", 20, 84.5111055, 86.9088685, 1.0284, 1.0268000000000002, 83.252889, 88.352766, 84.592916, 94.542656, "NO CHANGE", 0.0006000000000000001}, {"bf16 64x1024x2048", 20, 2.11036, 2.467499, 1.1692, 1.2014, 1.965775, 2.509059, 2.210433, 2.786293, "NO CHANGE", 0.0105}, {"e4m3 2048x2048x4096", 19, 17.068689, 17.875672, 1.0473000000000001, 1.0319, 16.583262, 17.915368, 17.249332, 20.798334, "NO CHANGE", 0.0002}, {"e4m3 512x8192x2048", 20, 15.9748495, 16.784711, 1.0507, 1.0514000000000001, 15.535207, 23.879558, 16.295052, 18.709422, "NO CHANGE", 0.0018000000000000002}, {"bf16 512x8192x2048", 19, 24.382665, 25.683427, 1.0533000000000001, 1.0605, 23.819557, 27.31752, 25.122767, 26.430664, "NO CHANGE", 0.0004}, {"bf16 2048x2048x4096", 20, 26.848492, 28.1720535, 1.0493000000000001, 1.0526, 26.235464, 43.195528, 27.438304, 37.393981, "NO CHANGE", 0.0145}, {"e4m3 16x12288x2048", 20, 10.218262, 11.2457015, 1.1005, 1.123, 9.888539, 11.319254, 10.796898, 13.372885, "NO CHANGE", 0.0001}, {"e4m3 2048x16384x2048", 20, 84.98499, 87.605658, 1.0308, 1.0247, 83.047001, 87.688011, 85.067064, 90.695537, "NO CHANGE", 0.0001}, {"bf16 64x2048x512", 20, 1.5442195, 1.452827, 0.9408000000000001, 0.9281, 1.266089, 2.430674, 1.356298, 1.863039, "NO CHANGE", 0.4898}, {"e4m3 1x8192x2048", 20, 6.682355, 7.3562235, 1.1008, 1.0994000000000002, 6.406097, 7.00743, 6.948037, 13.177956, "NO CHANGE", 0.0001}, {"bf16 2048x16384x2048", 20, 111.635578, 114.141446, 1.0224, 1.0259, 110.040211, 116.082245, 112.364085, 123.355131, "NO CHANGE", 0.0005}, {"e4m3 64x2048x512", 19, 1.010199, 1.21553, 1.2033, 1.3031000000000001, 0.878822, 1.508844, 0.954312, 1.512988, "NO CHANGE", 0.10310000000000001}, {"bf16 512x2048x4096", 20, 11.8523305, 12.6222155, 1.065, 1.0678, 11.343063, 12.331038, 12.118364, 13.657176, "NO CHANGE", 0.0001}, {"bf16 1x8192x2048", 20, 13.0603715, 14.2819805, 1.0935000000000001, 1.1079, 12.481871, 14.039963, 13.946027, 17.658391, "NO CHANGE", 0.0001}, {"e4m3 512x2048x4096", 18, 6.950189, 7.3944, 1.0639, 1.0464, 6.701091, 7.507177, 7.051317, 16.978737, "NO CHANGE", 0.0011}, {"e4m3 2048x12288x2048", 20, 64.6211875, 65.969189, 1.0209000000000001, 1.0219, 62.879087, 68.432153, 64.67302, 81.482061, "NO CHANGE", 0.0038}} diff --git a/evidence/GEMM-GENERAL-AB-20261027/gemm_ex_ab.c b/evidence/GEMM-GENERAL-AB-20261027/gemm_ex_ab.c new file mode 100644 index 00000000..e6fc9bde --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/gemm_ex_ab.c @@ -0,0 +1,171 @@ +/* gemm_ex_ab.c -- GemmGeneral served-shape A/B timing driver (AB-PLAN.md in this directory). + * Measurement harness only, not product code. One process, one build (CUDApp gemm-general/gemm-ex at the plan's sha): + * arm A = omega_gpu_gemm_ld (src/omega_gpu_gemm.c, C3: the existing entry for these shapes) + * arm B = omega_gpu_gemm_ex (src/omega_gpu_gemm_ex.c: the general entry, same shapes, same inputs) + * Weights are stored [out][in] (A row-major M x K, B N rows of K): C3 layout OMEGA_GPU_GEMM_B_COL, gemm_ex op_a N, op_b T. + * Round 0 runs every cell through both arms and is labelled warm=1 (kernel builds, first touch); rounds 1..R are timed. + * In every round the cell order is a seeded shuffle and the arm order inside a cell a seeded coin. + * Per pair: wall_ns of each call (CLOCK_MONOTONIC around the call), rc, B's route and core_calls, the live server's + * in_flight before and after the pair, and the correctness gate: C_B == C_A bit for bit, plus 64 sampled elements of C_A + * within K * 2^-22 * sum|a b| of a double host reference. + * After the timed rounds, the negative control: gemm_ex mutant 1 (drops the last k) on one cell must fail both the bitwise + * check and the reference check; a control that stays green fails the run. + * gemm_ex_ab --rounds R [--seed S] [--spin-us US] + * Why C: it links the C library under test; no .om binding of either entry exists. Copied unchanged into the evidence. */ +#include "omega_gpu_gemm.h" +#include "omega_gpu_gemm_ex.h" +#include "omega_gpu_session.h" +#include +#include +#include +#include +#include +#include + +static int in_flight(void) { + FILE *f = popen("curl -s -m 2 127.0.0.1:18091/health", "r"); + if (!f) return -1; + char buf[1024]; size_t n = fread(buf, 1, sizeof buf - 1, f); buf[n] = 0; + pclose(f); + const char *p = strstr(buf, "\"in_flight\""); + if (!p || !(p = strchr(p, ':'))) return -1; + return atoi(p + 1); +} + +static uint64_t g_rng; +static uint32_t rnd(void) { g_rng = g_rng * 6364136223846793005ull + 1442695040888963407ull; return (uint32_t)(g_rng >> 33); } +static uint64_t now_ns(void) { struct timespec t; clock_gettime(CLOCK_MONOTONIC, &t); return (uint64_t)t.tv_sec * 1000000000ull + (uint64_t)t.tv_nsec; } + +static float bf2f(uint16_t h) { uint32_t u = (uint32_t)h << 16; float f; memcpy(&f, &u, 4); return f; } +static float e4m3f(uint8_t b) { + const int s = b >> 7, e = (b >> 3) & 15, m = b & 7; + const float v = e ? ldexpf(1.0f + (float)m / 8.0f, e - 7) : ldexpf((float)m / 8.0f, -6); + return s ? -v : v; +} +/* finite values: bf16 in [-2, 2) with 8 significant bits; e4m3 any code but the NaNs 0x7f / 0xff */ +static void fill(int fp8, void *p, uint64_t n, uint64_t seed) { + g_rng = seed * 2862933555777941757ull + 3037000493ull; + for (uint64_t i = 0; i < n; i++) { + if (fp8) { uint8_t b; do b = (uint8_t)rnd(); while ((b & 0x7fu) == 0x7fu); ((uint8_t *)p)[i] = b; } + else { float f = ldexpf((float)(int32_t)(rnd() % 512u) - 256.0f, -7); uint32_t u; memcpy(&u, &f, 4); ((uint16_t *)p)[i] = (uint16_t)(u >> 16); } + } +} +static float val(int fp8, const void *p, uint64_t i) { return fp8 ? e4m3f(((const uint8_t *)p)[i]) : bf2f(((const uint16_t *)p)[i]); } + +typedef struct { uint32_t M, N, K; const char *tag; } Shape; +/* serving shapes of the live 35B (hidden 2048), the same nine GemmTune measured (handoffs/GemmTune/AB-PLAN.md) */ +static const Shape SH[] = { + { 1, 8192, 2048, "q+gate decode" }, { 16, 12288, 2048, "gdn in_proj b16" }, { 512, 8192, 2048, "q+gate p512" }, + { 512, 2048, 4096, "o_proj p512" }, { 2048, 12288, 2048, "gdn in_proj p2048" }, { 2048, 2048, 4096, "out_proj p2048" }, + { 64, 1024, 2048, "expert gate+up" }, { 64, 2048, 512, "expert down" }, { 2048, 16384, 2048, "lm_head slice" }, +}; +#define NS (sizeof SH / sizeof SH[0]) + +static uint64_t ref_bad_of(int fp8, const Shape *s, const void *A, const void *B, const float *C, uint64_t seed) { + uint64_t bad = 0; + g_rng = seed; + for (int e = 0; e < 64; e++) { + const uint32_t i = e == 0 ? s->M - 1u : rnd() % s->M, j = e == 0 ? s->N - 1u : rnd() % s->N; + double d = 0.0, mag = 0.0; + for (uint32_t kk = 0; kk < s->K; kk++) { + const double p = (double)val(fp8, A, (uint64_t)i * s->K + kk) * (double)val(fp8, B, (uint64_t)j * s->K + kk); + d += p; mag += fabs(p); + } + const double got = (double)C[(uint64_t)i * s->N + j]; + if (!(fabs(got - d) <= (double)s->K * ldexp(1.0, -22) * mag + 1e-30)) bad++; + } + return bad; +} + +int main(int argc, char **argv) { + unsigned rounds = 0; uint64_t seed = 20261027; + for (int i = 1; i < argc; i++) { + if (!strcmp(argv[i], "--rounds") && i + 1 < argc) rounds = (unsigned)atoi(argv[++i]); + else if (!strcmp(argv[i], "--seed") && i + 1 < argc) seed = strtoull(argv[++i], NULL, 10); + else if (!strcmp(argv[i], "--spin-us") && i + 1 < argc) { + unsigned us = (unsigned)strtoul(argv[++i], NULL, 10); + if (omega_gpu_session_set_spin_us(us) != 0) { fprintf(stderr, "bad --spin-us %u\n", us); return 2; } + printf("# spin_us %u\n", us); + } else { fprintf(stderr, "usage: %s --rounds R [--seed S] [--spin-us US]\n", argv[0]); return 2; } + } + if (!rounds) { fprintf(stderr, "--rounds R (>= 1) required\n"); return 2; } + const size_t amax = (size_t)2048 * 4096 * 2, bmax = (size_t)16384 * 2048 * 2, cmax = (size_t)2048 * 16384; + void *A = malloc(amax), *B = malloc(bmax); float *CA = malloc(cmax * 4), *CB = malloc(cmax * 4); + if (!A || !B || !CA || !CB) { printf("NOT_RUN: host allocation\n"); return 2; } + memset(A, 0, amax); memset(B, 0, bmax); memset(CA, 0, cmax * 4); memset(CB, 0, cmax * 4); /* first touch outside timing */ + const size_t n = 2 * NS; + int bad_total = 0; + for (unsigned round = 0; round <= rounds; round++) { + size_t ord[2 * NS]; + for (size_t i = 0; i < n; i++) ord[i] = i; + uint64_t r = seed * 1000003u + round; + for (size_t i = n - 1; i > 0; i--) { r = r * 6364136223846793005ull + 1442695040888963407ull; size_t j = (size_t)(r >> 33) % (i + 1); size_t t = ord[i]; ord[i] = ord[j]; ord[j] = t; } + for (size_t q = 0; q < n; q++) { + const int fp8 = (int)(ord[q] / NS); + const Shape *s = &SH[ord[q] % NS]; + const OmegaGpuGemmType t = fp8 ? OMEGA_GPU_GEMM_E4M3 : OMEGA_GPU_GEMM_BF16; + fill(fp8, A, (uint64_t)s->M * s->K, (uint64_t)s->M * 3 + s->N * 5 + s->K * 7 + (uint64_t)fp8); + fill(fp8, B, (uint64_t)s->N * s->K, (uint64_t)s->M * 11 + s->N * 13 + s->K * 17 + (uint64_t)fp8); + const size_t cn = (size_t)s->M * s->N; + memset(CA, 0xff, cn * 4); memset(CB, 0xff, cn * 4); /* NaN poison: an unwritten element fails the gate */ + r = r * 6364136223846793005ull + 1442695040888963407ull; + const int a_first = (int)((r >> 40) & 1u); + OmegaGemmExInfo xi; memset(&xi, 0, sizeof xi); + OmegaGemmExArgs x; memset(&x, 0, sizeof x); + x.op_a = OMEGA_GEMM_OP_N; x.op_b = OMEGA_GEMM_OP_T; x.m = s->M; x.n = s->N; x.k = s->K; x.batch = 1; + x.a_type = x.b_type = fp8 ? OMEGA_GEMM_DT_E4M3 : OMEGA_GEMM_DT_BF16; x.c_type = OMEGA_GEMM_DT_F32; + x.a = A; x.lda = s->K; x.b = B; x.ldb = s->K; x.c = CB; x.ldc = s->N; x.alpha = 1.0f; x.beta = 0.0f; x.info = ξ + const int if0 = in_flight(); + int rca = -99, rcb = -99; uint64_t wa = 0, wb = 0; + for (int leg = 0; leg < 2; leg++) { + if ((leg == 0) == (a_first != 0)) { + const uint64_t t0 = now_ns(); + rca = omega_gpu_gemm_ld(t, OMEGA_GPU_GEMM_B_COL, s->M, s->N, s->K, A, s->K, B, s->K, CA, NULL); + wa = now_ns() - t0; + } else { + const uint64_t t0 = now_ns(); + rcb = omega_gpu_gemm_ex(&x); + wb = now_ns() - t0; + } + } + const int if1 = in_flight(); + /* correctness gate */ + const int same = rca == 0 && rcb == 0 && memcmp(CA, CB, cn * 4) == 0; + const uint64_t ref_bad = rca == 0 ? ref_bad_of(fp8, s, A, B, CA, seed ^ ((uint64_t)round << 32) ^ q) : 64u; + const int ok = same && ref_bad == 0 && xi.route == OMEGA_GEMM_ROUTE_NATIVE && xi.host_fixed == 0; + bad_total += !ok; + printf("pair round=%u warm=%s seq=%zu type=%s M=%u N=%u K=%u tag=\"%s\" first=%s rc_a=%s rc_b=%s wall_a_ns=%" PRIu64 + " wall_b_ns=%" PRIu64 " route_b=%u core_calls_b=%" PRIu64 " host_fixed_b=%" PRIu64 " bitwise=%d ref_bad=%" PRIu64 + " gate=%s if_before=%d if_after=%d\n", + round, round == 0 ? "True" : "False", q, fp8 ? "e4m3" : "bf16", s->M, s->N, s->K, s->tag, a_first ? "A" : "B", + omega_gpu_gemm_rc_name(rca), omega_gpu_gemm_rc_name(rcb), wa, wb, xi.route, xi.core_calls, xi.host_fixed, same, + ref_bad, ok ? "PASS" : "FAIL", if0, if1); + fflush(stdout); + } + } + { /* negative control: expert down, bf16, mutant 1 */ + const Shape *s = &SH[7]; + fill(0, A, (uint64_t)s->M * s->K, 1); fill(0, B, (uint64_t)s->N * s->K, 2); + const size_t cn = (size_t)s->M * s->N; + memset(CA, 0xff, cn * 4); memset(CB, 0xff, cn * 4); + const int rca = omega_gpu_gemm_ld(OMEGA_GPU_GEMM_BF16, OMEGA_GPU_GEMM_B_COL, s->M, s->N, s->K, A, s->K, B, s->K, CA, NULL); + OmegaGemmExInfo xi; memset(&xi, 0, sizeof xi); + OmegaGemmExArgs x; memset(&x, 0, sizeof x); + x.op_a = OMEGA_GEMM_OP_N; x.op_b = OMEGA_GEMM_OP_T; x.m = s->M; x.n = s->N; x.k = s->K; x.batch = 1; + x.a_type = x.b_type = OMEGA_GEMM_DT_BF16; x.c_type = OMEGA_GEMM_DT_F32; + x.a = A; x.lda = s->K; x.b = B; x.ldb = s->K; x.c = CB; x.ldc = s->N; x.alpha = 1.0f; x.beta = 0.0f; x.info = ξ + omega_gpu_gemm_ex_test_set_mutant(1); + const int rcb = omega_gpu_gemm_ex(&x); + omega_gpu_gemm_ex_test_set_mutant(0); + const int same = memcmp(CA, CB, cn * 4) == 0; + const uint64_t rb = rcb == 0 ? ref_bad_of(0, s, A, B, CB, 3) : 64u; + const uint64_t ra = rca == 0 ? ref_bad_of(0, s, A, B, CA, 3) : 64u; + const int red = rca == 0 && ra == 0 && rcb == 0 && !same && rb > 0; + printf("control mutant=1 cell=\"%s\" rc_a=%s rc_b=%s bitwise=%d ref_bad_a=%" PRIu64 " ref_bad_b=%" PRIu64 " verdict=%s\n", + s->tag, omega_gpu_gemm_rc_name(rca), omega_gpu_gemm_rc_name(rcb), same, ra, rb, red ? "RED (expected)" : "GREEN (control failed)"); + if (!red) bad_total++; + } + printf("run: %s (%d pairs failed the correctness gate of %zu)\n", bad_total ? "FAIL" : "PASS", bad_total, n * (rounds + 1u)); + free(A); free(B); free(CA); free(CB); + return bad_total ? 1 : 0; +} diff --git a/evidence/GEMM-GENERAL-AB-20261027/hold.sh b/evidence/GEMM-GENERAL-AB-20261027/hold.sh new file mode 100755 index 00000000..ce5c34c3 --- /dev/null +++ b/evidence/GEMM-GENERAL-AB-20261027/hold.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# GemmGeneral chip hold for the served-shape A/B (AB-PLAN.md): flock, 18091 /health and compute apps before and after, +# BOARD GPU-START/GPU-END, 14-minute cap. No new hold while the last anchored Main WINDOW-* line on BOARD is WINDOW-START, +# and none while 18091 is not "status":"ok". Bounded: 3 h of waiting, then NOT_RUN on BOARD. +# Pattern copied from handoffs/GemmTune/hold.sh. +# usage: hold.sh