1.nvidia驱动,cuda,cudnn三者的版本是相互对应的,必须要确保版本一致
2.caffe等库安装时对新版本的cuda11.0+可能不支持,目前建议安装cuda10.0版本及其对应的驱动,注意,如果直接安装了cuda11.0+,后面编译caffe出问题需要全部卸载重装
参考网址
1.https://wiki.archlinux.org/title/NVIDIA_
2.https://wiki.archlinux.org/title/NVIDIA_Optimus_
#查看显卡情况
lspci -k | grep -A 2 -E "(VGA|3D)"
#禁用开源驱动
gedit /etc/modprobe.d/nvidia-blacklists-nouveau.conf
#添加以下内容
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
#更新并重启
update-initramfs -u && reboot
#重启后查看是否禁用 没有输出表明屏蔽成功
lsmod | grep -i nouveau
#安装
apt-get install nvidia-driver nvidia-xconfig mesa-demos
#查看信息
nvidia-xconfig --query-gpu-info
#修改xorg.conf
gedit /etc/X11/xorg.conf
#改为以下内容
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0" #这里是根据上一步的输出信息修改
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
*********************************
#查看正在使用的显示管理器
cat /etc/X11/default-display-manager
#切换显示管理器
sudo dpkg-reconfigure gdm3
或
sudo dpkg-reconfigure lightdm
或
sudo dpkg-reconfigure sddm
#配置显示管理器LightDM
#为 LightDM 显示管理器创建/编辑脚本:
gedit /etc/lightdm/display_setup.sh
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
然后赋予脚本可执行权限:
# chmod +x /etc/lightdm/display_setup.sh
通过编辑 /etc/lightdm/lightdm.conf 的 [Seat:*] 部分配置 LightDM 来运行这个脚本:
# gedit /etc/lightdm/lightdm.conf
[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh
现在重启,然后显示管理器应该能启动了。
SDDM
为 SDDM 显示管理器创建/编辑脚本(SDDM 是 KDE 的默认显示管理器):
/usr/share/sddm/scripts/Xsetup
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
GDM
要为 GDM 创建启动脚本,请创建两个新的 .desktop 文件,如下:
/usr/share/gdm/greeter/autostart/optimus.desktop
/etc/xdg/autostart/optimus.desktop
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
####################################################################################################################################
#glxinfo | grep NVIDIA
安装完成后如果出现外接显示器可以显示,内置的显示器不能显示的情况,可以如下方式解决:
sudo rm /etc/X11/xorg.conf
sudo reboot
sudo gedit ~/.bashrc
打开后输入,注意改成自己的版本
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
执行以下命令可以看到cuda版本
nvcc -V
还不放心可以测试以下例子
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
运行后出现相关版本设备信息,且Result = PASS说明没问题了。
Download cuDNN v7.5.0 (Feb 21, 2019), for CUDA 10.0
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内,并给以权限。
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
再运行如下命令查看cudnn的安装,若没有显示,可以重启电脑
nvcc –V
安装完可能出现如下类似的符号链接找不到
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link
解决方法是,对每一个执行
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ldconfig
问题甚多,大致参考以下博客
https://blog.csdn.net/CAU_Ayao/article/details/83536320
只要nvidia驱动,cuda,cudnn的对应版本没问题且安装成功,通过各种百度总会解决的,也可以去github上直接搜索别人问过的