显卡驱动、Cuda、Cudnn对应关系:CUDA 12.2 Release Notes
cat /proc/version
sudo lshw -numeric -C display
sudo apt-get install build-essential
gcc --version # 验证gcc是否安装成功
sudo apt-get install g++
sudo apt-get install make
sudo apt-get remove --purge nvidia*
进入 NVIDIA官网 ,按照本机的显卡版本选择对应的驱动,下载后得到后缀为.run的可执行文件。
终端打开禁用列表:
sudo gedit /etc/modprobe.d/blacklist.conf
最后一行添加:
blacklist nouveau
options nouveau modeset=0
更新刚刚修改的文件,重启计算机并查看是否禁用成功
sudo reboot
lsmod |grep nouveau # 无输出则禁用成功
修改 gedit /etc/default/grub
文件,防止安装驱动后黑屏,将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
替换为 GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash acpi_osi=linux”
sudo reboot # 重启
Ctrl + Alt + F1/F2/F3
进入tty模式,输入
sudo service lightdm stop
如未安装则可不安装,或输入sudo apt install lightdm
安装
cd xxx # 进入.run文件所在位置
sudo chmod +x NVIDIA-Linux-x86_64-531.68.run # 添加可执行权限
sudo sh NVIDIA-Linux-x86_64-535.54.03.run -no-opengl-files -no-x-check -no-nouveau-check
安装参数说明:
- -no-x-check:安装驱动时关闭 X 服务
- -no-nouveau-check:安装驱动时禁用 nouveau
- -no-opengl-files:只安装驱动文件,不安装 OpenGL 文件
安装说明:
- 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 继续。- Nvidia’s 32-bit compatibility libraries?
选择 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 继续
查看是否安装成功
sudo modprobe nvidia # 挂载Nvidia驱动
nvidia-smi # 此时电脑出现GPU信息
终端输入:
nvidia-smi
打开 CUDA官网,下载需要的cuda版本。
直接安装会出现如下问题:
sudo sh cuda_10.2.89_440.33.01_linux.run
Failed to verify gcc version.
See log at /var/log/cuda-installer.log for details.
使用cat /var/log/cuda-installer.log
查看日志文件,发现是GCC版本不兼容,可以使用--override
参数忽略该问题:
sudo sh cuda_10.2.89_440.33.01_linux.run --override
第一步输入“accept”,因为已经装了显卡驱动,第二步只选择CUDA Toolkit 10.2即可,然后选择“install”,等待安装完成。
根据 “Summary” 的提示添加路径,在路径中添加/usr/local/cuda-10.2/bin
和/usr/local/cuda-10.2/lib64
,使用vim ~/.bashrc
或者vim ~/.zshrc
,在末尾添加:
export PATH="/usr/local/cuda-10.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH"
在NVIDIA官网下载cuda对应的cudnn版本(需要注册登录):
将下载的文件解压之后,将cuda/include/cudnn.h
文件复制到usr/local/cuda-10.2/include
文件夹,将cuda/lib64/
下所有文件复制到/usr/local/cuda-10.2/lib64
文件夹中,并添加读取权限:
sudo cp cuda.xx/include/cudnn.h /usr/local/cuda-10.2/include
sudo cp cuda.xx/lib64/libcudnn* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*
查看cudnn版本方法:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
没反应可能是因为新版本路径改了,使用如下指令:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
cuda 安装步骤同第2节,在安装.run文件的时候会弹出如下选项:
A symlink already exists at /usr/local/cuda. Update to this installation?
选择 no,不然当前版本会覆盖之前软链接,要使用不同的cuda版本则在.bashrc或.zshrc导入不同路径:
export PATH="/usr/local/cuda-11.7/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"