lablup/mlxcel
High-performance LLM/VLM inference runtime and server for Apple Silicon / NVIDIA CUDA devices
What it solves
mlxcel is a high-performance inference runtime and server designed to eliminate the need for a Python environment when deploying Large Language Models (LLMs) and Vision-Language Models (VLMs). It provides a native, single-process execution environment that simplifies deployment, packaging, and service supervision while maintaining performance parity with Python-based MLX references.
How it works
Implemented in Rust, mlxcel uses native MLX C++ bindings to execute models. It supports Apple Silicon, NVIDIA CUDA-compatible devices, and experimental OpenXLA-compatible devices. The runtime handles model loading, scheduling, and inference within a single native process, allowing it to run models directly from mlx-community checkpoints without requiring a conversion step.
Who it’s for
It is intended for developers and operators who want to deploy local or small-cluster inference servers with minimal overhead, those migrating from llama.cpp (due to its OpenAI-compatible API and similar flag structure), and users of Apple Silicon or NVIDIA GPUs.
Highlights
- Native Performance: Achieves near-parity with
mlx-lmandmlx-vlmdecode throughput, with significantly faster short-prompt text prefill. - Broad Model Support: Supports a wide array of text and vision-language families including Llama, Qwen, Gemma, Phi, Mistral, DeepSeek, and others.
- OpenAI Compatible: Provides an OpenAI-compatible HTTP API for
/v1/chat/completions,/v1/completions, and/v1/responses. - Production-Ready Features: Includes continuous batching, prompt-prefix caching, speculative decoding, and KV-cache compression.
- Model Surgery: Offers first-class YAML load-time model surgery (scale, add, prune, replace, interpolate) for weight-space changes without retraining.
- Distributed Inference: Implements tensor and pipeline parallelism for selected model families.
Related
- Project
- Project
- Project
- Project
- Project