多版本CUDA问题

同一台机子可以兼容多个版本的CUDA的,这两天就要这么来回折腾,稍显麻烦。

1. 查看当前机子上CUDA版本;
nvcc --version
由此可以看到当前是CUDA 8.0。

2. 修改.bashrc文件。
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
把以上这种添加变量的方式改为如下:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
修改之后,需要刷新一下:
source .bashrc

那么下面切换为CUDA 9.0版本。

2. 从官网下载 CUDA 9.0的run文件,安装过程中,选择不建立软连接。

3.  切换CUDA 9.0,使用下面命令。
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
nvcc --version
这时就可以看到当前的CUDA版本变为9.0了。


### 如何在同一台机器上安装和管理多个版本的 CUDA 在某些情况下,开发人员可能需要在同一台计算机上运行不同版本的 CUDA 来支持不同的软件需求。以下是关于如何在同一系统中安装并有效管理多个 CUDA 版本的方法。 #### 1. 多版本 CUDA 的安装流程 为了确保兼容性和稳定性,在同一台机器上安装多个 CUDA 版本时,建议遵循以下方法: - 首先确认目标系统的操作系统环境以及已有的 CUDA 版本情况[^1]。例如,如果当前系统已经配置为运行 CUDA 10.0,则可以通过额外安装旧版本(如 CUDA 8.0 或新版本)来满足特定应用的需求。 - 下载所需的 CUDA 工具包版本文件。可以从 NVIDIA 提供的历史存档页面获取对应版本的安装程序链接[^2]。对于每一种新的 CUDA 版本,单独创建目录用于存储其二进制及相关组件。 ```bash mkdir /usr/local/cuda-8.0 tar xzvf cuda_8.0.61_375.26_linux.run --directory=/usr/local/cuda-8.0/ ``` 上述命令展示了针对 CUDA 8.0 创建独立路径的过程,并解压到指定位置[^3]。 #### 2. 切换不同版本 CUDA 的策略 完成多版本 CUDA 的部署之后,还需要能够方便地切换默认使用的 CUDA 版本来适配具体项目的要求。 - 使用软连接技术动态调整 `/usr/local/cuda` 所指向的具体子目录名作为全局变量 `$PATH` 和 `$LD_LIBRARY_PATH` 中的标准入口之一[^4]。通过编写简单的 shell 脚本来简化这一操作过程: ```bash #!/bin/bash if [ "$#" -ne 1 ]; then echo "Usage: $0 <version>" exit 1 fi VERSION=$1 TARGET="/usr/local/cuda-${VERSION}" if [ ! -d "${TARGET}" ]; then echo "Error: Directory ${TARGET} does not exist." exit 1 fi ln -sfT "${TARGET}" /usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH echo "Switched to CUDA version ${VERSION}." ``` 此脚本接受单一参数表示期望激活的目标 CUDA 版本号,并执行必要的符号链接更新与环境变量重置动作。 #### 3. 注意事项 当处理涉及 GPU 加速的应用场景时,除了正确设置主机端编译器链路外,还需关注驱动层面对各代硬件的支持范围差异等问题。此外,cuDNN 库也需要按照相应规则匹配至对应的 CUDA 平台上。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值