Skip to content

Feat/gelu f16 lut - #2687

Open
kali wants to merge 2 commits into
mainfrom
feat/gelu-f16-lut
Open

Feat/gelu f16 lut#2687
kali wants to merge 2 commits into
mainfrom
feat/gelu-f16-lut

Conversation

@kali

@kali kali commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

@czoli1976. I had to revert #2568, the new test was tripping on avx512f.

czoli1976 and others added 2 commits August 20, 2026 19:25
GeluApproximate's f16 arm ran an inline scalar loop rather than calling
ops().gelu_f16, so the linalg f16 GELU slot was dead on every architecture.
Route the canonical pow=3 path through the dispatcher, and make the generic
f16 kernel a table over all 65536 f16 bit patterns built from the same scalar
expression the existing kernel evaluates, so the table is bit-identical to it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ElementWiseKer::run is used unconditionally (HGelu8, HGeluLut8) but
the trait import was gated behind target_arch = "aarch64", breaking
the build everywhere else.
@github-actions

Copy link
Copy Markdown

⚠️ Bench vs main — no speed regressions · 6 secondary regression(s)

Reference: 2026-08-20 morning nightly run (0d old) · full report → run

Speed — evaltime · prefill · decode

no inference-speed regressions

⚠️ 6 secondary regression(s)
Δ metric device main → PR
⚠️ +20.1% hey_snips_v4_model17
load · pulse8
cortex-a9 6.07 s → 7.29 s
⚠️ +18.4% hey_snips_v4_model17
load+optimize · pulse8
cortex-a9 6.66 s → 7.88 s
⚠️ +16.9% arm_ml_kws_cnn_m
load · pass
cortex-a9 83 ms → 97 ms
⚠️ +13.2% arm_ml_kws_cnn_m
load · pass
cortex-a7 76 ms → 86 ms
⚠️ +11.7% arm_ml_kws_cnn_m
load+optimize · pass
cortex-a9 128 ms → 143 ms
⚠️ +11.3% arm_ml_kws_cnn_m
load+optimize · pass
cortex-a7 115 ms → 128 ms

@kali kali self-assigned this Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants