Bootstrap

深度学习环境配置——conda虚拟环境安装CUDA和CUDNN

在这里插入图片描述

目录


操作系统: ubuntu 18.04(服务器)
更新时间: 2024年2月21日
显卡驱动版本: 510.108.03
CUDA版本: cuda 11.3.1(conda虚拟环境安装),cuda 11.8(conda虚拟环境安装)


本文介绍在Conda虚拟环境下CUDA的安装和配置,在虚拟环境vdisco中安装cuda 11.3,在vdisco2环境中安装cuda 11.8。

# 官网教程
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#conda-installation

Ⅰ. 背景

深度学习用显卡训练的时候,需要安装与显卡对应的cuda和cudnn。但不同的项目所支持的pytorch版本是不一样的,而pytorch版本和cuda版本之间又是互相依赖的,所以如果可以灵活地在不同cuda版本间切换将是非常方便的。anaconda就可以实现这个功能。我们可以在conda创建的不同虚拟环境中安装不同的cuda和cudnn版本,以此来实现不同cuda版本间的切换。

  • 环境vdisco

  • 环境vdisco2

Ⅱ. 使用Conda安装CUDA

2.1 查看显卡驱动兼容性

  • GPU信息、驱动版本可以通过cmd输入nvidia-smi指令来查看。
  • 显卡驱动版本向下兼容,其决定了可安装的CUDA Toolkit的最高版本,高版本的驱动支持低版本的CUDA。
    https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
    
  • 比如我的显卡驱动版本是510.108.03,可安装的CUDA最高版本为11.6。(可能是推荐版本,我安装了11.8)

2.2 创建与激活虚拟环境

首先需要在conda中创建并激活虚拟环境,在特定虚拟环境下安装cuda。

# create conda env 
conda create --name vdisco python==3.10

# env activate
conda activate vdisco

2.3 确定要安装的CUDA版本

在虚拟环境中,先用conda search cudatoolkit --info 命令查看源内所有的cuda 版本,以及下载地址。

conda search cudatoolkit --info

执行上述命令后,会显示出源内所有的cuda版本,以及下载地址,如图所示,本文选择安装CUDA 11.3.1。

2.4 下载与安装CUDA

找到自己想要的cuda版本后,可以先根据url字段的下载地址将CUDA下载到本地再安装,也可以直接使用指令安装对应版本。

方法一:把cuda下载到本地

首先复制url字段里的下载链接,然后用命令cd到想要下载的目录,执行如下代码下载

wget [你刚刚复制的链接地址]

安装:执行如下命令进行安装,因为是通过本地安装的,所以需要写明本地包的路径

# 在特定虚拟环境下安装
conda install --use-local [本地cuda包所在的路径]

方法二:直接安装(源内没有的版本无法通过这种方式安装,未测试

如果是在所有conda环境中首次安装cuda的某个版本,则会下载并完成安装,如果已有环境中已经安装过的版本,则不会再下载,直接复制。比如我在conda虚拟环境env1中安装cuda 11.3.1时,其他虚拟环境都没有安装过这个版本,则会下载安装,之后我在env2环境中再次安装cuda 11.3.1,就不需要再下载了,直接复制相关配置。

# 在特定虚拟环境下安装
conda install cuda -c nvidia/label/cuda-11.3.1

2.5 conda卸载cuda

conda remove cuda

Ⅲ. 使用Conda安装CUDNN

3.1 查看cuda对应的cudnn版本

使用如下命令查看cudnn支持的cuda版本,注意cudnn的版本一定要和刚刚下载的cuda版本对应。

# 在特定虚拟环境下
conda search cudnn --info

执行后的结果如图所示,图中标出了cuda所对应的cudnn版本号位置。

3.2 下载安装cudnn

复制你想要版本的cudnn的下载地址,使用wget 链接地址进行下载。下载后使用如下指令安装:

# 在特定虚拟环境下安装
conda install --use-local [本地cudnn包所在的路径]

3.3 版本验证

在虚拟环境中安装完cuda和cudnn想要测试是否安装成功,不能使用nvcc -V命令测试,需要在虚拟环境中安装pytorch包进行测试。

# 虚拟环境中,进入python环境
import torch

# 查看pytorch版本
print(torch.__version__)

# cuda是否可用
print(torch.cuda.is_available())

# cuda版本
print(torch.version.cuda)

# cudnn版本
print(torch.backends.cudnn.version())

参考文献

https://blog.csdn.net/qq_43705697/article/details/121618276
;