Anyone can claim a speedup.
Kernalin proves it.
A faster number means nothing if the model quietly got worse. Every optimization runs a gauntlet no fake survives — kept only if it's correct, honest, and genuinely faster, and thrown out before you ever see it otherwise. This is the whole company, and the part investors diligence hardest.
Seven checks. One verdict.
Illustrative counts. In our H100 run, 1 of 4 Claude rewrites was kept; 3 were correct but not faster.
- 01
Smoke test
queuedDoes the candidate run and produce output at all?
- 02
Shape sweep
queuedTall, wide, deep-K, vocab, and LLM shapes — not just the demo case.
- 03
Adversarial inputs
queuedDistribution-matched fuzzing and input transforms.
- 04
Determinism
queuedBitwise-identical output across repeated runs.
- 05
Edge cases
queuedNon-power-of-two and boundary shapes (1023, 4097, 50257).
- 06
Anti-cheat
queuedInput-differential + op-coverage: no dropped ops, no ignored inputs.
- 07
Statistical benchmark
queuedBayesian ROPE verdict over a bootstrap posterior vs. the noise floor.
Correct · not gaming the benchmark · genuinely faster
One number ships only if it's correct, honest, and genuinely faster. Everything else is stopped before it ever reaches you.
Timing never happens before correctness.
A broken kernel can be provably wrong — and still pass.
Injected bug: max never subtracted from the exponent
A single demo-case probe
how most tools checkWith kv_len = 1, softmax over one element is exactly 1.0 — the output is v₀ regardless of the entire score path.
Kernalin · structural verification
how we checkA structural check sees the missing subtraction immediately — it doesn't need an input that happens to trigger the overflow.
The sharpest case: a stray write to pos+1 in the KV cache self-heals — the next decode step overwrites the damage — so it surfaces only at the final token, or in another head, far from the cause. A structural write-footprint check sees it at once. Every ratio on this page comes from the engine's bug-class tables; of the 14 known-bad PTX fixtures that ship with it, all 14 are refuted, none passes.
Two independent ways to catch a reward-hack.
Input-differential
Fresh, distribution-matched random inputs on every trial, poisoned output buffers, and tensor-provenance checks. Catches kernels that memorized the reference output or ignore their inputs.
Operation coverage
Executed FLOP/byte must meet an analytic lower bound, and every input region is perturbed to confirm the output responds. Catches kernels that "optimized" by dropping an operation.
Reward-hacks Kernalin refuses
A verdict, not a vibe.
When it can't prove equivalence, it refuses.
Typical AI optimizer
UnprovenA headline number with nothing behind it. If the kernel dropped an op, ignored an input, or memorized the reference output, you ship a bug at speed.
Kernalin
VerifiedEvery speedup survives correctness, anti-cheat, and statistical checks before it counts. The number you see is the number you can ship.
Don't trust the validator. Check the certificate.
The checker re-verifies the proof without redoing the analysis. It demands a witness for every read of a written buffer — so a certificate cannot pass by omitting the read that races.
- 1 write W₀ → read R₃happens-before via counter c1 join
- 2 write W₁ → read R₇transitive: c1 ⇒ c4 ⇒ c4.threshold
- 3 counter c4 jointrue-join rule: all 8 producers arrived
- 4 read R₉ of buffer kv[pos]witness present · footprint bound
- 5 digest 3f9a…c1 == programcertificate bound to this artifact
race freedom proved · functional correctness by testing
Two premises become one honest verdict.
{
"backend": "CUDA_CPP",
"compiler": "nvcc 12.4",
"arch": "sm_90a",
"fast_math": false, // off unless asked
"flags": ["-O3", "--fmad=true"],
"cache_key": "b7c1…9f2",
"compiled_in": "sandbox" // same isolation as exec
} The engine compiles the CUDA — not the candidate.
We publish our own ceiling.
Ops with reference semantics — every op a real decode program runs has one.
A checker exists for it. By task and by signature, after GEMV + the tail ops.
The last mile needs a GPU build (layer 3b). We say so, rather than round up.
The three high-risk ops were verified first for the moat (~2% of the work, but the blind spots); GEMV_TILE was built last for the moat and first for coverage — one verifier takes task coverage from 2.1% to 97%. Reporting that distance honestly is the number a real guarantee starts from.
Speedups you can trust.
Bring verification-first optimization to your GPU workloads. Join the early-access program.