Linux-安装显卡驱动NVIDIA,CUDA和cuDNN及所遇问题

本文详细记录了在Ubuntu 16.04和18.04上安装NVIDIA显卡驱动、CUDA及cuDNN的过程,包括遇到的键盘失灵、系统断网、tab键无法使用等问题及其解决方法。最终成功安装了适合的NVIDIA驱动,并设置了环境变量,但使用CUDA时遇到了程序运行错误,需进一步调试。
部署运行你感兴趣的模型镜像

前言: 有感而发,与正文无关。
其实这个问题真的很简单,当然也是因为我现在搞定了才有恃无恐的说这话,可是我实实在在地折腾了两天,总觉得应该记录一下我折腾的过程,让我的学习过程有点仪式感。
首先我装的16.04的Ubuntu,然后装Nvidia的过程中reboot几次,结果整个键盘都不能用了,解决的办法非常有意思,包括使用sudo service lightdm stop 进入文本界面,感觉有点喜欢上这个专业了,我真的很懒又很笨,虽然换到这个专业三年多,结果仍然是个白痴菜鸟(解决方案)。
然后解决了这个问题,我觉得我应该更新一下Ubuntu的版本,所以我又使用的18.04版本的,结果我又遇到了一个系统不断断网的破问题,当然这个问题我试图解决了很久,网上各种方案用了一遍,没成功,所以最后我又重装了系统16.04。
还有tab键不能使用的问题,这个比较简单: ln -sf /bin/bash /bin/sh
再然后终于成功了,高兴到飞起,原来快乐也很简单,不需要别人赋予你~~~(记于2020年4月18日,格罗宁根,疫情居家隔离)


一.安装NVIDIA显卡驱动

方法1(成功的).

.1System settings->Software&Updates:

在这里插入图片描述
2.Additional Divers->NVIDIA diver:

在这里插入图片描述
3.System settings->Details,查看显卡型号GeForce 940MX:

在这里插入图片描述

方法2:未安装成功(但仍然记录一下)
  • 删除旧驱动:sudo apt-get purge nvidia*
  • 打开禁用列表: sudo gedit /etc/modprobe.d/blacklist.conf
  • 在禁用列表中添加:
blacklist nouveau
options nouveau modeset=0
  • 更新:sudo update-initramfs -u

|——报错:

W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

——缺少固件,下载对应的固件包,存放到/lib/firmware/i915文件夹下:下载链接

sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/kbl_guc_ver9_14.bin

  • 重新更新,重启:
sudo update-initramfs -u
reboot
  • 查看是否已经禁用nouveau:lsmod | grep nouveau
  • 添加官方ppa源:sudo add-apt-repository ppa:graphics-drivers/ppa
  • 刷新软件库:sudo apt-get update
  • 寻找驱动版本:ubuntu-drivers devices
  • 安装最新的驱动:sudo apt-get install nvidia-430

——报错:(linux中的语言被我更换成了汉语)

下列软件包有未满足的依赖关系:
 nvidia-430 : 依赖: lib32gcc1 但是它将不会被安装
              依赖: libc6-i386 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

——长时间未找到解决方案,因此选择了第一种方案,感觉应该是下载的驱动版本过高,未测试。


二.安装CUDA

CUDA (Compute Unified Device Architecture,统一计算架构) 是NVIDIA创建的并行计算平台和应用程序编程接口(API)模型。
1.根据NVIDIA驱动版本下载CUDA:
在这里插入图片描述
2.CUDA下载网址,下载安装:

在这里插入图片描述3.安装过程:

  • 声明:accept
  • 安装nvidia driver:No
  • 其他选择:yes

4.重启后在终端输入:

export PATH="/usr/local/cuda-8.0/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"

5.终端输入:nvcc -V

在这里插入图片描述6.设置环境变量sudo vim ~/.bashrc,添加内容如下:

export CUDA_HOME=/usr/local/cuda-9.2
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH

7.使配置生效:source ~/.bashrc


3.安装cuDNN

1.cuDNN下载地址,需要对应CUDA的版本,需要注册登录。以ubuntu16.04和cuda8.0为例,下载对应的三个文件Runtime,developer and Code Samples。
在这里插入图片描述

sudo dpkg -i libcudnn7_7.1.4.18-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.1.4.18-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.1.4.18-1+cuda8.0_amd64.deb

2.验证是否成功:

sudo cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
sudo make clean
sudo make
sudo ./mnistCUDNN

在这里插入图片描述


  • 但是,跑程序的时候出现错误:
Please install CuDNN from https://developer.nvidia.com/cuDNN
Then make sure files named as libcudnn.so.5 or libcudnn.5.dylib are placed in your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH)
  • 再重新安装CuDNN:
tar -xzvf  cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/
  • 打开bashrc文件vim ~/.bashrc添加:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBARARY_PATH
  • 更新环境变量 source ~/.bashrc

  • 再跑一次试一下,,折腾死了!


您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值