Ubuntu16.04安装多个cuda、cudnn版本并自由切换

本文详细介绍了如何在Linux环境下安装CUDA8.0和CUDNN5.1,包括下载安装包、配置环境变量及版本切换步骤,适用于需要更新或更改CUDA版本的用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前安装了cuda9.0+cudnn7.0,现在需要用cuda8.0+cudnn5.1

一、安装CUDA

1、下载cuda8.0

https://developer.nvidia.com/cuda-80-ga2-download-archive

2、打开终端,cd到.run文件所在目录

如果出现没有那个文件或目录,则去找到该.run文件,右键->属性,查看其路径。

3、终端输入:

sudo chmod a+x xxxx.run
sudo sh xxxx.run

出现下图时,按Q键跳过即可。

出现下图时,输入accept,回车。

出现下图时,输入n

出现下图时,输入y

出现下图,输入y

出现下图,按回车

出现下图,输入n

出现下图,输入y

出现下图,回车

安装中。。。。。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==uploading.4e448015.gif转存失败重新上传取消 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

二、安装CUDNN

1、下载cudnn5.1(需要注册账号)

https://developer.nvidia.com/rdp/cudnn-archive

2、cd进入到.tgz文件所在目录

3、解压.tgz文件

$ tar -zxvf xxxxxx.tgz

解压后,在与.tgz同文件夹内会生成一个cuda文件夹,里面有include和lib64两个文件夹

4、将include和lib64两个文件夹复制到/usr/local/cuda-8.0(cuda-8.0的安装路径)中

sudo cp {include,lib64} /usr/local/cuda-8.0

如果出现“略过目录”,则使用:

sudo cp -r {include,lib64} /usr/local/cuda-8.0

 

三、环境变量修改

之前安装CUDA8.0的时候已经添加过环境变量,这里我们需要对系统变量稍作修改,以后切换CUDA版本的时候只需要修改CUDA目录软连接到想使用的CUDA版本目录就可以了(或者直接修改环境变量,变更CUDA版本的目录也可以)。接下来分别说明环境变量修改内容和切换步骤:

(1)终端输入:

gedit ~/.bashrc

(2)在打开的文件中找到以下几行:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

修改为:

# added by cuda8.0
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

四、CUDA版本切换使用说明

(1)删除原来的软连接:

sudo rm -rf /usr/local/cuda

(2)建立新的CUDA软连接

