租的腾讯云 GPU 主机,因为要安装 nvidia-384 + cuda-9.0,所以选择系统 Ubuntu 16.04。
CUDA,NVIDIA Driver 之间的版本对应关系表格
安装 nvidia-384
首先查看显卡支持的驱动版本。
ubuntu-drivers devices
显示结果如下,推荐的是 nvidia-384
== /sys/devices/pci0000:00/0000:00:08.0 ==
modalias : pci:v000010DEd00001BB3sv000010DEsd000011D8bc03sc02i00
vendor : NVIDIA Corporation
driver : xserver-xorg-video-nouveau - distro free builtin
driver : nvidia-384 - distro non-free recommended
通过附加驱动安装
如果有图形化界面,在 软件和更新 中选择 附加驱动,点击 应用更改
完成后重启,然后查看
nvidia-smi
通过 ppa 源安装
如果没有图形化界面,可以通过 ppa 源安装。这种安装的是开源驱动。
有 nvidia 显卡的主机一般会自带安装包,所以直接执行
sudo apt install nvidia-384
如果报错说没有该安装包,那么就需要添加 ppa 源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
安装 nvidia-384
sudo apt install nvidia-384
重启后查看
nvidia-smi
安装 cuda 9.0
官网 下载 cuda 9.0
然后下载 1.6G 的安装包。如果速度很慢,就右键复制链接,在迅雷里下载。
sudo sh cuda_9.0.176_384.81_linux-run
出现阅读内容后,按 Ctrl + C,可以直接跳到选项问题。
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Simples Location
[ default is /home/hanjiale ]:
Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...
安装完成后显示,Samples 缺失一些依赖库,但没关系,Samples 的作用仅是 获取 CUDA_ARCH
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-9.0
Samples: Installed in /home/hjl, but missing recommended libraries
/usr/local/ 路径下有 cuda 和 cuda-9.0,注意 cuda 是软链接,指向 cuda-9.0
cd /usr/local/
file cuda
添加环境变量
sudo vim ~/.bashrc
文件末尾添加如下内容
# cuda
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
重新加载 .bashrc 文件
source ~/.bashrc
测试
nvcc -V
安装 cuDnn
登陆 官网,选择 cuda 9.0 支持的版本。
下载需要注册,可以用qq号注册。用迅雷下的话快一点。下载后,
tar -zxf cudnn-9.0-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
验证安装是否成功
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
显示
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"