An inference backend for Open-Jev[1]. It runs locally, keeps the model and the request format of Open-Jev's local server, and replaces the forward pass with fused CUDA kernels, a prefix tree that computes shared prompt text once, and CUDA Graphs.
Example request: 3 questions, 7 candidates, 539 tokens. Median latency of the forward pass plus scoring head.
Hand-written kernels replace every non-matmul op in a layer. Kernels per request drop from ~5000 to 642, and the CPU launch bottleneck goes away.
The shared context is computed once, each question once, and each candidate only its tail, all in one packed forward pass.
The linear-attention recurrence and the tree-masked attention run in our own kernels (mma.sync, ldmatrix, cp.async in inline PTX): 74 → 36.5 µs and 21.4 → 12.7 µs per layer.
Merged weights, split-K with fp32 partial sums, per-shape cuBLASLt algorithms, and one CUDA Graph per request shape.
Prefix tree for the example request. Linear-attention layers still run each candidate over its full path, so results match the original; full-attention layers use an ancestor mask.
Cumulative share of the 231 public JevBench[11] tasks finished within a given latency, sent over HTTP to the local server, one request at a time, from the same machine. Both servers warmed up (second pass).
| Original jev.server (with FLA) | open-jev-fast | |
|---|---|---|
| Accuracy | 198 / 231 | 197 / 231 |
| Mean latency | 258 ms | 42.0 ms |
| P50 / P95 | 150 / 802 ms | 17.4 / 137 ms |
| Slowest task | 1.5 s | 0.21 s |
Full details, the step-by-step breakdown and failed attempts are in the README and report (PDF).