sudo ln -s /usr/local/cuda-xxx /usr/local/cuda  #使用哪个版本xxx就是哪个版本号
<think>好的,我现在需要回答用户关于UbuntuCUDA版本的问题。首先,我要确定用户的具体需求。他们可能是在安装CUDA时遇到版本兼容性问题,或者想知道如何选择合适的CUDA版本Ubuntu系统搭配使用。用户可能对CUDA不太熟悉,所以需要从基础开始解释。 首先,我需要明确CUDA是什么。CUDA是NVIDIA推出的行计算平台和编程模型,主要用于GPU加速计算。不同的CUDA版本对NVIDIA驱动有不同的要求,而Ubuntu的不同版本可能默认安装的驱动版本不同,这可能导致兼容性问题。因此,选择合适的CUDA版本需要同时考虑Ubuntu版本和NVIDIA驱动版本。 接下来,我需要整理CUDA版本Ubuntu版本的兼容性信息。例如,最新的CUDA 12.x可能要求较新的Ubuntu版本,如22.04或20.04,而较旧的CUDA 11.x可能支持更早的Ubuntu版本。同时,每个CUDA版本对应的最低NVIDIA驱动版本也需要说明,比如CUDA 12.2需要至少535.129.03版本的驱动。 然后,我需要解释如何查看当前系统的CUDA版本,常用的方法包括使用nvcc --version或检查/usr/local/cuda目录。同时,用户可能需要知道如何安装特定版本CUDA,可以通过NVIDIA官网的.run文件或Ubuntu的仓库进行安装。但要注意使用仓库安装版本可能较旧,而手动安装可以获得最新版,但步骤更复杂。 此外,用户可能关心的常见问题包括安装CUDA后出现的驱动冲突、如何切换不同CUDA版本,以及如何验证CUDA是否正确安装。比如,使用nvidia-smi检查驱动状态,运行deviceQuery示例程序来验证CUDA功能是否正常。 在回答过程中,需要提醒用户注意备份数据,确认硬件兼容性,使用合适的安装方法,处理可能出现的依赖问题。例如,安装CUDA前需要更新系统,安装build-essential等开发工具,禁用nouveau驱动等。 最后,总结版本选择建议,根据Ubuntu版本和项目需求推荐合适的CUDA版本强调保持驱动和CUDA版本一致的重要性。可能还需要提到容器化方案如Docker中的CUDA镜像,作为另一种灵活的部署方式。 整个思考过程中需要确保信息准确,步骤清晰,语言通俗易懂,避免使用过多技术术语,同时覆盖用户可能遇到的各种情况,帮助他们顺利解决问题。</think>以下是对 **UbuntuCUDA 版本兼容性**的详细解析: --- ### **一、CUDAUbuntu 版本对应关系** CUDA 版本需同时兼容 **Ubuntu 系统版本**和 **NVIDIA 驱动版本**,以下是常见组合: | **CUDA 版本** | **支持的最低 Ubuntu 版本** | **所需 NVIDIA 驱动版本** | **备注** | |---------------|----------------------------|---------------------------|----------| | CUDA 12.x | Ubuntu 22.04/20.04 | ≥535.129.03 | 最新版本,支持 Ampere/Ada 架构 GPU | | CUDA 11.x | Ubuntu 20.04/18.04 | ≥450.80.02 | 主流版本(推荐 TensorFlow/PyTorch 兼容) | | CUDA 10.x | Ubuntu 18.04/16.04 | ≥410.48 | 旧版框架(如 TensorFlow 1.x)依赖 | --- ### **二、如何查看 CUDA 版本** 1. **通过 `nvcc` 检查**: ```bash nvcc --version ``` 输出示例: ``` nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Wed_Nov_22_10:17:15_PST_2023 Cuda compilation tools, release 12.3, V12.3.107 ``` 2. **通过路径查看**: ```bash ls /usr/local/cuda ``` 若存在符号链接 `cuda -> cuda-12.3`,则当前 CUDA 版本为 12.3。 --- ### **三、安装特定 CUDA 版本** #### **方法 1:通过 NVIDIA 官方 .run 文件安装**(灵活,但需手动操作) 1. 访问 [CUDA Toolkit 下载页](https://developer.nvidia.com/cuda-toolkit-archive),选择目标版本。 2. 根据系统选择安装命令,例如 CUDA 12.3: ```bash wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda_12.3.2_545.23.08_linux.run sudo sh cuda_12.3.2_545.23.08_linux.run ``` 3. 安装时**取消勾选驱动安装**(若已单独安装驱动)。 #### **方法 2:通过 Ubuntu 仓库安装**(简单,但版本较旧) 1. 添加 CUDA 仓库: ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" sudo apt update ``` 2. 安装指定版本: ```bash sudo apt install cuda-12-3 # 安装 CUDA 12.3 ``` --- ### **四、常见问题与解决方案** #### **1. 驱动冲突** - **现象**:安装 CUDA 后 `nvidia-smi` 报错。 - **解决**:卸载旧驱动,重新安装匹配版本: ```bash sudo apt purge nvidia-* sudo apt install nvidia-driver-535 # 驱动版本需 ≥ CUDA 要求 ``` #### **2.版本 CUDA 切换** - 使用 `update-alternatives` 管理符号链接: ```bash sudo update-alternatives --config cuda ``` 选择对应的 `/usr/local/cuda-<版本号>` 路径即可。 #### **3. 验证安装** - 编译运行 CUDA 示例: ```bash cd /usr/local/cuda/samples/1_Utilities/deviceQuery sudo make ./deviceQuery ``` 若输出 `Result = PASS`,则 CUDA 安装成功。 --- ### **五、版本选择建议** 1. **优先匹配项目需求**: - 深度学习框架(如 PyTorch)通常指定 CUDA 版本范围(例如 PyTorch 2.0+ 需 CUDA ≥11.7)。 2. **系统兼容性**: - Ubuntu 22.04 建议 CUDA ≥12.0,Ubuntu 20.04 可选 CUDA 11.x。 3. **硬件限制**: - 较旧 GPU(如 Maxwell 架构)可能不支持 CUDA 12.x,需降级至 CUDA 10.x。 --- ### **六、注意事项** 1. **备份数据**:安装 CUDA 可能影响系统驱动,操作前建议备份重要文件。 2. **依赖项处理**:安装前需确保已安装 `build-essential` 和内核头文件: ```bash sudo apt install build-essential linux-headers-$(uname -r) ``` 3. **禁用 Nouveau 驱动**: - 编辑 `/etc/modprobe.d/blacklist-nouveau.conf`,添加: ``` blacklist nouveau options nouveau modeset=0 ``` - 更新 initramfs: ```bash sudo update-initramfs -u ``` --- ### **附:CUDA 与深度学习框架版本对照表** | **框架** | **推荐 CUDA 版本** | **备注** | |----------------|--------------------|------------------------------| | TensorFlow 2.15| CUDA 11.8/12.0 | 需 cuDNN ≥8.6 | | PyTorch 2.2 | CUDA 11.8/12.1 | 官方预编译包支持 11.8 和 12.1 | | MXNet 1.9 | CUDA 11.0-11.8 | 旧版框架兼容性有限 | --- 通过合理选择 CUDA 版本,可确保 GPU 计算任务高效稳定运行。若需进一步优化,可考虑使用容器化方案(如 Docker + NVIDIA Container Toolkit)隔离不同环境。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值