导读 | 本文介绍如何在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 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*