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
如果出现下图所示版本信息,说明安装成功。