CUDA版本自由切换

下载特定版本cuda

在英伟达官网下载相关驱动
https://developer.nvidia.com/cuda-toolkit-archive

然后点点点,选择runfile(local)
在这里插入图片描述
本地运行后先continue
,

Do you accept the previously read EULA?
accept/decline/quit: accept

在这里插入图片描述
按回车取消驱动安装
在这里插入图片描述

  • gcc版本不兼容报错
 Failed to verify gcc version. See log at 
### 多版本 CUDA 自由切换配置 在 Ubuntu 下实现多版本 CUDA自由切换可以通过多种方式完成,以下是几种常见的方法及其细节: #### 方法一:通过修改软链接来切换全局 CUDA 版本 一种简单的方式是利用 `ln` 命令更改 `/usr/local/cuda` 软链接的目标路径。这种方法适用于单用户场景或者不影响其他用户的环境。 假设已经安装了 CUDA 11.8CUDA 11.0,在终端中运行以下命令可以切换默认的 CUDA 版本: ```bash sudo ln -sf /usr/local/cuda-11.0 /usr/local/cuda ``` 上述命令将使系统默认使用的 CUDA 版本变为 11.0[^1]。如果需要切换CUDA 11.8,则执行如下命令: ```bash sudo ln -sf /usr/local/cuda-11.8 /usr/local/cuda ``` 需要注意的是,这种方式会改变所有用户的默认 CUDA 配置,可能影响到其他正在使用 GPU 的进程或用户。 --- #### 方法二:基于环境变量的局部切换 为了不干扰系统的全局设置,推荐通过调整环境变量的方式来实现特定会话下的 CUDA 切换。这允许不同的 SSH 或本地会话独立指定所需的 CUDA 版本。 以 CUDA 11.0 为例,可以在当前会话中临时设置环境变量: ```bash export PATH=/usr/local/cuda-11.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH ``` 对于 CUDA 11.8,则替换为对应的路径: ```bash export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH ``` 这些变化仅限于当前 shell 会话生效[^2]。若希望永久保存某用户的 CUDA 设置,可将其写入该用户的 `.bashrc` 文件中。 --- #### 方法三:借助 Docker 实现隔离化的 CUDA 环境 当存在复杂的应用需求时(比如同时测试多个 PyTorch/TensorFlow 版本),建议采用容器化技术如 Docker 来管理不同 CUDA 版本之间的冲突问题。Docker 提供了一种安全且高效的方法创建相互独立的工作空间。 首先需确保主机已正确安装并配置好 NVIDIA Container Toolkit[^4]: ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker ``` 之后可以根据实际项目依赖拉取预构建好的镜像文件,例如支持 CUDA 11.0 的官方镜像: ```bash docker pull nvidia/cuda:11.0-base ``` 启动容器时自动绑定宿主机上的显卡资源: ```bash docker run --gpus all -it nvidia/cuda:11.0-base bash ``` --- #### 总结 以上三种方案各有优劣,可根据实际情况灵活选用。如果是个人开发调试阶段,通常推荐 **方法二**;而在生产环境中部署模型训练任务时则更倾向于运用 **方法三** 进行彻底隔离。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值