-
Notifications
You must be signed in to change notification settings - Fork 17
Parallel Mapped MMQ Compilation
The mapped expert path needs many MMQ template variants. Serial compilation of the translation unit caused one CUDA object to dominate clean build time. This feature splits mapped-MMQ instantiations so the build system can compile them concurrently.
Important
CUDA REQUIRED: This is a CUDA build-time optimization. It does not alter runtime kernel selection or support on other backends.
The split preserves the same externally selected MMQ variants and kernel arithmetic. Its purpose is to expose independent compiler work to the existing build parallelism, not to add another runtime dispatcher. Incremental builds still benefit from ccache when compile commands and generated inputs match.
A parallel build can consume substantial host RAM. The project workflow caps local builds at -j20; a smaller value may be necessary on lower-memory systems. This feature does not make one large template instantiation cheap, but it avoids putting all mapped variants behind one serial compilation edge.
| Branch | Implementation |
|---|---|
moe-cache |
ggml/src/ggml-cuda/mmq.cu, ggml/src/ggml-cuda/mmq.cuh
|
Implementation commit: d4e438313.
For general CUDA build options, use the upstream build documentation.
GenerelSchwerz llama.cpp
- Home
- Discord community
- Contributors
- Complete feature index
- Hardware setup guides
- Owner-verified evidence
- Notable runs
- Benchmark comparison showcase
- BeeLlama Main
- Llama Main
- Llama Dev
- MoE Cache
Feature groups
- Memory placement and workspace
- Validation and diagnostics
- CUDA MoE cache and helpers
- Grouped MoE drafting
Source branches