演示系统配置:
ubantu 20.4
安装 NVIDIA 显卡驱动、CUDA、CUDNN
1.显卡驱动安装
1.1 删除之前安装的驱动
可以通过指令sudo apt purge nvidia*
删除以前安装的NVIDIA驱动版本,重新安装。
1.2 关闭系统自带的nouveau
在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:
可以先通过指令lsmod | grep nouveau
查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。
如果有则按照下面操作禁用:
在终端输入sudo gedit /etc/modprobe.d/blacklist.conf
弹出blacklist.conf文件:在blacklist.conf文件末尾加上这两行,并保存:
blacklist nouveau
options nouveau modeset=0
然后在终端中输入:
sudo update-initramfs -u
#应用更改
重启,就禁止了ubuntu20.04自带的nouveau显卡驱动了,接下来我们就可以安心的安装驱动程序了
如果重启后,光标闪烁,无法开机,则需要,在重启的时候,按住ESC或者F2,进入recover 模式,进行下面的步骤。
1.3 显卡驱动安装
查看显卡型号:
lspci | grep -i vga
得到下面输出:
根据编码26b1 ,去PCI devices输入查询,显卡型号。
之后得到显卡型号RTX 6000 Ada:
去nvidia官网下载驱动:
官网Download The Official NVIDIA Drivers | NVIDIA根据显卡型号下载对应的驱动版本:
设置权限并安装:
依次执行下面命令
sudo chmod a+x NVIDIA-Linux-x86_64-550.127.05.run
# 记得改NVIDIA-Linux-x86_64-550.127.05.run名字
sudo ./NVIDIA-Linux-x86_64-550.127.05.run -no-x-check -no-nouveau-check -no-opengl-files
在安装过程中会出现:
- he distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
- Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择NO继续。
- Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up。选择 Yes 继续
安装成功后,reboot
重启,输入nvidia-smi
查看。
到此驱动就安装好了。
2.CUDA安装和测试
2.1 官网下载对应的CUDA
在安装了显卡驱动的情况下,用nvidia-smi 查看支持的CUDA 最高版本
如下图所示,这里以CUDA11.8为例,介绍ubuntu20.04系统上CUDA的安装。
我们可以从NVIDIA官网CUDA下载页面,网址为https://developer.nvidia.com/cuda-toolkit-archive,点击CUDA Toolkit 11.8下载相应版本的CUDA11.8。
2.2 安装CUDA
在安装CUDA11.8之前需要首先安装一些相互依赖的库文件:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-m
下面为安装CUDA11.8的Ubuntu安装指令:
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
接着通过Enter
键在安装界面取消diver
和550.127.05
的安装,然后选择Install
,等待安装。
2.3 配置CUDA的环境变量
首先在终端输入sudo gedit ~/.bashrc
打开如下图所示的.bashrc文件。
然后,如下所示在.bashrc文件的最后添加以下CUDA环境变量配置信息
注意查看本地文件的安装路径,并修改。
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
2.4 CUDA测试
最后,在终端输入source ~/.bashrc
或者重新启终端使之生效。
这时,我们就可以在终端输入nvcc -V
查看CUDA的安装信息,如下图所示,至此CUDA安装成功。
3.cudnn的安装与检测
网址https://developer.nvidia.com/rdp/cudnn-archive
找到对应CUDA版本的cuDNN
下载完成后解压:
# 换成你下载的文件
tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
执行如下操作将头文件和so文件拷贝到cuda目录下即完成安装
# 注意下面的cuda-10.0目录换成上面安装的版本号
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64
# 增加读取权限
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*
完成上面所有步骤之后,可以编写python程序来快速验证CUDA是否可用:
import torch
# 检查是否有可用的GPU
if torch.cuda.is_available():
print(f'Using GPU: {torch.cuda.get_device_name(0)}')
# 创建一个张量并将其移动到GPU
device = torch.device("cuda") # 或者直接使用 "cuda:0" 指定特定的GPU
tensor = torch.tensor([1.0, 2.0, 3.0], device=device)
print(f'Tensor on GPU: {tensor}')
# 在GPU上执行一个简单的操作
tensor_squared = tensor ** 2
print(f'Tensor squared on GPU: {tensor_squared}')
else:
print('No GPU available, using CPU.')