nvidia-smi显示CUDA版本错误,Python环境安装CUDA依赖应用以哪个版本为准?
问题1:安装Python环境下依赖CUDA的应用时,应以哪个CUDA版本为准
首先明确两个CUDA版本的本质区别:
- nvidia-smi返回的CUDA版本:是你的NVIDIA驱动所能支持的最高CUDA版本,向下兼容低版本CUDA
- nvcc -V返回的CUDA版本:是你本地系统实际安装的全局CUDA Runtime版本
分两种场景判断参考版本:
- 如果你安装的是PyTorch、TensorFlow这类官方提供预编译安装包的库,只要你选的库对应的CUDA版本不超过nvidia-smi显示的最高支持版本即可,这类预编译包会自带对应版本的CUDA运行环境,不需要和你系统全局安装的CUDA版本对齐。
- 如果你需要从源码编译依赖CUDA的Python应用,或者安装需要调用系统全局CUDA的第三方库,必须以
nvcc -V返回的系统CUDA版本为准,也就是你安装的10.1版本。
问题2:如何卸载11.1版本,仅保留CUDA 10.1
你查询的系统文件、环境变量、nvcc返回的都是10.1版本,说明你的全局系统并没有安装CUDA11.1,Python提示的11.1版本大概率来自你Python环境中安装的带捆绑CUDA的第三方库,按以下步骤处理即可:
- 先排查Python环境内的捆绑CUDA包:
打开对应Python环境的终端,执行命令:
输出结果中会显示带cu111标识的包,比如pip list | findstr cudatorch==1.9.0+cu111这类,直接用pip uninstall 对应包名卸载即可。如果后续需要适配CUDA10.1的版本,重新安装对应库的cu101版本即可。 - 如果排查后确认系统确实安装了全局CUDA11.1:
打开Windows控制面板的「程序和功能」,找到所有名称包含「NVIDIA CUDA 11.1」的安装条目,逐个卸载即可,不要删除名称带10.1的CUDA相关条目,卸载完成后重启电脑就仅保留CUDA10.1。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

