You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(setup): add Force CPU toggle with guard-rail warning
User request: a toggle to force CPU mode (disable GPU acceleration for
all ASR backends), in the same style as the FP32/INT8 quant toggle.
Plus a guard-rail label that tells the user what they lose/gain based
on detected GPU VRAM.
UI added: new "Performance" QGroupBox between Parakeet and Sortformer:
┌─ Performance ───────────────────────────────────┐
│ GPU [━━●] CPU │ ← centered ToggleSwitch
│ ⚠ CPU mode forced — losing GPU acceleration │ ← dynamic warning
│ (8.0 GB VRAM available). Parakeet FP32 will be │
│ ~6× slower; Canary will be unusably slow. │
└─────────────────────────────────────────────────┘
Guard-rail (label updated live by ToggleSwitch.toggled signal):
- Toggle OFF + GPU ≥ 4 GB → "✓ GPU acceleration enabled" (green)
- Toggle OFF + GPU < 4 GB → "⚠ may OOM, consider INT8" (orange)
- Toggle OFF + no GPU → "ℹ No GPU detected — running on CPU regardless"
- Toggle ON + GPU ≥ 4 GB → "⚠ losing GPU acceleration, Parakeet 6× slower"
- Toggle ON + GPU < 4 GB → "ℹ FP32 likely OOM anyway, int8 reasonable"
- Toggle ON + no GPU → "ℹ no-op, CPU is already used"
Plumbing:
- save_config gets a new force_cpu param. Writes DICTEE_FORCE_CPU="1" or
"0" so the daemon-restart detection sees the change.
- DICTEE_FORCE_CPU added to _ASR_KEYS and _new_asr in _on_apply, so
toggling triggers a synchronous dictee.service restart (15 s timeout).
- dictee.conf.example: new "GPU / CPU mode (advanced)" section
documenting DICTEE_FORCE_CPU values and use cases.
- pkg/dictee/usr/share/dictee/dictee.conf.example synced.
Requires the companion Rust fix (commit e8c8de8) for explicit value
parsing — otherwise writing "0" would still be interpreted as "force CPU".
0 commit comments