As a new user, I want elelem to detect my hardware capabilities, so that it can recommend an appropriate model for my system.
SYNOPSIS
Detect GPU/CPU capabilities to determine what models can run locally.
DESCRIPTION
When elelem starts with no configuration, it should be able to detect:
-
GPU presence and type:
- NVIDIA GPU with CUDA support (check nvidia-smi or similar)
- AMD GPU with ROCm support
- No discrete GPU (CPU-only fallback)
-
Available VRAM/RAM:
- GPU memory available for model loading
- System RAM as fallback for CPU inference
-
Model recommendations:
- Map hardware capabilities to appropriate model sizes
- Example: 8GB VRAM → 7B parameter model, 4GB VRAM → 3B model, CPU-only → small model
This information will be used by the local provider to:
- Select the default model automatically
- Warn users if their hardware may struggle with a requested model
SEE ALSO
- lib/elelem/system_prompt.rb (platform detection)
- Story 001 (spike findings will inform implementation)
Tasks
- TBD (filled in design mode)
Acceptance Criteria
- Correctly detects NVIDIA GPU presence on Linux
- Correctly detects AMD GPU presence on Linux
- Correctly detects available VRAM when GPU present
- Correctly detects available system RAM
- Returns a capability summary that can be used for model selection
- Works gracefully when detection tools (nvidia-smi, rocm-smi) are not installed