共计 3080 个字符,预计需要花费 8 分钟才能阅读完成。
导读 | 本文介绍如何在 Ubuntu 20.04 操作系统中禁用 nouveau 驱动,并安装 Nvidia Tesla V100 型号 GPU 的驱动,并安装 CUDA11.6 和 cuDNN。 |
安装 Ubuntu 20.04 按照安装提示,仔细选择每一项,基本默认即可。
系统安装完成之后,进入系统,使用 lspci 命令查询一下 GPU 是否存在、型号信息是什么。
bpang@bobpang:~$ sudo lspci |grep -i nvidia
2f:00.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 PCIe 16GB] (rev a1)
86:00.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 PCIe 16GB] (rev a1)
通过 lspci 查询到 GPU 的型号之后,访问官网 nvidia.com
下载驱动程序可以按照如下选择,选择产品类型、系列、型号、然后根据自己的操作系统来选择。
注意:如果操作系统是 Linux,尽量选择 Linux 32-bit/Linux 64-bit,不需要选择详细的 Linux 发行版本。测试是发现选择详细的 Linux 发行版本,安装驱动之后,找不到 nvidia-smi 命令。
当安装 GPU 驱动时,提示缺少相关的依赖包,在此,我们需要提前安装相关的依赖包,目前需要用到的是 gcc , g++ , make:
bpang@bobpang:~$ sudo apt install gcc g++ make
当系统安装完成之后,会安装系统开源的 NVIDIA 驱动版本,名称为 nouveau。下面将屏蔽该驱动。
首先,创建 /etc/modprobe.d/blacklist-nouveau.conf 文件,
bpang@bobpang:~$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf
将下面内容添加进去:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
创建 /etc/modprobe.d/nouveau-kms.conf 文件,将 options nouveau mdeset= 0 添加进去:
bpang@bobpang:~$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
更新一下 initramfs:
bpang@bobpang:~$ sudo update-initramfs -u
重启服务器:
bpang@bobpang:~$ sudo reboot
查看 nouveau 模块是否加载,不显示的话就表示已经禁用:
bpang@bobpang:~$ sudo lsmod | grep nouveau
安装下载的 GPU 驱动:NVIDIA-Linux-x86_64-510.47.03.run,目前驱动版本为:510.47.03,如下执行该驱动文件,即可安装。
bpang@bobpang:~$ ./ NVIDIA-Linux-x86_64-510.47.03.run
安装完成之后,可以使用 lspci 看到 GPU 的驱动信息:
使用 nvidia-smi 命令查看 GPU 的信息
bpang@bobpang:~$ nvidia-smi
访问 nvidia 官网,下载 CUDA,cuda 的链接为:https://developer.nvidia.com/cuda-downloads
选择 runfile 文件来安装。
bpang@bobpang:~$ wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
bpang@bobpang:~$ sudo sh cuda_11.6.0_510.39.01_linux.run
如下图,Driver 选项不要勾选了,前面已经安装 GPU 驱动了。
创建环境变量,编辑 ~/.bashrc
文件:
bpang@bobpang:/data/cuda$ vim ~/.bashrc
将下面命令追加到文件最后面:
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
为 nvcc
命令创建一个软连接到 /usr/bin 目录:
bpang@bobpang:/data/cuda$ sudo ln -s /usr/local/cuda/bin/nvcc /usr/bin/nvcc
使用 nvcc 命令查看 cuda 的版本:
bpang@bobpang:/data/cuda$ nvcc --version
下载 CUD 实例文件。因为 CUDA 11.6 版本中 /usr/local/cuda/samples 里面没有实例文件,只有一个 README 文件,内容中告诉你需要从 github 下载,因为 github 太慢,所以从 gitee 中下载实例文件:
bpang@bobpang:~$ git clone https://gitee.com/liwuhaoooo/cuda-samples.git
bpang@bobpang:~$ mv cuda-samples/Samples/* /usr/local/cuda/samples/*
bpang@bobpang:~$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery
https://developer.nvidia.com/cudnn 从官网下载 cudnn
下载的文件名为:cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz
文件拷贝到服务器。然后安装:
bpang@bobpang:/data$ tar xvf cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz
bpang@bobpang:~$ cd /usr/local/cuda
bpang@bobpang:/usr/local/cuda$ sudo cp -p /data/cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/include/cudnn*.h include/
bpang@bobpang:/usr/local/cuda$ sudo cp -p /data/cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/lib/libcudnn* lib64/
bpang@bobpang:~$ sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h
bpang@bobpang:~$ sudo chmod a+r /usr/local/cuda-11.6/lib64/libcudnn*