网上的博文、教程因为时间、硬件、软件版本等原因可能存在很多不适合的地方。官方文档是相对来说最靠谱的。本文也只是官方文档在这个时间的翻译和简化版,更详细的内容,建议阅读CUDA Linux 安装指南官方文档和cuDNN安装指南官方文档。
$ lspci | grep -i nvidia
去官网查看显卡型号是否在CUDA支持列表中。
$ uname -m && cat /etc/*release
$ gcc --version
如未安装,安装命令提示安装即可。
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
卸载驱动的runfile安装:
$ sudo /usr/bin/nvidia-uninstall
如果之前是用的deb包安装的话,卸载用:
$ sudo apt-get --purge remove
$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
我是用ssh远程登录操作的,所以用如下方式切换:
在root用户权限下,输入:
$ systemctl get-default
可查看目前的启动模式。
更改为命令行界面模式(text mode):
$ systemctl set-default multi-user
重启后便可进入命令行模式(text mode)。因为下一步还需要重启一次,所以暂时不用重启,下一步一起重启。
终端输入如下命令:
$ lsmod | grep nouveau
如果有输出,说明Nouveau正在运行。
禁用:
在目录/etc/modprobe.d/下创建文件blacklist-nouveau.conf:
$ cd /etc/modprobe.d/
$ sudo touch blacklist-nouveau.conf
$ sudo chmod a+w+r blacklist-nouveau.conf
$ sudo nano blacklist-nouveau.conf
写入如下内容:
blacklist nouveau
options nouveau modeset=0
Ctrl + o 写入,Ctrl + x离开。
再输入:
$ sudo update-initramfs -u
重启。
如果上一步成功的话,现在重启后应该是在text mode。用如下命令检查:
$ systemctl get-default
$ lsmod | grep nouveau
如果第一行命令输出为:multi-user.target, 第二行命令无输出的话,说明进入text mode成功、禁用Nouveau成功。
切换到cuda安装包所在的目录,给cuda可执行权限并安装:
$ sudo chmod a+x cuda__linux.run
$ sudo sh cuda__linux.run
最开始会有个服务条款,accept,然后会有安装的选项,全选即可。
最后如果不报错且出现如下显示,则说明安装暂时成功。:
Driver :Installed
Toolkit :Installed in /usr/local/cuda-10.1
Samples :Installed in /home/username
注意:如果正在安装驱动程序,安装程序还会询问是否应该安装openGL库。如果用于显示的GPU不是NVIDIA GPU,则不应安装NVIDIA openGL库。否则,非nvidia GPU图形驱动程序使用的openGL库将被覆盖,GUI将无法工作。如果执行静默安装,应该使用——no-opengl-libs选项来防止安装openGL库。
输入如下命令将重启默认进入的模式改回图形界面:
$ systemctl set-default graphical.target
搭配环境(记得修改成自己相应的版本号):
$ echo 'export PATH=/usr/local/cuda-10.1/bin:$PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
$ source ~/.bashrc
重启。
$ nvcc -V
会输出CUDA的版本信息。
$ cd NVIDIA_CUDA-10.1_Samples
$ make
等待十来分钟。
$ cd NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release/
$ sudo ./deviceQuery
最后一行结果显示“pass”,表示测试通过。
sudo ./bandwidthTest
最后一行结果显示“pass”,表示测试通过。CUDA安装完成。
官方文档上还有一些推荐的操作,具体可见官方文档。
进入官网下载相应的安装包(需要登录):
根据安装的CUDA的版本和系统的版本选择。
在安装包所在路径下解压:
$ tar -xzvf cudnn-10.1-linux-x64-v7.6.1.34.tgz
将解压所得文件copy到CUDA的系统路径下(注意实际安装的CUDA版本和路径),并给予权限:
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-10.1/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
$ sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h /usr/local/cuda-10.1/lib64/libcudnn*
$ cat /usr/local/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
有输出说明安装成功。
https://blog.csdn.net/u012235003/article/details/54575758
https://blog.csdn.net/prophet10086/article/details/78501019
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html