Production default
Continuous batching
One multi-sequence context per model, iteration-level admission, sticky-prefix reuse, adaptive prompt-lookup speculation, and bounded streaming.
Hermon Reference Engine
A standalone runtime—not the Hermon Backend and not Ollama. One binary speaks OpenAI, Ollama, and Anthropic protocols. A production continuous-batching runtime serves today while Hermon takes measured ownership of paged memory, deterministic attention, and hardware-specific execution.
This repository
hermonai/hermon
Inference runtime, scheduler, memory, kernels, and protocol adapters.
Not the backend
hermonai/hermon-server
Accounts, conversations, agents, policy, and runtime routing.
Not Ollama
Independent runtime option
Hermon Backend may route to Ollama without using Hermon Engine.
Production default
One multi-sequence context per model, iteration-level admission, sticky-prefix reuse, adaptive prompt-lookup speculation, and bounded streaming.
Explicit preview
Real packed-GGUF Llama inference on CPU with radix prefix sharing, copy-on-write tails, Hermon attention, and greedy decoding.
Native library
A stable C11 ABI, native arena and block pool, deterministic attention tasks, scalar reference code, and Arm NEON dispatch.
The execution line
Protocol code does not know page layouts. Kernels do not know queues. The scheduler owns global policy, and providers report cost and execute explicit plans.
OpenAI · Ollama · Anthropic
admit · batch · cache · cancel
model · memory · kernel tasks
CPU · Metal · CUDA · ROCm · SYCL
Numbers with provenance
The published Apple M3 Pro measurements use Metal, Llama-3-3B-Q4_K_M, and four concurrent requests. The often-cited 5.1× figure is the product of three component gains on a favorable workload—not a fourth end-to-end measurement.
Inspect methodology and raw tables →2.24×
continuous-batch throughput vs Ollama
41.4 vs 18.5 tok/s
1.71×
shared-prefix workload improvement
4.89 s to 2.86 s
1.33×
prompt-lookup gain on RAG-quote
51.3 to 68.1 tok/s
Inner loop
The v0.6 tensor bridge evaluates Q/K/V in one GGML graph and gate/up in another. Packed weights stay packed. Seven projection graph submissions become four, with an exact-output differential test and no unmeasured speedup claim.
RMSNorm
one normalized activation
Q · K · V
one bundled packed graph
RoPE + paged attention
GQA-aware cache traversal
Output projection
residual connection
Gate · Up
one bundled packed graph
SiLU × Up → Down
MLP residual
Engineering constitution
01
Hermon owns admission, scheduling, cache policy, lifecycle, streaming, and observability. Kernels never decide request priority.
02
A pinned llama.cpp provides production model and hardware coverage while native components earn their place behind measured gates.
03
Projection groups, KV tiles, and attention tasks cross language and device boundaries—not individual elements in hot loops.
04
Shape-derived task grids, indexed partials, ordered combine, F32 accumulation, and explicit model-equivalence corpora.
Build in public
The repository carries the source of truth: current-vs-preview status, internal logic diagrams, kernel ABI, acceptance gates, benchmarks, and the running innovations log.