mudler/vllm.cpp

a community oriented 1:1, vLLM-alike (Continuous batching, paged KV) engine in C++ with additional features (GGUF, RadixAttention, Cache-aware scheduling, ...)

What it solves

vllm.cpp is a high-performance C++20 inference engine designed to provide the serving capabilities of vLLM without the heavy dependency footprint of Python and PyTorch. It aims to be the smallest possible deployment (a single 66 MiB binary) while maintaining the throughput and feature set of the original vLLM project.

How it works

The engine combines the best features from several leading inference frameworks:

  • vLLM Core: Implements continuous batching, block-paged KV cache, and automatic prefix caching.
  • SGLang: Integrates RadixAttention and cache-aware scheduling.
  • llama.cpp: Adopts a flat C ABI for easy embedding and native support for GGUF quantized files.
  • Hardware Acceleration: Supports a wide range of backends including CUDA, CPU, Metal, and Vulkan from a single source tree.

Who it’s for

It is intended for developers and operators who need to deploy LLMs with minimal overhead, those who want to OpenAI-compatible endpoints without a Python environment, and users running models on diverse hardware (NVIDIA, Apple Silicon, portable GPUs).

Highlights

  • Extreme Lightweightness: 66 MiB binary vs 9.1 GiB vLLM installation.
  • Broad Model Support: 37 registered architectures, including Llama-3, Mistral, Qwen, and DeepSeek.
  • Multimodal Capabilities: Supports image, video, and audio input, as well as video and audio generation via MiniMax-H3.
  • High Performance: Matches or exceeds vLLM throughput on specific models (e.g., Qwen3.6-27B) and outperforms llama.cpp prefill on CPU.
  • Flexible Quantization: Native support for GGUF and NVFP4.
  • C ABI: Provides a versioned C ABI for seamless integration into C, C++, Go, or Rust applications.

Related

  • Project
  • Project
  • Project
  • Project
  • Project