Add Metal execution preferences

This commit is contained in:
Georg Bauer
2026-07-24 15:37:13 +02:00
parent bccce697af
commit ac464317d4
8 changed files with 326 additions and 16 deletions

View File

@@ -45,7 +45,7 @@ Exit criterion: restart the app and see the same project/session tree.
## Phase 1 — model library and on-demand loading
Status: **partially implemented**. Basic preferences, typed generation defaults,
Status: **partially implemented**. Typed generation and execution preferences
and the complete background download workflow are implemented; the remaining
DS4 runtime preferences, loading, inference, and idle unloading remain open.
@@ -153,9 +153,9 @@ than inventing application-specific behavior.
`--nothink`. Preserve DS4's explicit-vs-default distinction because GLM
applies model-family sampling defaults only when the user has not overridden
them.
- **Backend and execution:** backend (`--backend` and its aliases), CPU helper
threads, GPU power percentage, prefill chunk, exact/quality kernels, and warm
weights. Only offer backend/device choices supported by the current build.
- **Execution:** the macOS app uses Metal exclusively; omit the unnecessary CPU
backend and backend selector. Persist CPU helper threads for host-side work,
GPU power percentage, prefill chunk, exact/quality kernels, and warm weights.
- **Speculative decoding:** MTP draft-token count and margin, GLM MTP, GLM MTP
timing, DSpark enablement, DSpark confidence threshold, and DSpark strict
target-only decode. Enabling a dependent control must enable or require its