本文为通用教程,以Ubuntu20.04.01+CUDA11.6.1+NVIDIA510.54为例。

一.Cuda下载

1.Cuda11.6.1下载链接        cuda_11.6.1_510.47.03_linux.runicon-default.png?t=N7T8https://developer.nvidia.com/cuda-11-6-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

注:Ubuntu下也可以采用wget下载,终端输入以下指令,等待下载完成即可

wget https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run

2.其它版本下载地址

https://developer.nvidia.com/cuda-toolkit-archive

二.NVIDIA驱动

1.进入NVIDIA官网,查询对应驱动清单(本文以Geforce RTX 3080为例),选择合适的版本

官方高级驱动搜索 | NVIDIA适用于 GeForce、TITAN、NVIDIA RTX、数据中心、GRID 等 NVIDIA 产品的高级驱动搜索。icon-default.png?t=N7T8https://www.nvidia.cn/Download/Find.aspx?lang=cn

            本环境选择的是510.54版本,如下图中矩形框所示:

510.54版本下载链接:

https://cn.download.nvidia.cn/XFree86/Linux-x86_64/510.54/NVIDIA-Linux-x86_64-510.54.run

2.点击查看该版本支持的显卡型号

注意:CUDA和NVIDIA驱动有版本对应关系,如下节所示,若安装其它版本需注意

3.显卡驱动与CUDA版本对应关系

显卡驱动与Cuda版本对应关系icon-default.png?t=N7T8https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

4.CUDAUbuntu 、GCC版本对应关系(for linux)
NVIDIA CUDA Archived Documentation 总的集合icon-default.png?t=N7T8https://docs.nvidia.com/cuda/archive/

三.安装 

             1.准备

下载上述版本NVIDIA驱动和CUDA,先安装make和g++,如果系统安装过NVIDIA驱动,需先卸载

卸载指令:sudo apt-get remove nvidia-*

2.禁用nouveau 

# 1.创建/etc/modprobe.d/blacklist-nouveau.conf文件,添加以下内容以阻止nouveau模块加载

        sudo vim /etc/modprobe.d/blacklist-nouveau.conf

# 2.添加

        blacklist nouveau

        options nouveau modeset=0

# 3.更新内核文件

        sudo update-initramfs -u

# 4.重启计算机,查找nouveau模块,是否还存在

        lsmod | grep nouveau

3.禁用图形界面服务

        sudo /etc/init.d/lightdm stop 或 sudo service lightdm stop

如提示lightdm不存在或者未安装,先暂时跳过该步骤

4.赋予权限并安装CUDA

#cd到CUDA安装文件目录下

        sudo chmod a+x cuda_11.6.1_510.47.03_linux.run

        sudo sh ./cuda_11.6.1_510.47.03_linux.run

注意:安装过程中会提示是否安装自带的510.47.03驱动是,选择no,其它都是yes

## 1.接受许可,输入accept

## 2.不安装cuda自带的驱动,将Driver前面的X去掉

## 3.选择 Install 回车,等待安装完成

## 4.安装完成如下

5.安装显卡驱动

# 1.进入多用户-命令行模式

        init 3 或者Ctrl +Alt +F2(F1~F6都可以)

#cd到驱动安装文件目录下

        sudo sh ./NVIDIA-Linux-x86_64-510.54.run --no-x-check -no-nouveau-check -no-opengl-files

注意:不安装opengl是因为可能会影响桌面,过程中提示是否升级X config配置文件,如果独显做输出就选yes,否则就默认no,其它都默认 

# 2.切回图行桌面

        init 5 或者Ctrl +Alt +F7

# 3.验证驱动

        nvdia-smi 或者watck nvidia-smi    

        扩展:watch -n 1 nvidia-smi  表示每隔0.5秒刷新一次GPU使用情况

                   nvidia-smi -l 1 同上,建议使用该命令,不太影响cuda使用

6.配置环境变量

        sudo vim /etc/profile

# 1.在末尾添加以下内容

        export PATH=$PATH:/usr/local/cuda-11.6/bin

        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64

# 2.使环境变量立即生效

        source /etc/profile

# 3.验证环境变量是否生效

        nvcc -V

# 4.若正常输出cuda版本信息则表示成功

7.验证cuda和驱动

貌似新的cuda包不再安装例子程序了,即使选择了安装

# 1.cd 到实例目录

        cd /usr/local/cuda-11.6/samples/1_Utilities/deviceQuery

        make

        ./deviceQuery

8.禁用系统自动更新、内核更新(务必)

系统更新可能会升级内核,有时候会造成显卡驱动失效或者进系统黑屏等问题,带来不必要的折腾。

# 1.禁用系统更新:打开“Software & Updates ->Updates”,修改如下:

# 2.禁用内核更新:

        ##1.查看系统当前所用内核:

        uname -a

        ## 2.用以下指令查看跟系统所用版本内核相关的文件(带linux-image、linux-headers的)

        dpkg --get-selections | grep linux-image

        dpkg --get-selections | grep linxu-headers

        dpkg --list | grep linux-image

        dpkg --list | grep linux-headers

        ls /boot/

        ## 3.禁用内核更新:

        带linux-image、linux-headers的对应版本的都执行sudo apt-mark hold,有比所用版本的新的要删除掉。

        sudo apt-mark hold linux-headers-5.4.0-42

        sudo apt-mark hold linux-headers-5.4.0-42-generic

        sudo apt-mark hold linux-image-5.4.0-42-generic

        ## 4.进系统黑屏(有时候只有一个光标在左上角闪)、nvidia-smi提示如下信息等问题

        最简单的办法就是重启系统,进入grub引导界面,选择“Advanced option for Ubuntu/Ubuntu高级选项”,回车,之后选择旧的内核版本(优先选择带恢复模式的)进入系统

正常情况上述操作都能恢复正常,nvidia-smi 提示“NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver......”,也可以通过如下操作解决:

        ## 1.安装dkms

        sudo apt-get install dkms

                    ## 2.查看本机连接不上的驱动版本(若能记得版本可跳过此步)

        ls -l /usr/src/

        ## 3.重新生成对应版本的驱动模块

        sudo dkms install -m nvidia -v 510.54

9.卸载

        ## 1.Nvidia卸载:通过ppa源安装的

        sudo apt-get remove --purge nvidia*        

        ## 2.Nvidia卸载:通过runfile安装的

        sudo ./NVIDIA-Linux-x86_64-510.54.run --uninstall

        新版的也可以通过:sudo /usr/bin/nvidia-uninstall

        ## 3.Cuda卸载,cd到Cuda 安装目录bin目录下,执行:

        sudo ./cuda-uninstaller

  

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