当前位置: 首页 > news >正文

Win10 如何同时保留两个CUDA版本并自由切换使用

环境:

Win10 专业版

CUDA11.3

CUDA11.8

问题描述:

Win10 如何同时保留两个CUDA版本并自由切换

在这里插入图片描述

解决方案:

在同一台计算机上安装两个CUDA版本并进行切换可以通过一些环境配置来实现。这通常涉及到管理环境变量,特别是PATHLD_LIBRARY_PATH(Linux系统)或PATHLIBRARY_PATH(Windows系统)。下面是在Windows系统和Linux系统上操作的步骤:

下载地址

在Windows系统上

  1. 安装多个CUDA版本
    • 正常安装多个CUDA版本,安装程序通常会将它们安装在不同的目录中,例如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

在这里插入图片描述

  1. 配置环境变量

    • 通过系统的环境变量设置界面,确保不将CUDA的bin和lib目录直接加入到全局PATH中。这样可以避免自动调用错误版本的CUDA工具。
  2. 创建批处理脚本

    • 为每个CUDA版本创建一个批处理脚本来配置环境变量。这样,你可以通过运行不同的批处理文件来切换CUDA版本。

    示例批处理脚本(cuda10.2.bat):

    @echo off
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\libnvvp;%PATH%
    

    示例批处理脚本(cuda11.8.bat):

    @echo off
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp;%PATH%
    

在这里插入图片描述

  1. 使用批处理文件
    • 当需要使用特定版本的CUDA时,运行相应的批处理文件。

切换好关闭cmd,重新打开输入

nvcc -V

在这里插入图片描述

在Linux系统上

  1. 安装多个CUDA版本

    • 同样地,在Linux上安装多个CUDA版本,每个版本会被安装在不同的目录下,例如/usr/local/cuda-10.2/usr/local/cuda-11.8
  2. 配置环境变量

    • .bashrc.bash_profile中不要将CUDA的binlib目录加入到全局PATHLD_LIBRARY_PATH
  3. 创建切换脚本

    • 为每个版本创建一个shell脚本来配置环境变量。

    示例shell脚本(switch_to_cuda10.2.sh):

    #!/bin/bash
    export PATH=/usr/local/cuda-10.2/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
    

    示例shell脚本(switch_to_cuda11.8.sh):

    #!/bin/bash
    export PATH=/usr/local/cuda-11.8/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
    
  4. 使用脚本切换CUDA版本

    • 执行相应的脚本来切换CUDA版本。

通过这些步骤,你可以灵活地在不同CUDA版本之间进行切换,以满足不同应用程序的需求。

http://www.lryc.cn/news/348482.html

相关文章:

  • 实验室纳新宣讲会(java后端)
  • class常量池、运行时常量池和字符串常量池的关系
  • Java | Leetcode Java题解之第88题合并两个有序数组
  • 韵搜坊(全栈)-- 前后端初始化
  • Android:资源的管理,Glide图片加载框架的使用
  • conll-2012-formatted-ontonotes-5.0中文数据格式说明
  • SpringBoot集成Seata分布式事务OpenFeign远程调用
  • 视觉检测系统,是否所有产品都可以进行视觉检测?
  • 通过金山和微软虚拟打印机转换PDF文件,流程方法及优劣对比
  • 采用java+B/S开发的全套医院绩效考核系统源码springboot+mybaits 医院绩效考核系统优势
  • 驱动开发-用户空间和内核空间数据传输
  • 【408精华知识】速看!各种排序的大总结!
  • 【STM32 |程序实例】按键控制、光敏传感器控制蜂鸣器
  • Spring boot使用websocket实现在线聊天
  • 品牌设计理念和logo设计方法
  • Python | Leetcode Python题解之第88题合并两个有序数组
  • vscode新版本remotessh服务端报`GLIBC_2.28‘ not found解决方案
  • 盘他系列——oj!!!
  • 洛谷 P2657 [SCOI2009] windy 数 题解 数位dp
  • Python爬虫入门:网络世界的宝藏猎人
  • 【NodeMCU实时天气时钟温湿度项目 6】解析天气信息JSON数据并显示在 TFT 屏幕上(心知天气版)
  • 重构四要素:目的、对象、时机和方法
  • 基于Echarts的大数据可视化模板:服务器运营监控
  • Python3 笔记:Python的常量
  • 【Linux】自动化构建工具make/Makefile和git介绍
  • C语言—关于字符串(编程实现部分函数功能)
  • picoCTF-Web Exploitation-Trickster
  • SSH 免密登录,设置好仍然需要密码登录解决方法
  • 【斑马打印机】web前端页面通过BrowserPrint API连接斑马打印机进行RFID条形码贴纸打印
  • DigitalOcean 应用托管更新:应用端到端运行时性能大幅改进