Windows下安装多版本CUDA及环境配置详解

释放双眼,带上耳机,听听看~!
本文详细介绍了在Windows环境下安装多个版本的CUDA,并解决了相关环境配置的报错问题,适合需要在Windows系统中配置多版本CUDA的深度学习开发者阅读。

前言

为了运行一个 Tensorflow1.6.0 的项目,CPU 跑了三个多小时才完成一个 epoch,还得用 GPU。但这个版本的 TF 只能在 10 以下的 CUDA 平台,但是以前的 Pytorch 也要继续啊。所以需要在本地 Windows 下安装多个版本 CUDA,其实有两种方式让 CUDA 共存。一种是英伟达的工具包安装,还一种是 CUDA 的动态链接库通过 conda 安装。

由于是 Windows,配置 CUDA 多版本环境变量可能还会出现 “此环境变量太大,此对话框允许将值设置为最长 2047 个字符” 和安装后运行项目 “If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info” 等报错,接下来就开始一一介绍了。

Windows下安装多版本CUDA及环境配置详解

安装

动态链接库方式

相比英伟达官方提供的 CUDA Toolkit,这种方式显得特别轻便。因为前者是一个完整的工具安装包,其中还提供了英伟达驱动程序(可以不勾选)和开发 CUDA 程序的工具。而对于使用深度学习框架的话,训练使用 GPU 确实只需要使用 CUDA 的动态链接库就可以,而且只需要用 conda 安装就可以。

创建环境并激活

这里还是用 conda 创建一个新环境专门用于一个版本的 CUDA,要几个就创建几个,然后激活并进入,当然也要看看当前 conda 支持哪些 cuda 和 cudnn。

conda create -n tensorflow-cu python=3.6
conda activate tensorflow-cu

查看支持的 cuda

conda search cudatoolkit --info

Windows下安装多版本CUDA及环境配置详解

查看支持的 cudnn

Windows下安装多版本CUDA及环境配置详解

安装 cuda 和 cudnn

conda install cudatoolkit=9.01
conda install cudnn=7.1.4

Windows下安装多版本CUDA及环境配置详解

工具包方式

这种方法就是先明确自己需要安装的版本,然后去英伟达官网下载安装包。我上面也有文章介绍,不过在以前基础上再加一低版本,需要注意的就是不要勾选驱动程序,然后切换版本要配置环境变量。

流程安装

Windows下安装多版本CUDA及环境配置详解

切记只勾选 CUDA,切记

Windows下安装多版本CUDA及环境配置详解

重新选择位置

Windows下安装多版本CUDA及环境配置详解

安装完毕后,他会自动在环境变量里新增 CUDA_PATH_V9_0 和 NVCUDASAMPLES9_0_ROOT,并且 CUDA_PATH 和 NVCUDASAMPLES 也会替换成最后安装的版本,但当前依然还是之前的 CUDA11,这个时候还要去 Path 里设置一下。

Windows下安装多版本CUDA及环境配置详解

要让版本切换到 v9,需要手动添加 CUDA9 的 development 下 bin 和 libnvvp,并放 v11 前面,但是保存时报 “此环境变量太大”。这个是因为 Patch 变量的值只有 2047 字符大小,解决方法可以修改注册表,在 Path 里删除没用的环境变量和用外边的变量做一个引入。就是 bin 和 libvvp 都是 CUDA9 下,只需要引入这个就可以节省更多字符占用了。

Windows下安装多版本CUDA及环境配置详解

%CUDA_PATH_V11_4%bin
%CUDA_PATH_V11_4%libnvvp

虽然可以保存了,但是想切换 CUDA 版本要再次打开 Path,发现这个弹窗变成了一行,而不是像之前那样按变量展开。这是因为刚刚为了让 V9 版本在前面,我把他顶到了最上面,而最顶上如果有变量方式的引入,Path 就会变成一行,我们只需要把一个其他绝对位置的变量放在顶部就可以解决了。

其他

当切换后安装 tensorflow-gpu 开始训练时,出现 “Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info”,因为当前显卡 GTX 750Ti,显存太小,可以将批次 batch_size 调小解决。

Windows下安装多版本CUDA及环境配置详解

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

分块如何提高大语言模型相关应用的效率和准确度

2023-11-28 14:51:14

AI教程

学生考试数据分析及影响因素分析

2023-11-28 15:01:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索