Linux-驱动 & CUDA配置

attention: Need ROOT

一、Linux-Driver配置

第一步:检查驱动情况

nvidia-smi

一般没出现下图就是没有驱动,或者说不是我们需要的“驱动”
image.png|500

第二步:查GPU信息&下载对应驱动

1. 查GPU信息,命令:

lspci | grep -i vga

我这里显示如下:
image.png

2. 上官网查驱动&下载

官网: https://www.nvidia.cn/Download/index.aspx?lang=cn
默认显示(感觉默认会是你的PC电脑的配置):
image.png|550

根据第一步的查询信息,选就可以了,我这里是GeForce 1080 Ti,然后点击【搜索】
image.png|550

就会更新界面,并出现【下载】,点击就会下载到你的本地PC端
image.png|550

第三步:安装驱动 & 可能出现的问题(X服务器)

3.1 把刚刚下载的安装包 (.run结尾)上传到Linux服务器。就是这个:

image.png|263

3.2 切换对应的上传文件夹目录下

我的上传位置是/home/user_name/download/NVIDIA-Linux-x86_64-535.146.02.run
所以我要到的位置是/home/user_name/download/
如图:利用cd download/ 命令进入
image.png

3.3 安装 & X服务器问题解决方案

A. 如果if 直接运行安装命令如下:

sh NVIDIA-Linux-you-version-package.run
sh 你的安装包名字

e.g., 
sh NVIDIA-Linux-x86_64-535.146.02.run

会报错,报错内容
ERROR: You appear to be running an X server; please exit X before installing. For further details, please see the section INSTALLING THE NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com.
解释: 大多数Linux系统为了方便,会安装UI界面或者叫图形界面,就是你可以看见的,用鼠标和键盘可以互动的界面,而这些界面需要有X服务器进行管理/运行。而 当你在Linux系统上安装NVIDIA驱动时,出现这个错误是因为检测到X服务器正在运行。在安装NVIDIA驱动之前,建议退出X服务器。
(总得来说,交互界面由驱动支持进行,驱动安装需要停止交互界面,才可以进行安装)

解决停用X服务器(需要ROOT权限),安装完成后重启启用
根据你的服务器安装的系统不同,而有不同命令,建议查一下,这里展示了systemd系统的(如Ubuntu 16.04及更高版本,一些Centos版本)
命令:

sudo systemctl stop gdm    # for GDM
sudo systemctl stop lightdm # for LightDM

Centos 显示管理器服务是gdm(Gnome Display Manager)或lightdm(LightDM)
我这里系统使用的是前者,GDM。

B. Then, 运行安装驱动命令

sh 你的安装包名字

安装会出现一堆乱七八糟的问题,参考这位大佬,感谢!
详细安装问题参考这位大佬:

当你看见successful的时候就成功了!
验证命令如下:

nvidia-smi

只要出现了你的GPU信息,就是第一张图像所展示的,就成功了
image.png|500

C. Last, 恢复运行X服务器(option)
如果你前面停用了,这里就重新启动一下就好

sudo systemctl start gdm    # for GDM
sudo systemctl start lightdm # for LightDM

二、 Linux-CUDA配置

第一步:确认CUDA需求

需求描述:一般安装CUDA都是为了深度学习框架的环境等等,所以这一步就最好根据你后续的需求确认以下 “东西” 的版本对应问题:

  • GPU驱动
  • CUDA
  • torch (including torchvision, torchaudio)
    (版本匹配能避免后面你跑代码的很多问题,现在一次性处理好环境,以后都不用管了)

驱动和CUDA的对应版本关系去官网看,全网最可信的来源
NVIDIA官网: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
CUDA和torch版本官网去看,最可信来源
Pytorch官网: https://pytorch.org/get-started/previous-versions/
参考文章:[[Linux-深度学习env配置+pycharm安装配置]]
我这里选择了torch=1.13.1,所以CUDA选择了11.6,大家选择合适的就好

第二步: 下载CUDA Toolkit

  1. CUDA官网: https://developer.nvidia.com/cuda-toolkit-archive
    进去选择你需要的版本(比如我这里选择了CUDA是11.6的,点进去就好)
    image.png
    找到你需要的系统版本,这里大家可能会问不知道系统是什么,那就查一下吧。给出了查询部分信息的命令:
    怎么知道具体的选择信息? (这篇文章的最后我给了查找方法,因为不是正文就没放这里了)参考本文最后
    image.png
    这里官网给出的下载命令和安装命令可以记住,后面会用

  2. 在Linux服务器输入下载命令:

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.runsudo 

我在download文件夹下面下载的:
image.png

第二步: 安装CUDA (需要ROOT权限)

  1. 上一步骤中的安装命令,直接在你下载好的CUDA位置执行就可以,具体后面有,执行前先添加执行权限
    添加权限命令:
chmod +x cuda_11.6.0_510.39.01_linux.run
chmod +x 你下载的包的名字

执行命令(安装需要ROOT权限!):

sh cuda_11.6.0_510.39.01_linux.run
sh 你下载的包的名字
  1. 同意协议
    输入accept就可以了
    image.png

  2. 安装选项选择
    键盘上的上下左右,就可以移动了,enter是确认或取消
    前面我们已经安装了驱动,这里就没有选择安装驱动
    选择install 直接enter 就可以运行安装
    image.png

  3. 恭喜安装成功
    出现下面的图,就是安装好了
    这里可以看到,我用的ROOT权限安装的,不是root会写不进去/usr/local/....文件夹,导致安装不成功
    image.png

第三步: 添加环境变量

  1. 打开~.bashrc文件(一般在你的usr用户的根目录下可以找到),添加两句话即可
    image.png|375
export PATH="/usr/local/cuda-11.6/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH"

解释:就是需要把路径改成你的CUDA版本

export PATH="/usr/local/cuda-你的版本好/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-你的版本号/lib64:$LD_LIBRARY_PATH"
  1. 执行命令:(我的理解是更新资源情况)
source ~/.bashrc

image.png

  1. 验证情况
    命令:
nvcc -V
注意:大写字母`V`

恭喜你,CUDA安装成功!
image.png|475

推荐阅读: [[Linux-深度学习env配置+pycharm安装配置]]

题外话(可能需要查版本的命令)

1. 查询Linux版本:

cat /proc/version

显示结果:
image.png

2. 查看CentOS版本:

cat /eat/redhat-release

CentOS Linux release 7.9.2009 (Core)
这里的版本是7,

3. !!!可能出现问题:根本找不到路径
image.png

那就手动进入eat文件夹,这文件与home文件夹同级,cd到该路径就可以。
文件夹位置:
image.png|212
手动进入eat文件夹之后,再用命令,你就可以看到centos版本了

cat redhat-release

感谢NVIDIA官网!