流程
#@ CUDA 10.2
参考之前在笔记本上安装显卡驱动的记录ubuntu16.04+GTX1650 安装cuda,驱动会自动安装!+安装cudnn,按照官网教程安装cuda toolkit,会自动安装显卡驱动。
按照此教程,直接安装cuda 10.2( CUDA Toolkit 10.2 Download)
reboot
显卡驱动已成果更新
(base) xiu@xiu:/usr/local$ nvidia-smi
Mon May 9 16:15:35 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:07:00.0 Off | N/A |
| 0% 45C P5 16W / 280W | 0MiB / 11176MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
(base) xiu@xiu:/usr/local$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
打开~/.bashrc ,添加环境变量export PATH=$PATH:/usr/local/cuda/bin
nvcc -V,输出显示cuda版本为11.2.
(base) xiu@xiu:~/Downloads/cudnn$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
程序测试
在主机上测试,显卡已可以跑程序了!
参考该博客,原来在跑DL程序时使用的是conda 里面安装的cudatoolkit。也就是说,只要安装对应版本的显卡驱动,程序一样是可以跑起来的。
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch。
上述命令在**使conda安装torch时候,会提供一个cudatoolkit工具包,其中包含了CUDA的运行API(主要是一些动态链接库文件libXXXX.so.xxx等),在运行基于pytorch的代码时会使用conda提供的cudatoolkit包,而忽视Nvidia官方的CUDA Toolkit。**这也就是为什么有时候我们通过nvcc -V查看的CUDA运行API版本很低(比如7.5),但是能成功运行cuda9.0的pytorch的原因。
————————————————
版权声明:本文为CSDN博主「tomorrow″」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42406643/article/details/109545766
cudnn
查看cudnn版本
(base) xiu@xiu:~$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat: /usr/local/cuda/include/cudnn.h: No such file or directory
可见本设备并没有安装cudnn.
到/usr/local/cuda/lib64下查看,刚装好的cuda, 确实是没有安装cudnn的。
根据官网 https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html 查找下我所需要的cudnn.
查到我的cuda10.2 对应的cuDNN版本为 8.4.0
cudnn下载
进入链接 https://developer.nvidia.com/
下载 cuDNN 需要注册 Nvidia 账号登录进入才行。
用账号登录后,在右上角的搜索输入 cudnn 查找。
点击任意一个 cuDNN Download ,进入界面,选择 I Agree To the Terms of the cuDNN Software License Agreement ,会显示版本列表:
点击下载
安装
- 将下载的cudnn文件上传到服务器上。
(base) xiu@xiu:~/Downloads/cudnn$ ls
cudnn-linux-x86_64-8.4.0.27_cuda10.2-archive.tar.xz
- 解压
$ tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
- Copy the following files into the CUDA toolkit directory.
$ sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
$ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
实际操作:
(base) xiu@xiu:~/Downloads/cudnn$ ls
cudnn-linux-x86_64-8.4.0.27_cuda10.2-archive cudnn-linux-x86_64-8.4.0.27_cuda10.2-archive.tar.xz
(base) xiu@xiu:~/Downloads/cudnn$ sudo cp cudnn-linux-x86_64-8.4.0.27_cuda10.2-archive/include/cudnn*.h /usr/local/cuda/include
[sudo] password for xiu:
(base) xiu@xiu:~/Downloads/cudnn$ sudo cp -P cudnn-linux-x86_64-8.4.0.27_cuda10.2-archive/lib/libcudnn* /usr/local/cuda/lib64
(base) xiu@xiu:~/Downloads/cudnn$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
查看cudnn版本
# 下面两个指令都可,哪个可以正常输出用哪个。
(base) xiu@xiu:~/Downloads/cudnn$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
(base) xiu@xiu:~/Downloads/cudnn$
(base) xiu@xiu:~/Downloads/cudnn$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#endif /* CUDNN_VERSION_H */
成功!
测试运行速度
26->30 it/s
安装cudnn前速度:
更改后: