02 Automatic kernel creation
Every model × accelerator pair gets its own kernels.
Most engines ship one set of kernels and hope it fits. FastLLM treats tuning as an combinatorial
optimization problem using an empirically learned understanding of the VLM/LLM model and the accelerator.
03 Fast on the workloads that matter
Users feel time to first token and the gap between tokens. A host that schedules in microseconds and a
decode step with fewer launches show up directly as a snappier stream at every concurrency.
Summarise this contract in three bullets.
Agents resend long, shared prefixes and fire many short calls in a loop. Prefix caching reuses the shared
KV-cache blocks across those calls, and the cheap host keeps hundreds of concurrent tool loops moving without
stalling the GPU.
plan
search()
read()
reason
answer
throughputBatch, evals & RL rollouts
Offline generation for evaluation, data pipelines and the rollout phase of RL training runs at high
concurrency, which is exactly where the step loop and kernel tuning pay off most.
04 Measured, with the regime attached
Every number below says which model, shape, concurrency and device it came from. Kernel times
are Nsight Systems on both engines. Ratios are vLLM time ÷ FastLLM time, so higher is better.
Served throughput · Qwen3-1.7B · c128 · H100 NVL
1.53×
Served throughput · Qwen3-1.7B · c256 · H100 NVL
1.38×
Decode step · Qwen3-0.6B · batch 1 · A100
1.36×
Decode step, FP8 weights · Qwen3-1.7B · batch 1 · A100
1.28×
Decode step · Qwen3-1.7B · batch 1 · 128 tokens · A100
1.21×
Decode step · Qwen3-4B · batch 1 · A100
1.11×
vLLM (same GPU, same client)
1.00×
The H100 NVL served-throughput runs were on a confidential-computing host, which makes
device-to-host copies blocking and magnifies host overhead for both engines. At long context (16k–32k tokens)
both engines stream the KV cache at 85–90% of peak bandwidth, and the decode step is at parity. Full methodology
and raw data live in the repository.
Swap one URL.
Keep the speed.
Run FastLLM next to your vLLM deployment, send it the same traffic and compare the results.