Ubuntu18.04下cuda和cudnn安装

1 安装显卡驱动(460.27.04)

    见上一篇博文。

2 安装CUDA

(1)  下载cuda(cuda_11.2.0_460.27.04_linux.run)

(2)禁用nouveau
    新建一个文本/etc/modprobe.d/blacklist-nouveau.conf(如通过sudo vim /etc/modprobe.d/blacklist-nouveau.conf) ,在文件中输入(vim输入i后即可进入编辑模式):
blacklist nouveauoptions nouveau modeset=0
保存(vim按Esc推出编辑模式,输入:wq保存退出)。输入如下指令重新生成内核:
sudo update-initramfs -u
 注意,不要急着重启电脑reboot!!!然后官方给出如下说明“Reboot into runlevel 3 by temporarily adding the number "3" and the word "nomodeset" to the end of the system's kernel boot parameters”。如果你不会操作的话,最好配置一下openssh-server!不然重启黑屏就可能啥也干不了了。
(3)给Linux电脑配置openssh-server(实测不需要配置也行,直接进入tty命令行模式,登录后即可。tp) 
由于在禁用nouveau并重启电脑后,屏幕可能无法正常显示(亲测有的电脑可以进入tty命令行界面,有的屏幕完全没显示,但是远程连接通常是可以的。所以在关机前要配好ssh:
sudo apt install openssh-server
安装好后输入ifconfig查看IP地址,测试能够被成功远程后再关机。如果没安装ifconfig,可输入
sudo apt install net-tools
(4) 重启电脑
输入如下指令重启电脑
sudo reboot
(5)重启电脑后,如果屏幕能显示,则按Ctrl+Alt+(F1 or F2 or ... F6)切换至tty命令行模式。如果屏幕不能显示,也是可以通过远程ssh连接上的。
关闭图形界面:
sudo service lightdm stop # 有些可能不需要
终于可以开始安装了,找到对应路径文件,输入:
sudo sh cuda_11.2.0_460.27.04_linux.run 
然后正常安装就好了。
 


(6)配置环境变量
       打开sudo vim /etc/bash.bashrc(如果没有权限可在~/.bashrc内加入,在末尾加入(注意cuda版本)
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
和前面一样,保存退出。然后输入source /etc/bash.bashrc。测试nvdia-smi或者cuda --version确认安装好了。确认好后,最好对应上面的打开图形界面服务:
sudo service lightdm start # 有些可能不需要
再次sudo reboot重启电脑。正常情况就能够恢复正常显示了~

注:如果直接运行则会报错如下:

 原因是没有禁用nouveau本地图形驱动。根据网上的各种博客,和官方说明,总结出如下比较稳定的Cuda安装方法,可供参考。

3. 测试CUDA是否安装成功

(1)nvcc -V   

       会输出CUDA的版本信息(V要大写) 

(2)编译samples例子 

          cd /usr/local/cuda-11.2/sample

         给该目录增加执行权限, 然后在该目录下终端输入make,等待十来分钟。

(3)编译完成后测试 

       运行samples/1_utilities/deviceQuery程序,sudo ./deviceQuery 
      查看输出结果,重点关注最后一行,Pass表示通过测试  

 4. cudnn安装(cudnn-11.2-linux-x64-v8.1.1.33.tgz)

     (1) 按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive
需要注册账号。

 (2)解压下载文件, tar zxvf  文件名.tgz,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:

           sudo cp cuda/include/cudnn.h /usr/local/cuda-11.2/include/

           sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.2/lib64/

            sudo chmod a+r /usr/local/cuda-11.2/include/cudnn.h

            sudo chmod a+r /usr/local/cuda-11.2/lib64/libcudnn*
(3)查看cudnn版本(可以不操作,cudnn_version没有拷贝过去)

在终端输入

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果出现下图所示版本信息,说明安装成功。

原文地址:https://www.cnblogs.com/tianpeng-blog/p/14735822.html