Linux系统下安装NVIDIA显卡驱动+配置CUDA(Ubuntu 18.04.4LTS+NVIDIA-Linux440.82+CUDA10.2)

系统与显卡信息

我使用的是Linux桌面是Ubuntu18.04.4LTS
显卡是NVIDIA的GeForce MX250
查到自己的显卡型号,可以去官网上检查此型号的显卡是否支持CUDA

附:检查自己计算机显卡型号
计算机-管理-系统工具-设备管理器-显示适配器
查到信号可以去官网看看是否支持CUDA
支持CUDA的NVIDIA-GPU列表

不在列表上也不一定不支持CUDA加速,最便捷的查看方法就是安装GPU-Z
具体方法

下载CUDA10.2以及其对应版本的NVIDIA显卡驱动

我下载的cuda版本是10.2.89_440.33.01
这意味着所需的NVIDIA显卡驱动版本至少是440以上的
CUDA下载地址
NVIDIA显卡驱动下载地址

禁止集成的nouveau驱动

这一步需要修改blacklist.config,这玩意是只读的,需要用修改属性命令:

sudo chmod 666 /etc/modprobe.d/blacklist.conf

用gredit编辑器打开blacklist.config

sudo gedit /etc/modprobe.d/blacklist.conf

在文件最末添加如下内容:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

执行如下命令,更新系统,禁用nouveau

sudo update-intramfs -u

重启,命令如下:

sudo reboot

因为上面重启了,所以在这提醒一句,如果反复安装NVIDIA显卡驱动始终有问题,在开机时进入BIOS关闭secure boot

关闭secure boot方法

卸载原有驱动

重启完成后,在终端输入如下命令检查是否禁用nouveau成功,无输出,表示禁用成功

lsmod | grep nouveau

按ctrl+alt+F1~F6进入tty1 ~ 6任意一个命令行界面均可
输入用户名密码登录
在命令行执行如下命令,关闭图形界面(否则后面可能出错)

sudo service lightdm stop
或者
sudo telinit 3

卸载原有驱动:

sudo apt-get remove nvidia-*

给驱动.run文件赋予执行权限

sudo chmod a+x NVIDIA-Linux-x86_64-440.82.run

安装显卡驱动

sudo ./NVIDIA-Linux-x86_64-440.82.run -no-opengl-files

除非你的计算机只有一个集成显卡,才不用加-no-opengl-files,否则一般的双显卡会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件

挂载Nvidia驱动

modprobe nvidia

检查驱动是否安装成功

nvidia-smi

出现如下输出,则安装成功
在这里插入图片描述
如果出现Error:Unable to load the ‘nvidia-drm’ kernel module .

出现这个问题最有可能的原因是你安装的Ubuntu是UEFI模式启动的,但是在BIOS中却打开了Security BOOT选项。正确做法是禁用该选项,方法见上文

安装CUDA10.2

sudo sh cuda_10.2.89_440.33.01_linux.run --no-opengl-libs

配置环境变量

运行如下命令打开个人资料文件夹

sudo gedit /etc/profile

在末尾添加

export PATH=/usr/local/cuda-10.2/bin:$PAth
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64$LD_LIBRARY_PATH

保存,重启电脑然后进入终端测试

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

如果result=PASS,则安装成功,否则失败,可能是环境未配置好或者cuda版本与驱动版本不兼容

如需卸载重装,执行如下命令

cd /usr/local/cuda/bin
sudo ./uninstall_cuda_10.2.pl

ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory

用nvcc编译.cu文件时若出现ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory这样的错误
首先检查/usr/local/cuda-8.0/lib64目录,看看libcudart.so.8.0是否存在,如果不存在,则先正确安装cuda。如果确定cuda已经存在,这个问题的出现于Linux的ldconfig命令有关

解决方法:

sudo ldconfig /usr/local/cuda-10.2/lib64 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章