1、检测显卡
首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:
$ ubuntu-drivers devices
输出结果为:
== /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B82sv00007377sd000011DCbc03sc00i00
vendor : NVIDIA Corporation
model : GP104 [GeForce GTX 1070 Ti]
driver : nvidia-driver-390 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
从中可以看到,这里有一个设备是GTX 1070Ti ,对应的驱动是NVIDIA -390 (推荐)。不同驱动不同时间,有时候会有几个可选的,建议选择其中推荐的。
2、安装驱动
你可以选择,安装所有推荐的驱动,如下命令
$ sudo ubuntu-drivers autoinstall
你可以选择,安装所有推荐的驱动,如下命令
$ sudo apt install nvidia-driver-390
OK 驱动安装完成,重新启动,查看系统配置 ==> 详细信息 ==> 关于 ,图形处理是否对应于自己的独立显卡。
安装CUDA 这里需要注意,,CUDA通常和cudnn的版本相对应。
首先,选择CUDA,旧版本也可以选择(红色圈出),官网地址:
https://developer.nvidia.com/cuda-downloads
注意,有些版本是有补丁包也需要下载的。
开始安装,以cuda9.0为例:
1 GCC 降级
由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,
故手动进行降级:
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
装完后进入到/usr/bin目录下
$ls -l gcc*
会显示以下结果
lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.3
发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
同理,对g++也做同样的修改:
ls -l g++*
lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.3
需要将g++链接改为g++-4.8:
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
再查看gcc和g++版本号:
gcc -v g++ -v
均显示gcc version 4.8 ,说明gcc 4.8安装成功。
2 安装cuda ,及其补丁
输入命令安装Base Installer:
sudo sh cuda_9.0.176_384.81_linux.run
需要注意的是,之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。
然后,继续执行以下操作安装3个 patch :
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
安装完毕之后,将以下两条加入.bashrc
文件中.
sudo vim ~/.bashrc
#注意,根据自己的版本,修改cuda-9.2/9.1...
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
OK ,那么,到这一步,cuda 就安装完成了
cuDNN 的安装,就是将 cuDNN 包内的文件,拷贝到cuda文件夹中即可。
安装完CUDA 之后还需要安装cuDNN。
官网地址:https://developer.nvidia.com/rdp/cudnn-archive
那么cuDNN 的版本如下
根据CUDA选择对应的cudnn版本下载。
按照第四点分析的内容,我们需要下载的cuDNN 版本为
cuDNN v7.6.4 library for liunx,下载地址(需要注册才能进行下载)
下载完毕后,先解压,然后将其中的内容复制到CUDA安装文件夹里面.
复制cuDNN内容到cuda相关文件夹内
# 注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
到此处,所以的安装就完成。