我的 nvidia driver 的正确 CUDA 版本是什么?

What is the correct version of CUDA for my nvidia driver?

我正在使用 ubuntu 14.04。我想安装 CUDA。但我不知道哪个版本适合我的笔记本电脑。我跟踪我的 driver 即:

$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 很多次。

304.xx 是将支持 CUDA 5 及之前版本的驱动程序(不支持较新的 CUDA 版本。)

如果您想重新安装 ubuntu 以创建一个干净的设置,linux getting started guide 包含设置 CUDA 所需的所有说明,如果您有意的话。

我相信您是通过特定的(即单独的)驱动程序安装来获取 304.xx 驱动程序的。如果你想使用 CUDA 7,这不是必需的,你可以只使用 runfile 安装程序方法,它具有所有必要的组件,包括适当的驱动程序 (346.46)。请注意,CUDA 7 将无法与具有计算能力 1.x 的旧版 CUDA GPU 一起使用。对于这些 GPU,CUDA 6.5 应该可以工作。从 CUDA 9.x 开始,也不支持具有计算能力 2.x 的旧版 CUDA GPU。较旧的 CUDA 工具包可供下载 here。请注意,任何给定的 CUDA 工具包都具有受支持的特定 Linux 发行版(包括版本号)。并非每个 CUDA 工具包版本都支持所有发行版。一般支持矩阵包含在 linux 特定 CUDA 版本的安装指南中。

供参考,在 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

此 table 的一部分在发行说明中保留为 Table 1 here

这个 可能也很有趣。

只是兼容性方程式的一半。另一半是计算能力。 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

您可能需要考虑的第三件事是 compiler compatibility。例如,需要最低版本的 gcc 编译器才能与特定 CUDA 版本兼容。