windows下同一个显卡配置多个CUDA工具包以及它们之间的切换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27825451/article/details/89135592

前面的一片文章里面讲到了tensorflow、NVIDIA显卡驱动、CUDA工具包、cudnn之间的一些关系,详情请参考原文:

https://blog.csdn.net/qq_27825451/article/details/89082978

tensorflow最大的问题就是版本问题,各个版本之间差异比较明显,我们有时候需要不同的tensorflow版本,而不同的版本对于CUDA toolKit的版本要求和cudnn的要求又不一样,我们肯定不能每次使用一个版本都重新安装,前面的那篇文章明确了几个基本观点:

(1)NVIDIA显卡驱动和CUDA ToolKit不是一一对应的,我们一般保持最新的驱动程序,安装其他不同版本的CUDA即可;

(2)CUDA和cudnn也不是严格的一一对应关系,但是这个官网上有着明确的对应连接,即很么版本的cuda配置什么样的cudnn;

所以如果需要在一台电脑上安装多个版本的CUDA和cudnn是完全可行的,由于Linux上面的配置教程很多,这里就不讲了,本文以windows为例来说明,

1、多版本的CUDA以及cudnn安装

由于里显得CUDA会默认捆绑NVIDIA驱动程序,所以在安装的时候不要默认安装,一定要自定义安装,只选择安装CUDA即可,其他的那些就不要安装了,我的电脑上安装的版本如下:

我们一般安装CUDA的时候就使用默认路径,安装到C盘即可,这样方便管理。

然后在NVIDIA官网上面下载CUDA对应的cudnn版本,解压之后将cudnn对应的三个文件拷贝到CUDA对应的文件夹之下,这个时候我们的环境变量应该如下所示:

现在多个版本的CUDA就安装完成了。

2、不同版本的tensorflow在CUDA之间的切换

网上有很多在Linux下面的CUDA的切换,其实都是通过环境变量的设置与配置来实现的,但是window这一点坐的很方便,

不需要切换,不需要切换,不需要切换,只要环境变量PATH中有相应的CUDA路径即可,无需手动切换了。

比如我的电脑上同事安装了

tensorflow1.9,它对应于CUDA9.0

tensorflow1.13,它对应于CUDA10.0

tensorflow2.0.0 alpha0,它对应于CUDA10.0

我可以使用任何一个版本,只要在环境变量中有对应的CUDA路径即可,

本人也是通过实验得出来的,首先我删除了CUDA10.0的环境变量,重启之后,发现tensorflow1.13和tensorflow2.0.0都不能使用了,但是tensorflow1.9还可以用;然后我又删除了CUDA9.0的环境变量,重启,这个时候tensorflow1.9也不能使用了;

接下来我又添加CUDA10.0的环境变量,重启,此时tensorflow1.13和tensorflow2.0.0又可以1使用了,然后我又通过添加CUDA9.0环境变量,重启,这时tensorflow1.9又可以使用了。

总结:windows多个不同版本的CUDA使用时需要切换,只要环境变量PATH中有相应的CUDA路径即可,无需手动切换了。tensorflow在运行的时候会自动在环境变量中寻找合适的CUDA版本,直到找到为止,如果没有,则会报错。

猜你喜欢

转载自blog.csdn.net/qq_27825451/article/details/89135592