作者:少年奇趣视频 | 来源:互联网 | 2024-12-04 12:20
本文探讨了在同一台机器上安装并管理多个CUDA版本的方法,以适应不同软件或项目的需求。特别是在使用旧版PyTorch等依赖特定CUDA版本的软件时,该方法尤为实用。
多版本CUDA共存与即时切换方案
背景介绍:在进行某些实验时,可能遇到需要使用较旧版本的PyTorch或其他软件的情况,这些软件可能只支持特定版本的CUDA。因此,探索如何在同一台机器上安装并即时切换多个CUDA版本变得尤为重要。本文将记录这一过程,并分享一些注意事项。
提示:若可以通过修改代码来达到兼容目的,则尽量避免更改环境设置,因为环境配置往往较为复杂,且可能需要管理员权限,存在一定的安全风险。
准备工作及资源获取
- 检查操作系统信息:使用命令
cat /proc/version
。 - 确定所需安装的CUDA版本。
- 确定需配合使用的PyTorch版本。
- 访问CUDA官方网站获取下载链接。
- PyTorch的安装可以通过Anaconda环境管理器使用pip或conda命令完成,也可提前从官网下载相应版本。
新CUDA版本的安装
前提条件:假设您的系统中已安装了一个CUDA版本。如果尚未安装CUDA,请参考其他教程先行安装。本文主要针对已有CUDA环境下新增版本的情况。
- 重要提示:安装新CUDA版本不会覆盖现有版本。为了实现全局范围内的版本切换,通常需要修改
/usr/local
目录下的CUDA符号链接。然而,考虑到服务器可能有多个用户同时使用,建议通过个人用户配置文件(如.bashrc
)或在shell会话中临时指定CUDA版本来实现版本切换,以减少对其他用户的影响。
安装步骤
- 在下载好的CUDA安装包所在目录,以root权限运行安装脚本(如需增加执行权限,可使用
chmod +x cudaxxx.run
)。 - 阅读并接受许可协议。
- 选择安装组件时,仅勾选“ToolKit”和“Documentation”,忽略驱动程序安装(已有CUDA版本的情况下)。
- 在安装选项中,取消创建符号链接的选项,以免影响全局CUDA版本设置。同时,可根据需要调整安装路径。
- 完成上述配置后,继续安装过程直至结束。
- 安装完成后,通过
nvcc -V
检查当前CUDA版本是否仍为旧版本,确保未被新版本覆盖。
即时切换CUDA版本
当前,系统中应已存在两个CUDA版本,但默认使用的仍是最初安装的那个版本。接下来,我们将介绍如何实现即时版本切换,同时不影响其他用户。
- 基本原理:通过临时修改当前用户的环境变量,使终端指向新的CUDA位置,从而实现版本切换。此操作仅限于当前终端会话,不会影响其他用户或终端。
切换步骤
- 使用
echo $PATH
或printenv | grep cuda
查看当前CUDA相关环境变量。 - 通过
export
命令动态修改环境变量,例如:export CUDA_HOME=/usr/local/cuda-10.2; export PATH=$CUDA_HOME/bin:$PATH; export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
。 - 验证CUDA版本是否已成功切换至目标版本。
- 为简化操作,可将上述命令封装成shell脚本,并通过
source script.sh
方式执行,确保环境变量在当前shell会话中生效。
参考资料
更多详细信息请参阅:CSDN博客1 和 CSDN博客2。