Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)

Ubuntu 16.04安装gpu版pytorch,以显卡RTX3090为例,其他显卡也类似。
注:RTX3090不支持CUDA10.2(支持的最高显卡为RTX 2080ti),这里使用cuda11.1
小技巧:watch -n 10 nvidia-smi 命令每10s刷新一下显存利用率

1.安装cuda11.1

1.1.卸载CUDA(若需要替换)

命令:sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl #假如之前的为cuda-8.0
删除残留文件夹: sudo rm -rf /usr/local/cuda-8.0/

1.2 安装

官网下载
参考链接
Nvidia官网下载适合自己机器的CUDA版本,这里是11.1.0,推荐用runfile的方式下载
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第1张图片
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第2张图片
依次输入:

Wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

执行后出现的第一种情形:
如果电脑没有安装Nvidia显卡驱动,安装会顺利进行;若已经安装了Nvidia驱动,会提醒移除,此时我们先Abort,如下图
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第3张图片
用一个简单的方法移除已安装的Nvidia驱动,在Software & Updates里面找到Additional Drivers,选择Ubuntu系统自带的驱动,Apply changes后,重启,如下图
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第4张图片
第二种情形:若未出现以上的紫色界面或者软件与更新中不能选择其他的驱动,需要先安装显卡驱动。
1.先到官网选择适应自己GPU 的驱动版本
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第5张图片
2.禁用nouveau驱动
配置/etc/modprobe.d/blacklist.conf
命令行输入sudo vim /etc/modprobe.d/blacklist.conf,加入下面几行

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

之后执行sudo update-initramfs -u
再输入lsmod | grep nouveau,若无输出,则禁用成功。
3.删除旧驱动

sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove xserver-xorg-video-nouveau

完成后重启电脑
4.切换到命令行(ssh连接的忽略此步)
安装显卡驱动需要关闭图形界面,ctrl+alt+F1进入命令行,ctrl+alt+F7回到图形界面。
5.关闭图形界面(参考博文)

sudo service lightdm stop       # 关闭图形界面
sudo ./NVIDIA-xxx-xxx.run       # 安装驱动文件
sudo service lightdm restart     # 驱动安装成功后重启图形界面

Q1:如果提示unit lightdm.service not loaded
则先安装LightDm: sudo apt install lightdm
安装完毕后跳出一个界面,选择lightdm,再sudo service lightdm stop
Q2:安装驱动时出现An NVIDIA kernel module ‘nvidia-drm’ appears to already be loaded in your kernel…参考博文
解决方案:

# 禁用图形目标
sudo systemctl isolate multi-user.target
# 卸载Nvidia驱动程序
modprobe -r nvidia-drm
#安装驱动完成之后再次启动图形环境,可以使用此命令:
sudo systemctl start graphical.target

执行两种情形的一种后,驱动安装完成,使用nvidia-smi查看是否安装成功。
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第6张图片
输入 sudo sh cuda_11.1.0_455.23.05_linux.run
下面的界面输入accept回车
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第7张图片
注:若原先并没有安装显卡驱动,则不用去掉界面的Driver的X,有X表示安装,之前安装过显卡驱动的就去掉Driver前的X,图上之前没有安装显卡驱动的情形1.
然后选择install
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第8张图片
安装完成,显示下图
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第9张图片
而下面这张图对应安装显卡驱动后再安装cuda的成功界面:
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第10张图片
根据提示,需要配置两个环境变量,打开bashrc文件,输入 sudo vim ~/.bashrc或者sudo gedit ~/.bashrc,然后在文件末尾添加下面3行(第1行是注释),保存,注意改为自己的文件夹名称

# CUDA Soft Link
export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

如下图:
在这里插入图片描述
然后刷新环境变量,输入: source ~/.bashrc

1.3查看cuda版本

cat /usr/local/cuda/version.txtnvcc -V

2.安装cudnn

2.1 官网下载

选择与cuda版本匹配的cudnn
在这里插入图片描述Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第11张图片
一共4个文件,若linux下载太慢或者没有图形界面,可以用windows下载再通过xftp上传

2.2 安装(注意文件夹名都改为自己的)

将下载的cuDNN Library for Linux (x86_64)[我这里是cudnn-11.2-linux-x64-v8.1.0.77.solitairetheme8]解压,会出现一个cuda文件夹,复制解压出来的文件到安装好的cuda环境中。(tgz后缀文件直接解压)

cp cudnn-11.2-linux-x64-v8.1.0.77.solitairetheme8 cudnn-8,1.tgz
tar -xvf cudnn-8,1.tgz

Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第12张图片
输入:

sudo cp cuda/include/cudnn.h /usr/local/cuda-11.1//include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.1/lib64

更改权限输入: sudo chmod a+r /usr/local/cuda-11.1/include/cudnn.h /usr/local/cuda-11.1/lib64/libcudnn*
以下三个文件的安装可略,参考2.4查看cudnn版本
接下来安装Deb包

sudo dpkg -i libcudnn8_8.1.0.77-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.0.77-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.0.77-1+cuda11.2_amd64.deb

2.3 重启后测试

方法1:输入:

cp -r /usr/src/cudnn_samples_v8/ ~ 
cd ~/cudnn_samples_v8/mnistCUDNN/
make clean && make
./mnistCUDNN 

出现Test passed!没有报错即安装成功。
或者输入:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make 
./deviceQuery

这里用第二种方法测试
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第13张图片在这里插入图片描述
出现PASS则安装成功

2.4 查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

若输出为:

#define CUDNN_MAJOR 5
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

则Cudnn版本为5.1.5
若没有输出,也应该是安装好了

3.下载Anaconda

链接:清华大学开源软件镜像站
安装参考链接:添加链接描述

4.在anaconda上的环境操作

4.1更换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/

conda config --set show_channel_urls yes

4.2创建新环境

conda create -n pytorch(环境名) python=3.7

4.3进入环境

conda activate pytorch

4.4安装cuda对应的torch

官网链接
Ubuntu 16.04安装gpu版pytorch(包括cuda、cudnn)_第14张图片
安装命令:conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

5.参考链接

https://www.cnblogs.com/booturbo/archive/2020/11/11/13960935.html
https://www.cnblogs.com/jisongxie/p/10057530.html
https://blog.csdn.net/xcls2010/article/details/89641853

你可能感兴趣的:(DL环境搭建,linux,ubuntu,cuda,pytorch)