mirror of
https://github.com/likelovewant/ollama-for-amd.git
synced 2025-12-21 14:26:30 +00:00
fix: fix CUDA detection for older GPUs (#12300)
Prioritize GPU compute capability over driver version to ensure Pascal GPUs (CC 6.1) use compatible CUDA v12 libraries instead of v13.
This commit is contained in:
@@ -45,10 +45,18 @@ func cudaVariant(gpuInfo CudaGPUInfo) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check GPU compute capability FIRST
|
||||||
|
isOldGPU := gpuInfo.computeMajor < 7 || (gpuInfo.computeMajor == 7 && gpuInfo.computeMinor < 5)
|
||||||
|
if isOldGPU {
|
||||||
|
// GPU is Pascal or older (CC <= 7.4) - use CUDA v12 (supports CC 6.1)
|
||||||
|
return "v12"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GPU is Turing or newer (CC >= 7.5) - can use newer CUDA
|
||||||
if gpuInfo.DriverMajor < 13 {
|
if gpuInfo.DriverMajor < 13 {
|
||||||
// The detected driver is older than 580 (Aug 2025)
|
// The detected driver is older than 580 (Aug 2025)
|
||||||
// Warn if their CC is compatible with v13 and they should upgrade their driver to get better performance
|
// Warn if their CC is compatible with v13 and they should upgrade their driver to get better performance
|
||||||
if gpuInfo.computeMajor > 7 || (gpuInfo.computeMajor == 7 && gpuInfo.computeMinor >= 5) {
|
if !isOldGPU {
|
||||||
slog.Warn("old CUDA driver detected - please upgrade to a newer driver for best performance", "version", fmt.Sprintf("%d.%d", gpuInfo.DriverMajor, gpuInfo.DriverMinor))
|
slog.Warn("old CUDA driver detected - please upgrade to a newer driver for best performance", "version", fmt.Sprintf("%d.%d", gpuInfo.DriverMajor, gpuInfo.DriverMinor))
|
||||||
}
|
}
|
||||||
return "v12"
|
return "v12"
|
||||||
|
|||||||
Reference in New Issue
Block a user