ubuntu安装nvidia驱动以及cuda和cudnn

nvidia官方建议

  • 使用.run文件安装驱动
  • 不要使用PPA安装,即不通过add-gpt或software&updates安装,因为不容易卸载干净
  • 卸载之前的nvidia驱动sudo nvidia-uninstall
  • 如果使用PPA安装过驱动的话,使用如下指令卸载,否则不用
sudo apt-get remove --purge nvidia-*
sudo apt autoremove
sudo apt autoclean
  • 安装过程中如果内核编译不通过则需要升级内核
  • 安装过程中提示缺失32bit库的错误,不用理会

安装驱动流程

  • 1.禁用ubuntu自带的nouveau驱动

把nouveau加入黑名单,nouveau是第三方开发的NVIDIA显卡驱动,linux系统自带,目的是适配大多数显卡,但是一旦需要用高级功能,比如训练模型,就必须要装cuda,这与nouveau冲突,据说会出现黑屏、无限循环登录等问题,所以要根据下述命令首先禁用

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

# 在文件blacklist-nouveau.conf中加入如下内容

  blacklist vga16fb
  blacklist nouveau
  blacklist rivafb
  blacklist rivatv
  blacklist nvdiafb
  
  # 刷新一下
 sudo update-initramfs -u
 # 重启系统执行下面的指令,如果没有输出则表示禁用完成
 lsmod | grep nouveau
  • 2.关闭图形界面
 # 关闭图形界面 按Ctrl+Alt+F2~F6(F2到F6按哪个都行,一般是F6,都试试,总之进入无图形界面)
 # 如果没有安装lightdm的话可以跳过下面步骤
 sudo service lightdm stop  
 # 提示unit lightdm.service not loaded,先执行下面的安装然后再stop
 # 这里很奇怪,没有还要安装,安装后提示选择gm3(记不清了)或lightdm(我选的lightdm)
 # 2022/7月19测试没有安装lightdm的话可以不执行
 sudo apt-get install lightdm 
  • 3.安装驱动
 # 安装驱动
 # 给驱动文件赋予执行权限
 # 注意安装驱动需要gcc,安装build-essentia包含了gcc
 sudo apt install build-essential
 sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run
 sudo ./NVIDIA-Linux-x86_64-375.20.run
  • 4.开启图形界面
 # 安装完成后启动图形界面,没有安装lightdm的话则跳过
 sudo service lightdm start
 # 按Ctrl+Alt+F1 回到图形界面(有人说按F7,不确定就挨个试试)
 # 最后执行nvidia-smi测试
 nvidia-smi

安装cuda

CUDA尽量不要安装太新的版本,比如现在最新的应该是11.7,我们选择安装的是11.3,因为最新版有些程序支持的也不太好,同时也要根据pytorch官网支持的cuda版本,现在支持10.2,11.3和11.6
CUDA下载地址:https://developer.nvidia.cn/cuda-toolkit-archive

点击下图中的红框可以进入历史版本下载界面,下载runfile文件,据说deb文件容易安装出错

安装cudnn

cudnn根据cuda的版本选择,如下图所示,其中的CUDA 11.x表示11系列的CUDA都可以安装此cudnn
cudnn网址:https://developer.nvidia.com/rdp/cudnn-archive

下载完成后将cudnn复制到cuda文件中,按下面的指令做:

xz -d ***.tar.xz  # 解压tar.xz为tar文件
tar -xv ***.tar  #解压tar文件
sudo cp include/*.h /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib64/

配置cuda路径

# 下面两个是增加的cuda环境
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
# PATH 表示执行文件目录,比如nvcc指令
# LD_LIBRARY_PATH 表示lib库目录
# /usr/local/cuda/bin是路径,:$PATH和:$LD_LIBRARY_PATH是固定写法
# 保存并推出文本编辑然后刷新一下
source ~/.bashrc

禁止ubuntu自己更新

1.命令行禁止

# 用下面的指令打开配置文件,将其中的双引号中的1都改成0
sudo vim /etc/apt/apt.conf.d/10periodic
# 用下面的指令打开配置文件,将其中的双引号中的1都改成0
sudo vim /etc/apt/apt.conf.d/20auto-upgrades
# 下面是用指令关闭内核更新
sudo apt-mark hold linux-image-generic linux-headers-generic 

2.桌面设置禁止
settings -> About -> Software & Updates -> Updates
image.png

安装SSH

# 为了远程SSH登录安装openssh-server
sudo apt update
sudo apt install openssh-server
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值