一、 参考资料
tensorflow各个版本的CUDA以及Cudnn版本对应关系
windows下同一个显卡配置多个CUDA工具包以及它们之间的切换
CUDA、CUDNN在windows下的安装及配置
二、相关介绍
2.1 问题引入
由于tensorflow的版本与CUDA版本是严格匹配的,所以在开发过程中,经常遇到CUDA版本的问题,安装多版本CUDA是必不可少的。本文介绍了多版本CUDA自由切换的方法,亲测有效。
tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status:
CUDA driver version is insufficient for CUDA runtime version
错误原因:
CUDA版本与驱动版本不匹配
解决办法:
安装当前驱动支持的CUDA版本。
2.2 重要说明
- CUDA与显卡驱动没有对应关系,更新显卡驱动到最新版本即可,显卡驱动下载地址。
- cuDNN与CUDA版本要对应。
- CUDA是NVIDIA推出的用于自家GPU的并行计算框架,CUDA的本质是一个工具包(ToolKit)。
- cuDNN是一个SDK,是一个专门用于神经网络的加速包。
- 安装CUDA过程中会绑定安装显卡驱动(默认),因为CUDA Toolkit安装包内含对应版本Nvidia显卡驱动,则取消勾选显卡驱动,只安装CUDA Toolkit即可。
三、具体步骤
- 安装CUDA参考博客 CUDA、CUDNN在windows下的安装及配置。
- 多版本共存的前提是已经安装了CUDA,博主已经安装了CUDA10.1。
- 下载CUDA11.1安装包,下载对应的cuDNN。
- 自定义安装CUDA11.1,勾选选项。当前版本比新版本新时,取消勾选。
- 配置cuDNN。
- 配置环境变量。
CUDA10.1是之前安装的,CUDA11.1是之后安装的,所以默认CUDA10.1的环境变量在CUA11.1之前,CUDA_PATH环境变量被CUDA11.1覆盖。
7. 切换CUDA版本时,只需要切换环境变量中CUDA的顺序即可,比如让CUDA11.1生效,则CUDA11.1环境变量在CUDA10.1之前。
8. 查看切换版本是否生效。
9. 如果要切换回CUDA10.1,在环境变量中,将CUDA10.1调在CUDA11.1之前即可。
10. 查看切换版本是否生效