首页 > 系统相关 >Windows10 下 CUDA 新旧多版本共存

Windows10 下 CUDA 新旧多版本共存

时间:2023-11-27 11:44:05浏览次数:45  
标签:共存 Windows10 conda CUDA 版本 Path 安装 环境变量

前言

        为了运行一个 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” 等报错,接下来就开始一一介绍了。

 

安装

动态链接库方式

相比英伟达官方提供的 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

查看支持的 cudnn

安装 cuda 和 cudnn

conda install cudatoolkit=9.01
conda install cudnn=7.1.4

工具包方式

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

流程安装

切记只勾选 CUDA,切记

重新选择位置

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

 

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

%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 调小解决。

 

 

标签:共存,Windows10,conda,CUDA,版本,Path,安装,环境变量
From: https://www.cnblogs.com/zerofc/p/17858943.html

相关文章

  • python如何多版本共存
    1.先正常安装多个python版本,比如我电脑里面是安装的3.10以及3.122.安装的时候建议不要选择系统盘,可以用两个目录安装,例如:d:\py310\...d:\py312\...3.安装好了之后,可以通过命令提示符win+r输入wherepython可以查看到全部python的版本。4.分别打开python的安装目录,找......
  • cuda错误检测
    cuda错误检测方法宿主线程维护着一个初始化为cudaSuccess的cudaError_t类型变量,但出现错误时,该变量都会被错误代码替换。在调用cudaGetLastError()时,就会返回此变量,并将其置为cudaSucess。CUDA提供了相应的错误信息函数,常用的有以下两个:cudaGetErrorName():返回错误代码cu......
  • Windows10 删除库文件夹
    删除打开注册表,找到以下:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace在左侧NameSpace目录下找到{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}子项删除注:64位系统可能需要额外删除以下目录的同名子项:计算机\HKEY_LOCAL_M......
  • 创建Conda环境时,自动包含当前系统中的Python和CUDA等
    要在创建Conda环境时自动包含当前系统中的Python和CUDA,可以使用Conda的environment.yml文件。environment.yml文件是一个文本文件,其中包含了创建Conda环境所需的依赖项信息。下面是一个示例的environment.yml文件,其中包含了Python和CUDA的依赖项:yaml复制代码 name:myenv......
  • CUDA:页锁定内存(pinned memory)和按页分配内存(pageable memory )
    CUDA架构而言,主机端的内存分为两种,一种是可分页内存(pageablememroy),一种是页锁定内存(page-lock或pinned)。可分页内存是由操作系统APImalloc()在主机上分配,页锁定内存是由CUDA函数cudaMallocHost()和cudaHostAlloc()在主机内存中分配,页锁定内存的重要属性是主机的操作系统......
  • linux系统多版本boost共存
    因为几个库都用到boost,但是各个库依赖的boost最低版本不一样安装boost1.71tar-zxvfboost_1_71_0.tar.gz&&cdboost_1_71_0su-root./bootstrap.sh--with-libraries=all./b2./b2install 用./b2install把boost1.71安装在默认路径了,即/usr/local下,头文件和库文件分别位......
  • linux系统多版本boost库共存
    因为几个库都用到boost,但是各个库依赖的boost最低版本不一样安装boost1.71tar-zxvfboost_1_71_0.tar.gz&&cdboost_1_71_0su-root./bootstrap.sh--with-libraries=all./b2./b2install用./b2install把boost1.71安装在默认路径了,即/usr/local下,头文件和库文件分别......
  • 无U盘双系统安装(Windows10安装Ubuntu)
    1,下载Ubuntu镜像 ubuntu,Windows镜像下载-Zcb0812-博客园(cnblogs.com)2,下载easyuefi 轻松管理EFI/UEFI启动项&管理EFI系统分区&修复EFI系统启动问题!-EasyUEFI3,Win10电脑新建分区(10G),类型选择FAT32,用于安装Ubuntu启动程序,并将第一步的镜像解压到此盘中4,使用easyu......
  • windows10 使用 USB 无线网卡的热点功能
    一、概述在某宝上买了一个COMFASTCF-727B的无线模块,由于笔记本电脑一直使用不上,所以放了很久。多年后我来到了一个公司,遇到了我此生最想吐槽的网管,简直不敢想象几十人的办公室,居然能把热点给占满,于是我找到了IT人员,得的回复是公司手机太多,特此还把一部分手机给禁用了,那理直气......
  • 无GPU环境中运行出错解决方法:AssertionError: Torch not compiled with CUDA enabled
    在執行pytorch代碼的時候,突然看到報錯AssertionError:TorchnotcompiledwithCUDAenabled這說明了1.你pytoch确实安装了2.你安装的是cpu版本作为验证,你可以在python编辑器输入下列代码如果要在无GPU环境中运行,需要进行一些修改。1. 情况一:将出现‘gpu:0’的地方......