今天小编给大家分享一下显卡驱动CUDA和pytorch CUDA 之间的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
常见的查看CUDA版本的指令有如下几个
nvidia-smi nvcc --version python -c "import torch; print(torch.version.cuda)"
nvidia-smi
nvcc --version
我先在用的是Windows电脑,这里是一张Linux 网图
python -c “import torch; print(torch.version.cuda)”
这个命令一旦装完显卡驱动(nvidia-driver)就可以使用了,驱动程序提供最底层的程序接口,直接与硬件打交道。插上显卡的计算机也必须要装上驱动程序才能使用显卡。所以 nvidia-smi 的输出几乎都是显卡的硬件信息。
系统同一时间只能安装一个版本的驱动程序,如果安装多套版本可能会导致未定义的错误,另外驱动程序保持最新版本即可。
那这里的 CUDA Version 是代表什么呢?其实驱动程序也有 CUDA,叫做 Driver CUDA,这里指的是 Driver CUDA 的版本。而几乎所有的框架程序,所使用的 CUDA 都不是 Driver CUDA,而是 NVIDIA 提供的更上层的编程接口,叫做 Runtime CUDA
首先 nvcc 是一个编译器,这个编译器是用户在安装 Runtime CUDA 的时候附带的。因此 nvcc 打印的是 Runtime CUDA 的版本。同样的,torch.version.cuda 打印的也是 Runtime CUDA 的版本,那这两个版本为什么也不同呢?我们需要先了解Runtime CUDA。
Runtime CUDA 是 NVIDIA 封装的上层接口,几乎所有的应用程序,都是直接调用 Runtime CUDA 的 API,而 Runtime CUDA 内部调用 Driver 的接口。所以通常所说的 CUDA 都是指的 Runtime CUDA(除非是驱动开发的人员)。另外 NVIDIA 有一个规则,Runtime CUDA 的版本号必须小于等于Driver CUDA 的版本号,所以 nvidia-smi
输出的 CUDA 版本可以理解为该系统所能安装的最高 CUDA 版本号是多少。
安装方法
nvcc --version
输出的是当前安装的 CUDA 的版本,而系统同一时间还可以安装多套 CUDA,并且安装的方式还多种多样,一般来说有以下几种安装方式:
PyTorch 本身自带 CUDA
# 会自动安装 CUDA 10.2 pip3 install torch # 会自动安装 CUDA 11.3 pip3 install torch --extra-index-url https://download.pytorch.org/whl/cu113 # 会自动安装 CUDA 11.6 pip3 install torch --extra-index-url https://download.pytorch.org/whl/cu116
有人可能会问:为什么装了 PyTorch 之后,没有 nvcc
这个命令,或是 nvcc --version
显示的 CUDA 和 PyTorch 安装的 CUDA 版本对不上?
上文说了,一个系统可能有多套 CUDA,如果 nvcc --version
显示的 CUDA 对不上号,是因为系统本身安装了其他版本的 CUDA。另外,PyTorch 自带的 CUDA 只包含库文件,没有 nvcc
编译器,所以没有 nvcc
这个命令。
通过 Ubuntu 的官方源安装
sudo apt-get install nvidia-cuda-toolkit
通过 conda 安装
conda search -c conda-forge cudatoolkit # 列出所有可以安装的版本 conda install -c conda-forge cudatoolkit=xx.x.x
以上就是“显卡驱动CUDA和pytorch CUDA 之间的区别是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。