问题描述:我们发现nvidia-smi和nvcc -V都可以查看cuda的版本,而且一般这两种命令查到的版本还不一样,什么原因呢?
(1)nvidia-smi是用来查看电脑上的驱动API版本。
首先进入激活环境中,然后输入以下命令
nvidia-smi
结果如下,版本11.4
(2)nvcc -V是用来查看电脑上的运行API版本
首先进入激活环境中,然后输入以下命令
nvcc -V
得到如下结果。版本11.1
或者进入激活环境中,然后输入python→import torch→print(torch.cuda.is_available())→ print(torch.version.cuda)
得到如下结果。版本11.1
分析:我们发现驱动API和运行API不一样。事实上,我们安装电脑cuda,cuda是由电脑上的英伟达显卡驱动决定的; 显卡驱动472.88是由显卡型号3060决定的;
所以配环境时,我们首先装的是cuda的驱动API,然后在装torch时,在官网上下载torch,默认跟着下载了一个cuda的运行API。这时需要保证运行API的版本小于cuda的驱动API(网友是这么说的,我也没有试验过运行API的版本大于cuda的驱动API会出现什么情况)。也就是说,我们实际上使用的是运行API。我们可以在多个配置环境,安装多个运行API,只需要这些运行API小于驱动API就行了。