The expert-cache question was already answered in mi210-vllm, and the guide that framed it was wrong - #92
Open
Andrei-Dr wants to merge 2 commits into
Open
The expert-cache question was already answered in mi210-vllm, and the guide that framed it was wrong#92Andrei-Dr wants to merge 2 commits into
Andrei-Dr wants to merge 2 commits into
Conversation
…amed it was wrong
…unmerged is not the objection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A recurring proposal — trace the router, simulate an LRU expert cache, then implement one — came round again. It should not be run, and the reason is already on disk.
docs/60, plus a correction toguides/moe-expert-cache-vllm.md.1. The study already ran.
mi210-vllm/docs/ROUTING.md, 2026-08-06, onglm52-int4int8:route_probe_sitecustomize.pyinstruments the router,drive_routing.pydrives a six-language mixed workload,analyze_routing.pyreplays it through static top-K and LRU with prefill/decode separated and K swept. That is phase 1 plus most of phase 2 of the proposal, already built.At 8-of-256 experts per token the cost is 8 experts x ~76 layers crossing PCIe whichever ones they are, and there is ~2.6 GiB free VRAM per card after the offload window. Verdict there: "caching will not help."
2. The deployment the proposal optimizes is gone. The framing is "25 of 48 expert layers on CPU."
/models/mimo-v25/...does not exist, no MiMo weights remain on/mnt/llm-storage, llama-swap is not running, and the live litellm config serves coder / deephat / glm-5.2 / laguna. The README's architecture section still describes the MiMo split — flagged, not rewritten here, since that is your call.3. Guide corrected, on both counts, precisely.
--moe-expert-cache-sizeis documented as shipped. It is not — open PR [MoE][Offload] Run MoE models exceeding VRAM via expert CPU offloading with GPU cache (--moe-expert-cache-size) vllm-project/vllm#37190. But "unmerged" is not the objection:mi210-vllm/patches/registry.yamlcarries five unmerged vLLM branches on purpose andaiter-cdna2goes much further. The objections are that #37190 needs--enforce-eager(surrendering the 99.9%-coverage graph decode ofdocs/42, whose eager control was 3.5x slower wall) and is BF16 / no EP>1, so it cannot serve Q4_K at all — and that the trace says it would not pay anyway.VLLM_USE_AITER=0advice: true of stock AITER, false as a hardware claim. Upstream really does ship gfx942/gfx950/gfx1250 objects only and gate by arch name —aiter-cdna2's README saysVLLM_ROCM_USE_AITER=1"has no effect whatsoever" on an unpatched MI210. What makes it false here isaiter-cdna2repatching 242 of 1,422 objects and openingon_mi3xx(). The note is now conditional on which image you are running, since the guide is public and most readers do not have the patched one — and it carries the caveat thatROCM_AITER_FAsilently corrupts sliding-window attention on gfx90a, so "AITER on" is not unconditionally right even here.4. Two claims corrected that keep being cited as successes. The vLLM
PrefetchOffloadercrashed inncclAllReduce(docs/29 §2;round18_prefetch_eager.shis the retry and its header opens "WHAT FAILED"; the 695.9 t/s is a target string). Selective UVA was never measured —round20states predictions,round15refuses to run withoutALLOW_UVM_HANG=1, and the only UVA result is a VM fault at weight load.Still open, narrowly: does some other MoE route more skewed than entropy 0.91? That is a port of the existing tooling, not a new simulator, and it needs a resident MoE to point at.
Two ledger entries added. No production change.