2020 年11月中 3070 安装驱动,cuda,cudnn 记录
因为现在这个时间节点,网上的教程一大把,但是踩了好多坑,把过程记录下来,
安装好ubuntu系统后
cuda 工具包里包含了显卡驱动,所以可以直接安装cuda和cudnn, 安装步骤和本教程不符。
先安装显卡驱动,那么在cuda安装的时候就不再安装显卡驱动了,再安装cudnn ,这里使用的是这种方式,
显卡驱动安装(以3070为例)
1先把默认显卡驱动删除掉,
sudo apt-get purge nvidia*
2添加显卡驱动第三方ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa
更新软件列表(不是更新软件)
sudo apt-get update
3查找适合的驱动版本
ubuntu-drivers devices
结果
aaa@qq.com:~/下载$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002484sv000010B0sd0000146Bbc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-455 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
显卡驱动比较少哈,因为显卡出来也没多长时间,选择推荐的版本就好了
4安装推荐的显卡驱动
sudo apt-get install nvidia-driver-455
安装后重启机器
reboot
重启后查看显卡是否生效
nvidia-smi
结果大概是这个样子
aaa@qq.com:~/下载$ nvidia-smi
Sat Nov 14 12:37:23 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.38 Driver Version: 455.38 CUDA Version: 11.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 3070 Off | 00000000:01:00.0 On | N/A |
| 0% 50C P0 47W / 220W | 514MiB / 7979MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1120 G /usr/lib/xorg/Xorg 40MiB |
| 0 N/A N/A 1186 G /usr/bin/gnome-shell 54MiB |
| 0 N/A N/A 1772 G /usr/lib/xorg/Xorg 330MiB |
| 0 N/A N/A 1918 G /usr/bin/gnome-shell 73MiB |
| 0 N/A N/A 2650 G /usr/lib/firefox/firefox 3MiB |
| 0 N/A N/A 9732 G /usr/lib/firefox/firefox 3MiB |
| 0 N/A N/A 9955 G /usr/lib/firefox/firefox 3MiB |
+-----------------------------------------------------------------------------+
安装依赖库
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
注:有的方法是要先
Ubuntu字符界面与图形界面切换
快捷键
图形界面切换字符界面快捷键Ctrl+Alt+F6
字符界面切换图形界面快捷键Ctrl+Alt+F7
cuda
安装cuda
首先是版本的选择,怎么选择,要根据pytorch和tensorflow-gpu版本支持的cuda版本来选择, 百度搜索cuda下载,去英伟达官网下载
30系显卡不支持低版本,我这里选择pytorch1.7支持的版本是9.2-11.0,这里选11.0的版本,
下载建议
把wget后面的地址复制下来,通过浏览器地址栏输入
http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
就可以通过浏览器下载了,这样下载会快很多
下载完成后,找到对应的目录
修改权限sudo chmod a+x cuda_11.0.2.450.51.05_linux.run
运行 sudo sh cuda_11.0.2.450.51.05_linux.run --no-opengl-libs
安装的过程中有一步提示需要输入accept
还有一步提示要去掉Driver选项,继续选择install,安装完成会提示Driver 没被选择,
添加环境变量
gedit ~/.bashrc
在文件末尾添加两行
export PATH="/usr/local/cuda-11.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH"
保存后执行更新
source ~/.bash
检查是否成功
nvcc -V 或者nvcc --version
后面是大写的V
aaa@qq.com:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0
cudnn安装
cudnn只是一个库文件,不需要安装,只需要解压后把文件复制到对应的cuda的include文件夹和lib64文件夹中即可。
同样去英伟达官网下载,需要注册账号的,
选择第一个cudnn library for linux[x86_64] 点击就会下载
下载完成后,参照官方文档安装即可
Before issuing the following commands, you'll need to replace x.x and v8.x.x.x with your specific CUDA version and cuDNN version and package date.
Procedure
- Navigate to your <cudnnpath> directory containing the cuDNN Tar file. 进入到cudnn压缩包的目录,
- Unzip the cuDNN package.
$ tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz 解压
or
$ tar -xzvf cudnn-x.x-linux-aarch64sbsa-v8.x.x.x.tgz
- Copy the following files into the CUDA Toolkit directory, and change the file permissions.
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include 把头文件复制到include目录 $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 把库文件复制到lib64目录 $ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* 修改所有复制后的头文件和库文件的权限
检查是否安装成功
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
结果
aaa@qq.com:~$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#endif /* CUDNN_VERSION_H */