CUDA版本不同:nvidia

您所在的位置:网站首页 torch__version__ CUDA版本不同:nvidia

CUDA版本不同:nvidia

#CUDA版本不同:nvidia| 来源: 网络整理| 查看: 265

1. 问题

之前就发现,nvidia-smi 中的CUDA 版本与 nvcc不一致,nvidia-smi的结果显示CUDA版本是11.0,而从nvcc-V命令来看,却是CUDA 10.0。但是跑代码也没啥问题。

在这里插入图片描述

 在这里插入图片描述

 2. 分析

其实是因为CUDA 有两种API,分别是运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。

nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API的型号,这里是 11.0。

而nvcc的结果是对应 CUDA Runtime API。

两种API对比 命令CUDA API类型显示CUDA版本号例子说明nvidia-smiDriver APIGPU 驱动版本号;CUDA Driver API号11.0nvcc -VRuntime APICUDA Runtime API10.0安装python包(例如torch)需要匹配runtime cuda版本

 

3. 总结

nvidia-smi版本大于nvcc -V的版本不会有什么问题,如果版本小了,可以去官网:https://www.nvidia.cn/geforce/drivers/ 下载高版本的。

3.1 如果我们想要安装新的cuda

1)去官网找到想要安装的cuda版本,指英伟达官网

https://developer.nvidia.com/cuda-11.1.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

在这里插入图片描述 2) 这里有一些选项

read EULA? 选择accept

当出现这个报错时:

在这里插入图片描述

解决办法:

在这里插入图片描述

 3)安装完毕后,在/usr/local里面会有对应设为cuda-10.0文件

在这里插入图片描述

 然后我们配置环境

sudo vim ~/.bashrc   export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64$LD_LIBRARY_PATH export PATH=/usr/local/cuda-10.0/bin$PATH # 保存退出,然后执行 source ~/.bashrc

完成上述步骤后,执行nvcc --version就是更新的版本的cuda了,然而我的并没有!!!!!!!!!!出现的还是cuda 9.0!!!!!!

解决办法: 1) 卸载cuda 9.0指令

sudo apt-get autoremove nvidia-cuda-toolkit

卸载之后,使用 nvcc -V 提示没有这个文件,即卸载成功

2)为cuda10.0建立软链接:

sudo rm -rf cuda   # 删除之前创建的软链接 sudo ln -s /usr/local/cuda-10.0/  /usr/local/cuda  # 建立新的软链接(制定链接版本为10.0)

然后终于成功了。

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3