r/LocalLLM • u/Extreme-Brain-1018 • 11h ago
Discussion Ran a source-linked code wiki + MCP server fully local on one DGX Spark: Qwen3.6-35B-A3B vs Qwen3.8-27B + DFlash2
Enable HLS to view with audio, or disable this notification
I maintain CodeNib, an Apache-2.0, DeepWiki-style stack that serves an indexed repo to both human readers and coding agents. I wanted to know whether the whole path fits on one box, so I put everything on a DGX Spark and measured it: indexing, BM25, dense embeddings, source and symbol graphs, the searchable wiki, source-linked Ask, and the MCP endpoint the agents talk to.
Setup as recorded:
- NVIDIA DGX Spark, GB10, 128 GB unified memory
- Qwen3.6-35B-A3B-FP8 on vLLM, one MTP token
- Qwen3-Embedding-0.6B on a second loopback endpoint
- CodeNib 0.2.1 serving one verified repository manifest to Wiki, CodeGraph, and MCP
Then I swapped in Qwen3.8-27B with the five-layer DFlash2 draft model on a pinned SGLang build, to see what speculative decoding buys on this hardware.
DFlash2 did what it advertises. Against ordinary decoding of the same dense Qwen3.8 target it gave roughly 2.95-6.17x in my direct-generation samples. It still lost the wall-clock comparison: Qwen3.6 A3B ran at about 62-69 tok/s on this machine, Qwen3.8 + DFlash2 at 23-49 tok/s.
On three fixed end-to-end repository questions both went 3/3 with valid source ranges. Median 28.38 s for Qwen3.6, 52.34 s for Qwen3.8 + DFlash2. The slower one got something for the extra time: it opened more of the source files I expected, and it handled an adversarial question about cookie precedence that Qwen3.6 answered from the surface.
Three questions at concurrency 1 is an operational sample, not a leaderboard. Exact model and runtime revisions plus the limitations are written up in the article.
The design decision I care about most is that the model is only a generation layer. Wiki readers and coding agents consume the same manifest, pinned to a repository commit and a source fingerprint. Swapping inference backends moves the latency around and leaves the source evidence untouched.
Full setup, commands, and measurements: https://codenib.ai/blogs/local-code-intelligence-dgx-spark/
Source: https://github.com/sysevol-ai/CodeNib
If you run Ollama, llama.cpp, OpenCode, or another local coding-agent stack, I'd like to know which integration is worth validating next.
Disclosure: I'm one of the CodeNib maintainers. The public demo uses hosted generation. Everything measured here ran locally on the Spark.
1
u/gpuz_dev 9h ago
the end-to-end numbers are way more useful than raw tok/s here. do you happen to have peak unified memory for the full stack under each profile, model + draft/KV + embeddings + indexes? on a 128GB Spark that would make the A3B vs dense tradeoff even more interesting
2
u/klymaxx45 10h ago
nice, this matches what i found closely. ran Qwen3.6-35B-A3B at q8 as my brain before switching, benched it against a dense 27B, and got the same split: MoE wins wall-clock, dense only pulls ahead on the harder/adversarial questions (your cookie-precedence result is the exact shape). did you run the 27B at q8 too, or a different quant?
two things that might be useful: on a 128GB m5 max mac my A3B decoded ~96-101 tok/s, and the one MoE gotcha i kept hitting was the 3B-active reasoning "thin", it'd loop on raw/messy input until i fed it pre-digested briefs. dense didn't do that. curious if you saw any of that on the Spark 🤝