NVIDIA三件套环境配置

对于做深度学习的环境而言,我们需要理顺以下之间的关系。

就比如PyTorch框架,版本越高,对于显卡算力的要求就会越高,显卡算力上去了,CUDA的版本也要跟上去,CUDA版本上去了,驱动版本也要跟上。。。

我个人而言一般会按照高版本的驱动+低版本的CUDA+与CUDA对应的cudnn+与CUDA对应的PyTorch这样的顺序去配置环境。

CUDA与驱动的对应关系

但是其中会有玄学问题,自行探索!

多百度,都会解决的。

驱动

遇到实在解决不了的问题,最简单的方法就是全部清除干净,重新上路。如果是新电脑第一次配置可以跳过清除操作。

# 卸载CUDA,对应好自己的版本号
sudo /usr/local/cuda-11.1/bin/cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.1/

# 卸载驱动
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
sudo apt-get autoremove

# 确保不输出任何内容
sudo dpkg --list | grep mvidia*

# 确保禁用了开源驱动nouveau,理论上正常安装NVIDIA官方驱动会自动禁用
lsmod | grep nouveau
# 无输出即代表禁用成功

其实CUDA会自带驱动,但是一般都是先装上驱动,再去安装CUDA,在安装CUDA的过程中取消安装CUDA自带的驱动。

当然也可以直接驱动和CUDA一起安装

# 对应好自己的卡下载对应驱动
下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn
# 下载好之后进入到文件所在目录,是一个run后缀的文件,加上执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-470.82.00.run
sudo ./NVIDIA-Linux-x86_64-470.82.00.run
# 完成后重启一下
sudo reboot
# 测试一下,看看是否输出信息
nvidia-smi

CUDA

# 下载CUDA,下载run文件,不要deb文件,deb文件会在安装过程中替换掉已安装的驱动
下载地址:https://developer.nvidia.com/cuda-toolkit-archive

# 下载好之后进入到文件所在目录,是一个run后缀的文件,加上执行权限
sudo chmod a+x cuda_11.1.0_455.23.05_linux.run
sudo ./cuda_11.1.0_455.23.05_linux.run
# 如果是已经安装好驱动了,记得安装CUDA的时候取消安装驱动

# 安装完成后查看一下环境变量,理论上会自动在末尾添加
sudo vim ~/.bashrc
# 如果没有,记得自己追加,对应好版本
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 更新环境变量
source ~/.bashrc

# 测试版本
nvcc -V

#编译并测试设备 deviceQuery:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

image-20220211155125734

cudnn

# 下载对应CUDA版本的cudnn,需要提前注册
下载地址:https://developer.nvidia.com/rdp/cudnn-archive
# 下载如下文件:

image-20220211153601245

# 解压后,进行文件替换
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
# 更改权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
# 安装deb包
sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.0_amd64.deb

# 完成后测试
cd /usr/src/cudnn_samples_v8/mnistCUDNN
sudo make
./mnistCUDNN
# 如图,成功

image-20220211154744095

最后修改:2022 年 02 月 14 日
如果觉得我的文章对你有用,请随意赞赏