环境:
Win10 专业版
CUDA11.3
CUDA11.8
问题描述:
Win10 如何同时保留两个CUDA版本并自由切换
解决方案:
在同一台计算机上安装两个CUDA版本并进行切换可以通过一些环境配置来实现。这通常涉及到管理环境变量,特别是PATH
和LD_LIBRARY_PATH
(Linux系统)或PATH
和LIBRARY_PATH
(Windows系统)。下面是在Windows系统和Linux系统上操作的步骤:
在Windows系统上
- 安装多个CUDA版本:
- 正常安装多个CUDA版本,安装程序通常会将它们安装在不同的目录中,例如
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3
和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
。
- 正常安装多个CUDA版本,安装程序通常会将它们安装在不同的目录中,例如
-
配置环境变量:
- 通过系统的环境变量设置界面,确保不将CUDA的bin和lib目录直接加入到全局
PATH
中。这样可以避免自动调用错误版本的CUDA工具。
- 通过系统的环境变量设置界面,确保不将CUDA的bin和lib目录直接加入到全局
-
创建批处理脚本:
- 为每个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%
- 使用批处理文件:
- 当需要使用特定版本的CUDA时,运行相应的批处理文件。
切换好关闭cmd,重新打开输入
nvcc -V
在Linux系统上
-
安装多个CUDA版本:
- 同样地,在Linux上安装多个CUDA版本,每个版本会被安装在不同的目录下,例如
/usr/local/cuda-10.2
和/usr/local/cuda-11.8
。
- 同样地,在Linux上安装多个CUDA版本,每个版本会被安装在不同的目录下,例如
-
配置环境变量:
- 在
.bashrc
或.bash_profile
中不要将CUDA的bin
和lib
目录加入到全局PATH
和LD_LIBRARY_PATH
。
- 在
-
创建切换脚本:
- 为每个版本创建一个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
-
使用脚本切换CUDA版本:
- 执行相应的脚本来切换CUDA版本。
通过这些步骤,你可以灵活地在不同CUDA版本之间进行切换,以满足不同应用程序的需求。