Ubuntu下nvidia driver和cuda版本管理

经验积累 同时被 2 个专栏收录
2 篇文章 0 订阅
4 篇文章 0 订阅

动机

记录下在Ubuntu 18.04nvidia driver 455.45cuda 10.1的安装过程。备后续重复安装时直接使用。

版本对应关系

cuda与nvidia driverhttps://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

表格内容可能过时,可以点击链接查看最新更新。

cuda与pytorch

在这里插入图片描述
Pytorch首页也直接给出了一些可用的组合和对应的安装命令。

以下以在Ubuntu 18.04下,安装nvidia driver 455.45与cuda 10.1 为例,记录安装过程。

安装/更新英伟达驱动(nvidia driver)

卸载原驱动(如若需要)

sudo apt-get purge "nvidia*"

下载正确版本的驱动

查看显卡型号

lspci | grep -i nvidia

部分老版本Ubuntu(如14.04)输出为一十六进制数,可以在The PCI ID RepositorySee also一栏下输入框查询该代码对应的显卡型号,如下:

下载相应的驱动版本

英伟达驱动下载页手动搜索并下载所需的驱动版本。
在这里插入图片描述

安装新驱动

预备

首先,禁用系统自带的nouveau驱动

#创建配置文件
sudo vim /etc/modprobe.d/blacklist-nouveau.conf 
 
# 在打开的配置文件里添加如下内容
blacklist nouveau
options nouveau modeset=0
 
# 更新
sudo update-initramfs -u

Tips:打开vim后按inset开始编辑,编辑结束后vim的退出操作为:先按esc,然后再输入:wq

重启,在终端输入如下,如果输出为空,则禁用成功

lsmod | grep nouveau

接下来的操作,如果当前是在本机图形化界面进行的,则需首先Ctrl+alt+F1进入字符界面(操作完成后Ctrl+alt+F7返回图形化界面),如果是远程服务器方式连接,则直接执行下面的操作即可。

然后关闭图形化界面

sudo service lightdm stop

如果提示unit lightdm.service not loaded,则先安装LightDm:sudo apt install lightdm,安装完毕后跳出一个界面,选择lightdm,再执行上述命令。

开始安装

进入刚才下载的驱动所在的目录,执行以下命令进行安装

sudo sh NVIDIA-Linux-x86_64-<your-driver-version>.run

按照默认设置,一路回车,不出意外便可顺利结束安装。

测试

nvidia-smi

输出

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.45.01    Driver Version: 455.45.01    CUDA Version: 11.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX TIT...  Off  | 00000000:01:00.0  On |                  N/A |
| 22%   58C    P8    21W / 250W |     90MiB / 12211MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

别忘了打开图形化界面

sudo service lightdm start

屏幕亮起,完结撒花!

实际安装过程遇到过的一些问题

Failed CC version check. Bailing out!

Compiler version check failed:
The major and minor number of the compiler used to
compile the kernel:
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4) 
does not match the compiler used here:
cc (Ubuntu 4.9.4-2ubuntu1~14.04.1) 4.9.4

将本机的gcc默认版本切换为当前编译所需版本即可(此处为将4.9.4切换为4.8.4)。具体方法见ubuntu下多个gcc版本切换

  • 查看当前使用的gcc版本:gcc -v
  • 查看本机已安装哪些gcc版本:ls /usr/bin/gcc*
  • 安装新的gcc版本(以4.5为例):
    • sudo apt-get install gcc-4.5 gcc-4.5-multilib g++-4.5 g++-4.5-multilib
    • sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 45 --slave /usr/bin/g++ g++ /usr/bin/g++-4.5
    • 其中--slave后面g++,代表当切换gcc版本时,g++版本也随之切换。
  • 切换gcc版本:sudo update-alternatives --config gcc
    • 根据输出,输入希望切换至的gcc版本对应的编号,即可完成切换。

对ubuntu系统自动更新的尝试

这种方法很是简便,但在我的电脑上尝试时,虽然可以获取相应更新,但是重启后驱动无法连接,也无法正常加载桌面。但也记录一下,没有行通可能只是我电脑本身的原因。

首先,更新系统软件源信息

sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update

然后来到设置-软件和更新-附加驱动,选择希望更新至的驱动版本,点击应用更改,完成后重启。

安装/切换cuda版本

参考链接

下载并安装cuda

CUDA Toolkit Archive找到所需的cuda版本,选择runfile类型文件下载。

进入刚才下载文件所在的目录,执行以下命令进行安装

sudo ./cuda_<your_version>_linux.run  

希望一切顺利!

  • 当然现实可能不是那么顺利…,如果报错no cc,那么试试先sudo apt install build-essential
  • 安装过程中记得会询问是否用覆盖现有cuda版本,建议选否,便于后续软链接操作。

cuda环境设置

~/.bashrc末尾添加

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

上面的路径都是指向/usr/local/cuda的软连接,而不是指向某一个具体的cuda版本,这样方便于后面进行cuda版本的切换。

执行以下命令使改动立即生效

source ~/.bashrc

叮叮,安装完成。但如果要切换新安装的版本,需要下面的步骤切换一下(假设安装过中没有选择覆盖已有cuda版本)。

切换cuda版本

查看当前使用的cuda版本:nvcc -V

当电脑里安装了多个cuda版本,而想从一个版本切换到另外一个版本时,可以将软链接重指向至新版本:

cd /usr/local/ # 切到cuda所在目录下
sudo rm -rf ./cuda  # 删去原先使用的cuda版本的软链接
sudo ln -s cuda-10.1 cuda  # 创建一个新的软链接到希望切换到的cuda版本

再使用nvcc -V看看cuda使用版本是否已经发生改变叭。

使用过程中出现过的问题及解决方案

  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值