docs/platform-support.md
nvidia-smi (NVIDIA), rocm-smi (AMD), sysfs/lspci (Intel Arc) and npu-smi (Ascend).system_profiler. VRAM = system RAM (shared pool). Models run via Metal GPU acceleration.nvidia-smi available.nvidia-smi if installed.| Vendor | Detection method | VRAM reporting |
|---|---|---|
| NVIDIA | nvidia-smi | Exact dedicated VRAM |
| AMD | rocm-smi | Detected (VRAM may be unknown) |
| Intel Arc (discrete) | sysfs (mem_info_vram_total) | Exact dedicated VRAM |
| Intel Arc (integrated) | lspci | Shared system memory |
| Apple Silicon | system_profiler | Unified memory (= system RAM) |
| Ascend | npu-smi | Detected (VRAM may be unknown) |
If autodetection fails or reports incorrect values, use --memory, --ram, or --cpu-cores to override (see Hardware overrides).
On Android setups such as Termux + PRoot, llmfit usually cannot see mobile GPUs through the standard Linux detection paths (nvidia-smi, rocm-smi, DRM/sysfs, lspci, etc.). In those environments, "no GPU detected" is expected with the current implementation.
If you still want GPU-style recommendations on a unified-memory phone or tablet, use a manual memory override:
llmfit --memory=8G fit -n 20
llmfit recommend --json --memory=8G --limit 10
This is a workaround for recommendation/scoring only; it does not provide true Android GPU runtime detection.