Four Codex follow-ups on the Vulkan GPU-selection path: - /load + /validate: run validate_vulkan_gpu_ids off the event loop (asyncio.to_thread). It can spawn a blocking Vulkan probe subprocess, which would otherwise freeze status/progress/unload for up to the probe timeout. - /api/system, /load, /validate: check the Vulkan build BEFORE the XPU ban. A Vulkan pick uses ggml ordinals (--device Vulkan<i>), not torch-xpu ordinals, so an Intel/XPU host on a Vulkan build must still get the picker and accept gpu_ids instead of being rejected. - Active/status GPU-kind stamp: an active GGUF hydrated from /status before the GPU cache warms had no index-space stamp, so a later Reload/Remember treated its live Vulkan pick as a legacy physical one and reconciled it away. Carry selectedGpuIdsKind through useActiveModelConfig (via the reactive useCurrentGpuIndexKind) and fall back to the current kind in currentRuntimePerModelConfig when the store stamp is missing -- an active pick is by definition in the current backend's space. |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| src-tauri | ||
| __init__.py | ||
| install_llama_prebuilt.py | ||
| install_node_prebuilt.py | ||
| install_python_stack.py | ||
| install_whisper_prebuilt.py | ||
| LICENSE.AGPL-3.0 | ||
| MCP.md | ||
| node_prebuilt_pins.json | ||
| package-lock.json | ||
| package.json | ||
| prebuilt_core.py | ||
| setup.bat | ||
| setup.ps1 | ||
| setup.sh | ||
| Unsloth_Studio_Colab.ipynb | ||