Documentation menu
Integration options

Choosing an integration

Four ways to put the ADP card under vLLM or SGLang. This page tells what each one is and when to use it.

All integrations store the KV cache on the card through the storage gateway. They differ in how the engine gives the KV cache to the gateway and gets it back.

The options

Four paths to the same card
what sits between the engine and the ADP card
OffloadingSpecRECOMMENDEDvLLM offloadingXkvOffloadingConnectorStorage gatewayfragments, databasesADP cardNVMe SSDs behind itany model of vLLMvLLM KV connectorALTERNATIVEvLLM + connectorlayer by layerStorage gatewayfragments, databasesADP cardNVMe SSDs behind itinside every rankLMCache L2 pluginALTERNATIVELMCache serverL1 in host RAMStorage gatewayfragments, databasesADP cardNVMe SSDs behind itcard as L2SGLang HiCacheSGLANGSGLang HiCacheL1 GPU, L2 hostStorage gatewayfragments, databasesADP cardNVMe SSDs behind itcard as L3

vLLM OffloadingSpec backend (recommended). A backend for the KV offloading framework of vLLM. vLLM handles the layout of each model, and the backend stores bytes under keys. It reads replicated pages once and shares them over NVLink. When the gateway is lost, it pauses and does not fail. Details.

vLLM KV connector (alternative). Our own connector for the KV connector interface of vLLM. It restores a prompt layer by layer while the model computes. Use it when you need that overlap, for example for hybrid models on one GPU, or on vLLM 0.26. Details.

LMCache L2 plugin (alternative). For deployments that already run LMCache. The ADP card becomes the L2 tier of the LMCache multiprocess server, below the host-memory tier of LMCache. LMCache itself does not change. Details.

SGLang HiCache backend. The ADP card as the L3 tier of the hierarchical cache of SGLang, with stock SGLang. Details.

Comparison

OffloadingSpec backendvLLM KV connectorLMCache L2 pluginSGLang HiCache backend
Userecommended for vLLMalternativealternativeSGLang
Plugs intothe offloading framework of vLLMthe KV connector interface of vLLMthe LMCache multiprocess serverthe HiCache storage interface of SGLang
Engine sideXkvOffloadingConnector with XkvOffloadingSpecFusIOnXConnectorLMCacheMPConnectorXkvHiCacheStorage
Modelsevery model of vLLM’s framework, verified listthe verified listwhat LMCache supportswhat HiCache supports
Restore pathcard → GPU staging → GPU, the whole prefix before the stepcard → ring → GPU, layer by layercard → LMCache host tier → GPUcard → host pool (L2) → GPU
Host memorythe shared-memory ringthe shared-memory ringthe LMCache host tier and the ringthe L2 pool and the ring
Engine versionsvLLM 0.28, 0.29, 0.31vLLM 0.28, 0.29 (0.26 on request)vLLM 0.28 with LMCache 0.5.4 or 0.5.5SGLang 0.5.21
Tensor parallelismone object for replicated pages, sharded reads over NVLinkNVLink fan-out for MLAas LMCachethrough the client of rank 0
Delivered asthe product image and the client kitthe product image and the client kitan image, on requestthe image awideai-cuda-sglang

How to choose

  • Start with the OffloadingSpec backend. It supports the most models and engine versions.
  • Plan for the OffloadingSpec backend on new vLLM versions. The vLLM KV connector needs the V1 model runner of vLLM, which vLLM deprecated in 0.31 and plans to remove in 0.32. From vLLM 0.32 on, the OffloadingSpec backend is the only integration for vLLM. The connector stays supported on vLLM 0.28 and 0.29, and on 0.26 on request.
  • Choose the vLLM KV connector when the overlap of the restore with the computation matters more. On a hybrid model on one GPU it restores faster. It is also the integration for vLLM 0.26 (on request: no product image or kit is published for it).
  • Choose the LMCache plugin when LMCache is already part of your serving stack. A prompt that is still in the host tier of LMCache comes back a little faster than from the card. A prompt from the card pays for two copies, from the card to host memory and then to the GPU.
  • Choose the SGLang backend when you serve with SGLang.

The gateway, the card setup and the gateway configuration are the same for all integrations. For many pods on many cards, see Cluster modes.

Planning a deployment?

Talk to our engineers about your models, context lengths, concurrency and where the ADP card should sit.

Talk to Awide Labs