CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。Nvidia官方提供的CUDA 库是一个完整的工具安装包,其中提供了 Nvidia驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。
Nvidia CUDA
Nvidia安装的cuda是一个完整的cuda库,包含cuda toolkit和相应的驱动。主要包含三部分:CUDA toolkit、CUDA driver和NVIDIA GPU driver。理论上在安装完驱动以后只需要安装CUDA toolkit就可以保证CUDA相关的程序运行。
查看CUDA版本方法
CUDA分为两种,驱动API和运行API,驱动API指的是指的显卡驱动支持的最高cuda版本,我们运行程序时用的是运行API。
查看CUDA的驱动API版本
表示的是驱动所能支持的最大运行API版本。如果显示11.3,用我们常说的话就是最大支持11.3的cuda。下面为查看CUDA驱动API版本的命令:
nvidia-smi #右上角显示CUDA版本(驱动API)
显示结果:
查看CUDA的运行API版本
这是平时我们所说的CUDA版本,由于运行API在CUDA里的CUDA Toolkit工具包中,所以运行API版本也是CUDA Toolkit工具包的版本。其实装了Anaconda之后Anaconda也会提供一个cudatoolkit工具包,同样包含了CUDA的运行API,可以用来替代官方CUDA的CUDA Toolkit。这也就是为什么有时候我们通过nvcc-V查看的cuda版本很低(比如7.5),但是能成功运行cuda9.0的pytorch的原因。因为在安装完anaconda后,运行pytorch代码就会使用anaconda的cudatoolkit,而忽视官方的CUDA Toolkit,所以我们只需要根据anaconda的cudaoolkit包的版本来安装相应的pytorch即可。下面为查看运行API版本的命令:
查看官方CUDA的运行API版本
方法1
nvcc -V
结果显示官方CUDA提供的CUDA Toolkit工具包的版本为7.5。
方法2
输入下面的命令,也是显示官方提供的CUDA Toolkit版本。显示的版本和上面一样,也是7.5。
cat /usr/local/cuda/version.txt
查看Anaconda里cudatoolkit包版本
输入以下命令,在显示列表中找到cudatoolkit包就可以看到它的版本了。
conda list
显示的版本为10.2.89。这是我们运行pytorch的cuda版本,根据它来下载对应的pytorch即可。