我的nvidia驱动需要哪个版本的CUDA才是正确的?

32

我正在使用ubuntu 14.04。我想安装CUDA。但我不知道哪个版本适合我的笔记本电脑。我查看了我的驱动器,结果是:

$cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module  304.125  Mon Dec  1 19:58:28 PST 2014
GCC version:  gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 

我尝试安装CUDA cuda-linux64-rel-7.0.28-19326674,但是当我使用命令进行测试时:

./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL

你能帮我解决这个问题吗?我已经多次重新安装过我的Ubuntu。

2个回答

102

304.xx是一种驱动程序,可支持CUDA 5及以前的版本(不支持更新的CUDA版本)。

如果您想重新安装Ubuntu以创建干净的设置,则Linux入门指南提供了所有必要的说明,以便在此情况下设置CUDA。

我认为您正在通过特定(即单独的)驱动程序安装获取304.xx驱动程序。如果您想使用CUDA 7,没有必要这样做,您可以使用runfile安装程序方法,其中包含所有必要的组件,包括适当的驱动程序(346.46)。请注意,旧版CUDA GPU计算能力1.x将无法使用CUDA 7。对于这些GPU,CUDA 6.5应该可以工作。从CUDA 9.x开始,不再支持旧版CUDA GPU计算能力2.x。旧版CUDA工具包可在此处下载:此处。请注意,任何给定的CUDA工具包都有特定的Linux发行版(包括版本号),受其支持。并非每个CUDA工具包版本都支持所有发行版。通用支持矩阵包含在特定CUDA版本的Linux安装指南中。

有关参考,在Linux上,以前的CUDA工具包需要以下最低驱动程序版本:

For versions newer than 11.0, refer to the table in the release notes linked below
CUDA 11.0: 450.36.06
CUDA 10.2: 440.33.01
CUDA 10.1: 418.39
CUDA 10.0: 410.48
CUDA  9.2: 396.xx
CUDA  9.1: 390.xx (update)
CUDA  9.0: 384.xx
CUDA  8.0  375.xx (GA2)
CUDA  8.0: 367.4x
CUDA  7.5: 352.xx
CUDA  7.0: 346.xx
CUDA  6.5: 340.xx
CUDA  6.0: 331.xx
CUDA  5.5: 319.xx
CUDA  5.0: 304.xx
CUDA  4.2: 295.41
CUDA  4.1: 285.05.33
CUDA  4.0: 270.41.19
CUDA  3.2: 260.19.26
CUDA  3.1: 256.40
CUDA  3.0: 195.36.15

这个表格的一部分被作为“表3”在发布说明中这里进行维护。

这个答案可能也会引起兴趣。


1
我尝试安装cuda v 5.0,但出现错误:/usr/local/cuda-5.0/include/host_config.h:82:2: error: #error -- unsupported GNU version! gcc 4.7 and up are not supported! #error -- unsupported GNU version! gcc 4.7 and up are not supported! - Jame
1
CUDA 5与Ubuntu 14.04不兼容。CUDA 5官方支持的Ubuntu版本为11.10和10.04,详见此处 - Robert Crovella
1
我不知道 "我的NVIDIA版本只支持CUDA 5.0" 是什么意思。如果您想使用Ubuntu 14.04,我建议您重新进行干净的安装,并安装CUDA 7。唯一需要注意的是,如先前提到的,如果您有旧的NVIDIA GPU,则可能需要安装CUDA 6.5。 - Robert Crovella
2
  1. 重新加载Ubuntu 14.04。
  2. 不要安装任何单独的驱动程序,如304.xx或331.xx。
  3. 遵循Linux入门指南中的所有说明,包括删除nouveau等内容。
  4. 仅使用CUDA 7运行文件安装程序方法。假设您有受支持的GPU,它将起作用。您没有指示您正在使用哪个GPU。
- Robert Crovella
3
这个清单并没有一个地方可以直接获取。我从几个来源收集了信息。对于更新的CUDA版本,我仅使用随特定CUDA工具包安装程序一起提供的驱动程序版本。对于旧版本,我通过查看Legacy CUDA toolkits存档来收集信息。我通常不会为RC版本更新上述表格,而CUDA 8目前处于RC状态。当CUDA 8转换为生产状态时,我会尽量记得更新上述表格以适应CUDA 8。CUDA 8RC最低驱动版本为361.62(对于Linux)。 - Robert Crovella
显示剩余9条评论

1

驱动程序版本只是兼容性方程的一半。另一半是计算能力。GPU将支持特定的计算版本,如果CUDA版本的最小计算能力高于GPU支持的计算能力,则您的代码将无法编译或运行。例如,我的笔记本电脑配备了nVidia CUDA 2.1 GPU,这意味着我不能安装比CUDA 8.0 GA2更近的CUDA工具包。这反过来意味着我需要安装与我的CUDA版本兼容的nVidia驱动程序。

CUDA Version        Minimum Compute Capability  Default Compute Capability
CUDA 10.0           3.0                         3.0
CUDA 9.2 update 1   3.0                         3.0
CUDA 9.2            3.0                         3.0
CUDA 9.1            3.0                         3.0
CUDA 9.0            3.0                         3.0
CUDA 8.0 GA2        2.0                         2.0
CUDA 8.0            2.0                         2.0
CUDA 7.5            2.0                         2.0
CUDA 7.0            2.0                         2.0
CUDA 6.5            1.1                         2.0
CUDA 6.0            1.0                         1.0
CUDA 5.5            1.0                         1.0
CUDA 5.0            1.0                         1.0
CUDA 4.2            1.0                         1.0
CUDA 4.1            1.0                         1.0
CUDA 4.0            1.0                         1.0
CUDA 3.2            1.0                         1.0
CUDA 3.1            1.0                         1.0
CUDA 3.0            1.0                         1.0

第三个需要考虑的事情是编译器兼容性。例如,特定CUDA版本需要最低版本的gcc编译器才能兼容。

2
"一个最小版本的gcc编译器",以及一个最大版本,这个版本给我带来的麻烦比最小版本还要多... - Marc Glisse
请点击此处查看与CUDA计算能力要求相关的编程内容。 - Robert Crovella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接