openclaw / openclaw/openclaw-windows-node
Allow explicit NVIDIA GPU selection during Local AI setup
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.1k
- Forks
- 295
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 99
Description
Problem
Local AI detects and deterministically ranks multiple NVIDIA GPUs, but setup does not let the user choose which eligible GPU will run llama-server.
The current selection policy ranks candidates by eligibility, known free memory, free memory, total memory, stable UUID, and name:
The setup UI exposes a model selector but no GPU selector:
The selected GPU is already persisted and launched safely by stable NVML UUID through CUDA_VISIBLE_DEVICES:
Impact
When multiple GPUs can run the selected model, the automatic policy can prefer an older high-memory or less-busy card over a faster card the user intends to use. Enthusiast and workstation systems commonly have workload-placement reasons that cannot be inferred from memory alone.
Expected behavior
- Show every GPU eligible for the selected model.
- Display useful evidence such as adapter name, memory, compatibility, and current availability.
- Keep the current deterministic policy as the recommended default.
- Let the user explicitly override the recommendation.
- Persist the selection using the stable NVML UUID, never a transient adapter index.
- Revalidate the chosen GPU before artifact acquisition and runtime startup.
- Provide a clear recovery path if the selected GPU is removed or no longer eligible.
Tests
Add coverage for:
- Multiple eligible GPUs with different memory and availability
- User override of the recommended GPU
- Model changes that alter GPU eligibility
- Persistence and
CUDA_VISIBLE_DEVICEShandoff by UUID - Selected GPU removed or made ineligible before setup continues
- Equal-name adapters with distinct UUIDs
Suggested by @shanselman.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with LocalInferenceEligibility.cs to understand candidate ranking, then inspect CapabilitiesPage.xaml for the setup UI and LlamaServerRouterConfiguration.cs for UUID persistence and CUDA_VISIBLE_DEVICES handoff. Add coverage for GPU overrides, model eligibility changes, persistence, and removed or equal-name adapters; done means the recommended GPU remains the default and an explicit valid selection is revalidated before setup continues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- ai, desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100