Docs · reference

Engines

The inference engines denv runs, the hardware denv runs each on, and the engine features denv uses.

denv runs published inference engines; it does not fork them. An engine version is an image denv has tested with its adapter: the code that starts the engine, passes arguments, reads its metrics, and connects it to denv's router, KV cache and pools.

denv engine list is authoritative for what your organization can use today.

Engines

Engine Project License Notes
vllm vLLM Apache 2.0 Broad model and hardware coverage.
sglang SGLang Apache 2.0 Common for large mixture-of-experts models.
tensorrt-llm NVIDIA TensorRT-LLM Apache 2.0 NVIDIA only.
deepinfer DeepSeek DeepInfer Apache 2.0 DeepSeek's production engine, released October 2026. Its README says it supports DeepSeek-V4.1-Flash and was built primarily on vLLM.

Hardware: denv adapter support

Engine NVIDIA Hopper (h100, h200) NVIDIA Blackwell (b200, b300, gb200-nvl72, gb300-nvl72) AMD (mi300x, mi355x) Huawei (ascend-950) l40s
vllm yes yes yes no yes
sglang yes yes yes no yes
tensorrt-llm yes yes no no yes
deepinfer no yes (SM100, per its README) no yes (per its README) no

"Yes" means denv's adapter starts, monitors and routes to that engine on that hardware. It does not mean every model runs on every row; a recipe says which combinations are tested.

Features denv uses

Feature vllm sglang tensorrt-llm deepinfer
Aggregated serving yes yes yes yes
Disaggregated prefill/decode yes yes yes see below
Expert parallelism yes yes yes yes (MoE EP + EPLB)
Speculative decoding yes yes yes yes
Structured outputs yes yes yes yes
Deterministic sampling per recipe per recipe per recipe yes (batch-invariant inference)
LoRA adapters yes yes yes no

DeepInfer and disaggregation. DeepInfer's README lists prefill/decode disaggregation, a KV cache system, and load balancing across data-parallel replicas as required for a complete service but not included, and says most of the engine functionality for disaggregation is implemented. denv provides the pool orchestration, KV transfer path, KV cache tiers and routing; the engine functionality is as the DeepInfer README describes.

Deterministic sampling. Where an engine can produce the same tokens for the same input regardless of batch, parity can compare at the token level. Elsewhere it compares outputs and tool calls.

API adapters

The engine runs the model; an adapter turns API requests into prompts and model output into responses.

Adapter Used for
engine The engine's own OpenAI-compatible server. Default for most recipes.
deepseek-recipe DeepSeek V4 and V4.1. Uses DeepSeek's open-source deepseek-recipe library (MIT), which converts Chat Completions, Responses and Messages requests into DeepSeek prompts and parses output back, matching the official API's behavior.

denv serves the surfaces in the release's api list through the adapter.

Versions

An engine version is pinned in a recipe as { name, version }, for example { name: deepinfer, version: 0.1.2 }. Engine arguments shown in examples are illustrative; recipes set the tested values. denv resolves it to an image digest when a release is created, and the digest is part of the release.

denv adds engine versions after they pass its adapter tests on each hardware family. It does not remove a version a release still uses.

Upgrading an engine

An engine upgrade is a recipe change, so it ships like any other release:

  1. Create a recipe version with the new engine version, or extends the current one and override engine.version.
  2. denv release with the new recipe. The digest changes.
  3. Deploy to your first stage. Golden prompts, the parity gate and alarms compare the new engine with the old one on real traffic.
  4. Promote stage by stage, or roll back.

There is no path that changes an engine under a running release.