Return True for legacy NVIDIA GPUs with no modern CUDA support. Kepler cards (compute capability 3.x) were dropped by CUDA 12 and current llama.cpp CUDA builds, so they only run through the Vulkan backend. Matches ``VULKAN_ONLY_GPUS`` entries as case-insensitive substrings of the GPU na
(gpu: GPUInfo)
| 35 | |
| 36 | |
| 37 | def _is_vulkan_only_gpu(gpu: GPUInfo) -> bool: |
| 38 | """Return True for legacy NVIDIA GPUs with no modern CUDA support. |
| 39 | |
| 40 | Kepler cards (compute capability 3.x) were dropped by CUDA 12 and current |
| 41 | llama.cpp CUDA builds, so they only run through the Vulkan backend. Matches |
| 42 | ``VULKAN_ONLY_GPUS`` entries as case-insensitive substrings of the GPU name, |
| 43 | the same convention used by the bandwidth/compute-capability lookups. |
| 44 | """ |
| 45 | if gpu.vendor != "nvidia": |
| 46 | return False |
| 47 | name_upper = gpu.name.upper() |
| 48 | return any(marker.upper() in name_upper for marker in VULKAN_ONLY_GPUS) |
| 49 | |
| 50 | |
| 51 | def _fit_candidate_gpus(gpus: list[GPUInfo]) -> list[GPUInfo]: |
no outgoing calls
no test coverage detected