vllm-metal
AGENTS.md2k starsChanged 10 days agoApache-2.0View on GitHub
Follow the contributor guide for setup and general checks. For Omni additions, follow the model ownership and layout. Before opening a PR, search open PRs by topic. When working from an issue, read its comments and search for PRs referencing it: Do not open a duplicate PR. Explain any materially different approach in the PR description. Run checks relevant to the change. Report the commands, results, and any checks you could not run in the PR description. Extend related test…
Trending
More talk lately.about the whole repository
Who's talking about vllm-project/vllm-metal
- sgl-project/sglang“[Feature] MLX Backend Implementation for SGLang”GitHub · Jan 28, 2026 · 9 reactions
- @qdrddr.bsky.social“#vLLM #Metal #inference engine now supports running models on #AppleSilicon with TutboQuant #KVcache. …”Bluesky · Apr 22, 2026 · 3 likes
- docker/model-runner“chore: update vllm-metal version to v0.2.0 and vllm version to 0.19.1”GitHub · Apr 20, 2026 · 1 reactions
- krystophny/vllm-metal“Active upstream feature tracker (memory + distributed + runtime)”GitHub · Feb 13, 2026 · 1 reactions
- docker/model-runner“feat: add vllm-metal”GitHub · Jan 28, 2026 · 1 reactions
The biggest 5 of 36 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 36
Talked about on GitHub and Bluesky (36 times).
On GitHub · 35
- Jan 28, 2026[Feature] MLX Backend Implementation for SGLang — sgl-project/sglang9 reactions · 6 comments
- Apr 20, 2026chore: update vllm-metal version to v0.2.0 and vllm version to 0.19.1 — docker/model-runner1 reaction · 1 comment
- Feb 13, 2026Active upstream feature tracker (memory + distributed + runtime) — krystophny/vllm-metal1 reaction
- Jan 28, 2026feat: add vllm-metal — docker/model-runner1 reaction · 5 comments
- Nov 5, 2026Updated single-repositories/github/vllm-project/vllm-metal.yml — oss-compass/compass-projects-information0 reactions
30 more on GitHub
- Nov 4, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.33.0` — mudler/LocalAI0 reactions
- Oct 31, 2026[Bugfix][Multimodal] Lazy load native media decoders — vllm-project/vllm0 reactions · 2 comments
- Oct 29, 2026Updated single-repositories/github/vllm-project/vllm-metal.yml — oss-compass/compass-projects-information0 reactions · 1 comment
- Oct 28, 2026knowledge: distill vllm-metal with portable AREX workflow — InferMatrixLab/InferRSI0 reactions · 1 comment
- Oct 22, 2026Updated single-repositories/github/vllm-project/vllm-metal.yml — oss-compass/compass-projects-information0 reactions · 1 comment
- Oct 21, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.32.0` — mudler/LocalAI0 reactions
- Oct 14, 2026Updated single-repositories/github/vllm-project/vllm-metal.yml — oss-compass/compass-projects-information0 reactions · 1 comment
- Oct 13, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.31.0` — mudler/LocalAI0 reactions
- Oct 5, 2026Updated single-repositories/github/vllm-project/vllm-metal.yml — oss-compass/compass-projects-information0 reactions · 1 comment
- Sep 27, 2026Updated single-repositories/github/vllm-project/vllm-metal.yml — oss-compass/compass-projects-information0 reactions · 1 comment
- Sep 23, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.30.0` — mudler/LocalAI0 reactions
- Sep 23, 2026`Logos`: Update vllm-metal to v0.30.0 — ls1intum/edutelligence0 reactions · 2 comments
- Sep 13, 2026[Feature Request] [Metal] MLX adapter for Metal kernels (vllm-metal) — tile-ai/tilelang0 reactions
- Sep 12, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.29.0` — mudler/LocalAI0 reactions
- Sep 11, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.29.0` — mudler/LocalAI0 reactions · 1 comment
- Sep 11, 2026[Feature Request] - Megakernel on Apple silicon (M4/M5): small-batch decode and larger-than-memory models. — mirage-project/mirage0 reactions
- Aug 31, 2026chore: :arrow_up: Update vllm-metal (darwin) to `v0.3.0.dev20260830051249` — mudler/LocalAI0 reactions
- Aug 14, 2026MTPLX performance tanks after 32k context window — youssofal/MTPLX0 reactions · 7 comments
- Aug 12, 2026Absorb DeepSeek V2 kv_b_proj weights — ml-explore/mlx-lm0 reactions · 1 comment
- Jul 23, 2026[Feature][MLX] Gemma 4 MTP speculative decoding on Apple Silicon — sgl-project/sglang0 reactions · 1 comment
- Jul 9, 2026feat(llm): add vLLM Metal as high-performance Apple Silicon inference backend (Phase C candidate) — thekaveh/atlas0 reactions · 7 comments
- Mar 24, 2026Add OpenAI Responses API core — computor-org/vllm-mlx0 reactions
- Mar 24, 2026[BUG] Typed `mlx::core::array` bridging appears unavailable in external MLX extensions, blocking custom lazy primitives — ml-explore/mlx0 reactions · 1 comment
- Mar 12, 2026Upgrade vLLM to v0.14 or newer for Qwen3 / Transformers 5.x compatibility (v0.17.1 preview has been released) — ZJU-REAL/EasySteer0 reactions · 6 comments
- Jan 28, 2026Upgrade vLLM to 0.14.1 for transformers 5.x compatibility — krystophny/vllm-metal0 reactions · 3 comments
- Jan 28, 2026Comprehensive dependency pinning in install.sh — krystophny/vllm-metal0 reactions · 1 comment
- Jan 28, 2026Pin transformers to <5.0 in install.sh — krystophny/vllm-metal0 reactions · 1 comment
- Jan 27, 2026Figure out support for Apple Silicon — EuroEval/EuroEval0 reactions · 11 comments
- Jan 12, 2026Add vllm formula with CPU/Metal support — ericcurtin/homebrew-core0 reactions
- Jan 5, 2026[Report issue] vLLM — linuxfoundation/insights0 reactions · 2 comments
On Bluesky · 1
- Apr 22, 2026#vLLM #Metal #inference engine now supports running models on #AppleSilicon with TutboQuant #KVcache. #TutboQuant increases context length,… — @qdrddr.bsky.social3 likes and reposts
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
We split this AGENTS.md into the rules it gives an agent
12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 3
Follow the contributor guide for setup and general checks.
- Very specific: line 10
When creating an issue, always use available templates from .github/ISSUE_TEMPLATE/, following its structure and required fields.
- Distinctive: line 14
Before opening a PR, search open PRs by topic.
- Distinctive: line 22
Do not open a duplicate PR.
- Distinctive: line 27
Keep changes focused; avoid unrelated refactors and cleanups.
- Distinctive: line 29
Keep one-off experiments, debug harnesses, and low-value tests local, outside the PR.
- Distinctive: line 31
Prefer legible, self-documenting code.
- Distinctive: line 35
Run checks relevant to the change.
- Very specific: line 47
No one-off kernel benchmarks in
tests/: Put kernel perf work in tools/benchmark/. - Very specific: line 53
Always set PYTORCH_ENABLE_MPS_FALLBACK=0 for MPS runs to disable PyTorch's optional CPU fallback.
- Distinctive: line 62
Test the algorithm's correctness properties, including exact verifier results for fixed target logits.
- Distinctive: line 68
Use a short, imperative subject describing the change.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agent instructions for vllm-metal
Follow the contributor guide for setup and general checks. For Omni additions, follow the model ownership and layout.
Motivation
- Address real problems backed by a reproducer, measurements, or a concrete user need. Avoid fixes justified only by hypothetical failures.
- State the motivation clearly in the PR description: the current behavior, the affected use case, and why the issue matters in practice.
- When creating an issue, always use available templates from
.github/ISSUE_TEMPLATE/, following its structure and required fields.
Duplicate-work checks
Before opening a PR, search open PRs by topic. When working from an issue, read its comments and search for PRs referencing it:
gh pr list --repo vllm-project/vllm-metal --state open --search "<short area keywords>"
gh issue view <issue_number> --repo vllm-project/vllm-metal --comments
gh pr list --repo vllm-project/vllm-metal --state open --search "<issue_number> in:body"Do not open a duplicate PR. Explain any materially different approach in the PR description.
Coding style
- Match existing code style.
- Keep changes focused; avoid unrelated refactors and cleanups.
- Reuse existing utilities. Add helpers or abstraction layers only when they serve a concrete current need.
- Keep one-off experiments, debug harnesses, and low-value tests local, outside the PR. Include durable regression tests and necessary fixtures.
- Validate inputs at boundaries. Keep unexpected failures visible; avoid broad exception handling or fallback values that conceal broken internal contracts.
- Prefer legible, self-documenting code. Remove redundant comments. Use comments for non-obvious intent or constraints, and keep comments and docstrings brief and direct.
Validation
Run checks relevant to the change. Report the commands, results, and any checks you could not run in the PR description.
Extend related test suites. Test observable behavior rather than locking in implementation details.
Test design
When adding tests:
- Design before you write. Answer four questions first: what is the module for, what is its I/O contract, what failure am I guarding against, and what is the cheapest level that catches it (unit over integration over e2e)?
- Reuse before create. Extend existing test files,
conftest.pyfixtures, and helpers; add a new file only when no nearby suite fits. - Test behavior with intent. Assert observable outcomes through public APIs; state why in the name or docstring. Skip trivial wiring; flaky tests are worse than no tests.
- Keep it minimal. One behavior per test and the smallest setup that triggers it; if the test diff dwarfs the code change, cut scope.
- No one-off kernel benchmarks in
tests/. Put kernel perf work intools/benchmark/; prove correctness in existing pytest suites.
Model parity and benchmarks
For model changes, use parity tools with matching checkpoints and input token IDs.
Always set PYTORCH_ENABLE_MPS_FALLBACK=0 for MPS runs to disable PyTorch's optional CPU fallback.
- MLX and PyTorch MPS: compare top-K parity against
mlx_lmusing the parity tool with--top-k 5. SetVLLM_METAL_BACKEND=mpsto check PyTorch MPS serving. ReportEXACTandTOP_K_MATCHcounts separately and investigate failures. Parity checks may be unreliable for MoE models. When mismatches occur, investigate routing flips between experts with nearly tied scores.
For performance improvements, report before/after end-to-end serving speedup on meaningful workloads using vllm bench serve. Follow the macOS benchmarking guide and keep the model, workload, and serving configuration consistent between runs.
Speculative decoding
- Compare fresh greedy runs with speculative decoding enabled and disabled, using the same inputs and settings. Accept
EXACTor mutualTOP_K_MATCHat the first divergence (--top-k 5); require zeroFAIL. - Test the algorithm's correctness properties, including exact verifier results for fixed target logits. For draft-model speculation, use the same checkpoint for draft and target under greedy decoding; acceptance should be near 100%. Report the measured rate and investigate substantial rejections.
- Evaluate acceptance rate and speedup on natural datasets such as RedHatAI/speculator_benchmarks, prepared with the dataset builder. Artificial workloads such as
sonnetcan produce unrealistically low acceptance rates. - Demonstrate end-to-end speedup at batch size
B=1. Speedup atB>1is harder but still expected; benchmark both with the benchmark tools. Report the tested batch sizes, representative workloads, and any regressions.
Commit messages
- Use a short, imperative subject describing the change. Explain the reason in the body when it is not obvious.
- Sign off commits with
git commit -s. AddCo-authored-by:trailers when applicable.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

