ubuntu tensorflow/pytorch显卡驱动安装以及(多个)cuda和cudnn的配置流程

目录

一、nouveau开源驱动禁用

1.检查是否已经将其禁用

2.禁用nouveau显卡驱动(该步骤仅针对步骤一中有输出的情况)

二、NVIDIA显卡驱动安装

1、查看当前系统内核(重要)

2、安装驱动

3、问题(未出现问题的忽略此步):更换介质:请把标有…… DVD 的盘片插入驱动器“/media/cdrom/”再按回车键

4、问题(未出现问题的忽略此步):重启电脑后,无法进入桌面,黑屏,左上角有光标在闪

三、cuda10.0(10.1)和cudnn7.6.5安装

1.下载cuda10.0、cuda10.1和它们对应的cudnn7.6.5

2.查看gcc编译器,cuda10.0、cuda10.1在高版本编译器(gcc-9以上)下无法安装,因此需要查看已安装的gcc版本,并根据需要安装gcc-7.

3.安装cuda10.0和cudnn7.6.5(系统中没有cuda)

4.安装cuda10.1和cudnn7.6.5(系统中有一个cuda)

5.切换cuda版本


一、nouveau开源驱动禁用

1.检查是否已经将其禁用

lsmod | grep nouveau

如果没有任何输出,则该驱动已经禁用;如果输出了nouveau的信息,则还未禁用。

2.禁用nouveau显卡驱动(该步骤仅针对步骤一中有输出的情况)

gedit /etc/modprobe.d/blacklist-nouveau.conf

        在打开的文件末尾加入以下内容:

blacklist nouveau
options nouveau modeset = 0

        保存并关闭gedit。退回到终端后,重新生成内核配置。

sudo update-initramfs -u

        生成成功后重启电脑。

        重启后,参照步骤一.1检查是否禁用成功,如果没有禁用成功,切不可进行以下步骤!禁用成功后方可进行以下步骤。

二、NVIDIA显卡驱动安装

1、查看当前系统内核(重要)

        查看当前系统内核,一定要记住当前系统内核的版本!

uname -a

        后续安装显卡驱动时,会自动安装高版本内核,容易造成显卡驱动与内核不匹配的情况,造成开机后无法进入桌面。目前还没有确切的内核与驱动的对应关系表,所以没办法,只能试。

2、安装驱动

        查看当前可安装的NVIDIA驱动

ubuntu-drivers devices

       此处,很多博主推荐安装带有recommend字样的驱动,但是经过尝试,安装该驱动很容易造成无法进入桌面的错误。所以这里,我们选择较为稳定的4xx(例如410、470等,我的显卡是RTX1050TI,安装510也成功了)版本的驱动。我的内核版本是 5.15.0-43-generic,大家酌情选择显卡驱动版本。如果没选对也没关系,后面还可以改,就是比较麻烦。

        选择好驱动后用以下命令安装(其中XXX为版本号)

sudo apt install nvidia-driver-XXX

        驱动安装成功后,重启电脑。

3、问题(未出现问题的忽略此步):更换介质:请把标有…… DVD 的盘片插入驱动器“/media/cdrom/”再按回车键

        如果在执行安装驱动的命令后,终端提示你

更换介质:请把标有…… DVD 的盘片插入驱动器“/media/cdrom/”再按回车键

        你会卡在这里无法继续,此时

sudo gedit /etc/apt/sources.list

        并注释掉deb cdrom开头的一行(一般在第一行)

#deb cdrom:……

        保存并关闭后更新源

sudo apt-get update

        完成后即可正常安装驱动。

4、问题(未出现问题的忽略此步):重启电脑后,无法进入桌面,黑屏,左上角有光标在闪

        出现此问题的原因是内核版本与驱动版本不匹配。为了正常进入系统

        (1)长按电源键关机

        (2)重新开始后选择ubuntu高级选项,并选择二.1中的内核版本进入系统

        (3)进入系统后查看显卡驱动是否工作

nvidia-smi

                如果输出的是一个显卡工作信息表格,那么显卡驱动正常工作;如果输出的是一句话,则显卡驱动没有正常工作。

        (4)如果显卡驱动正常工作,卸载跟随驱动一起安装的内核

#查看已安装的内核版本
dpkg --get-selections | grep linux

                保留二(1)中的内核,卸载新内核

                卸载后重启电脑即可。

        (5)如果显卡驱动没有正常工作,卸载现有驱动,安装其他驱动,重复二.2到二.4.(4)的过程,直到成功。

三、cuda10.0(10.1)和cudnn7.6.5安装

1.下载cuda10.0、cuda10.1和它们对应的cudnn7.6.5

        cuda下载

        cudnn下载

2.查看gcc编译器,cuda10.0、cuda10.1在高版本编译器(gcc-9以上)下无法安装,因此需要查看已安装的gcc版本,并根据需要安装gcc-7.

ls /usr/bin/gcc*

        如果gcc版本全部高于gcc-7,则安装gcc-7

sudo apt install gcc-7
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
没有可用的软件包 gcc-7,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 gcc-7 没有可安装候选

        安装时出错,没有可安装候选

vim /etc/apt/sources.list
#在sources.list中添加如下内容
deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe
#更新源
sudo apt-get update
#安装gcc-7和g++-7
sudo apt-get install -y gcc-7 g++-7

        多版本gcc、g++切换

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
#切换gcc版本
sudo update-alternatives --config gcc
#切换g++版本
sudo update-alternatives --config g++

        将gcc和g++版本全部切换为7,则可以开始安装cuda。

3.安装cuda10.0和cudnn7.6.5(系统中没有cuda)

sudo sh cuda_10.0.130_410.48_linux.run

        如果提示权限不够,则sudo chmod +x cuda文件 赋予权限。下面是一些选项。

-----------------
Do you accept the previously read EULA?
accept/decline/quit: accept   

You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: yes

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
 [ default is /usr/local/cuda-10.0 ]: 

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...

        查看cuda版本

cat /usr/local/cuda/version.txt

        安装cudnn

#解压文件
tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
#复制解压后的文件到cuda中
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

        查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

4.安装cuda10.1和cudnn7.6.5(系统中有一个cuda)

        安装的具体步骤与三.3相同,下面主要说一下如何切换cuda版本、       

┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 418.39                                                              │
│ + [X] CUDA Toolkit 10.1                                                      │
│   [ ] CUDA Samples 10.1                                                      │
│   [X] CUDA Demo Suite 10.1                                                   │
│   [X] CUDA Documentation 10.1                                                │
│   Install                                                                    │
│   Options                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
└──────────────────────────────────────────────────────────────────────────────┘

5.切换cuda版本

        查看当前版本cuda,由于我们在安装cuda10,1时选择创建了软连接,所以此时的版本是10.1.

cat /usr/local/cuda/version.txt

        我个人更新换通过修改软连接的方法来切换cuda版本,这样不需要更改.bashrc文件,不容易导致系统的错误。        

#删除原有软连接
sudo rm -rf cuda
#为想要的版本建立软连接
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

你可能感兴趣的:(pytorch,ubuntu,tensorflow)