In three steps
Ten lines of YAML, then every PR is measured.
01 / 03 · Set up
Add one step to a workflow.
This is the gate from the demo repository: benchmark kernels/attention.py on every pull request to main, and fail on a real slowdown.
The token is scoped to that repository. The config file sets the blocking threshold for noisy shared runners.
name: Kernalin benchmark gate on: pull_request: branches: [main] jobs: benchmark: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Benchmark and gate uses: JashomTech/Kernalin/.github/actions/rnx-benchmark@prod with: workload: kernels/attention.py runtimes: pytorch_eager batch-sizes: "1,8" dtypes: float32 kernalin-token: ${{ secrets.KERNALIN_TOKEN }} 02 / 03 · Gate
Every pull request, checked independently.
On 9 October 2026 Kernalin opened pull request #3 with a verified 7.64× rewrite. The repository’s own gate benchmarked it again, passed it a minute later, and it was merged.
The optimizer and the gate don’t trust each other’s numbers. Both measure.
Optimize attention.py: 7.64× faster (Kernalin run #73) #3
kernalin/optimize-73 → main · 1 commit · 6e4c9a0
Kernalin rewrote this kernel and verified the result before proposing it.
Speedup: 7.64× on the CPU sandbox (best median 3.058 ms).
| Rewrite | Decision | Correct | Anti-cheat | Speedup |
|---|---|---|---|---|
| #1 | KEEP | yes | clean | 7.64× |
| #2 | REVERT | yes | clean | 0.369× |
| #3 | REVERT | yes | clean | 0.4× |
Your CI's Kernalin benchmark gate checks this pull request independently.
03 / 03 · Decide
Strict about slowdowns, relaxed about outages.
The gate fails for the things that should fail a build: a credible regression or a broken runtime. Everything else is a warning you can read.
Fails the check
- Credible regression vs baseline Bayesian verdict, same environment block
- A runtime breaks or diverges wrong output is never "fast" block
Never fails the check
- Kernalin unreachable or upload refused becomes a warning warn
- Intended slowdown, accepted with a reason becomes the new baseline pass
On the pull request
- "Add CI gate" bot pull request adds .github/workflows/kernalin.yml for you Coming soon
- Verdict as a sticky PR comment code-owner accept, soft-fail, kernalin.yml thresholds Coming soon