『Linux笔记』Ubuntu16.04&18.04系统安装nvidia驱动,cuda,cudnn以及安装gcc!

Ubuntu16.04&18.04系统安装nvidia驱动,cuda,cudnn!

一、预备工作

  • 查看系统的型号,可以看到系统为ubuntu16.04,64位的操作系统。
  • 列出系统的所有显卡型号,通过使用lspci命令。
1.1. 查看检测到的驱动程序&卸载驱动

在这里插入图片描述
Ubuntu更新nvidia显卡驱动:https://blog.csdn.net/m0_38068876/article/details/127851813

显卡、显卡驱动版本、cuda版本和Pytorch相互之间的依赖关系:https://blog.csdn.net/qq_41888086/article/details/120496474

二、首先cuda的安装

我们这里不需要人为的安装一个显卡的驱动,因为cuda里面会自带一个比较新的显卡驱动,它可能并不是最新的显卡驱动,但是总的说来他还是可以使用的。

  • 找到cuda10.0
  • 根据自己的系统选择合适的版本,我的选择如下,下载即可。
  • 下载好之后。这里我是在windows中下载上传到服务器上面。
  • 然后打开命令行,进入当前下载的文件目录下面,然后输入刚才的第一个命令。
  • 现在第一条命令已经执行完成了,执行完之后有一个提示,我标记出来了。这个提示实际就是第二条命令。原来第二条命令中version是空着让自己填写的。所以如果你不知道version是多少,可以直接复制这个提示命令在下面执行。
  • 现在只需要sudo apt-get update来更新一下源的列表,下面我们就可以安装cuda了。
  • 执行结束之后。会显示上图中的。最后执行第四条命令,sudo apt-get install cuda。现在才是我们安装的主要的命令。安装完成之后显示如下:

我们安装完cuda之后,在linux环境下面,电脑是需要重新启动的,如果这里不重启的话,直接nvidia-可以看到已经有smi这个命令了。但是nvidia-smi这个命令是不能和显卡进行交互的。所以出现这个问题不需要在下载一个nvidia了,这个时候只需要重启一下系统。

三、其次cuda编译器nvcc安装

  • 首先百度搜素cudnn,可能弹出一个让你注册登陆的界面,自己注册登陆就可以啦。
  • 下载好之后,此时后缀名自为:.solitairetheme8。我们更改后缀名字卫.tgz。命令如下:
  • 然后解压到当前目录下面。
  • 大家在安装完cuda之后,通过nvidia-smi查看一下。
  • 在我们验证完驱动安装好之后,我们来看一下cuda本身也就是nvcc编译器有没有安装好,可以发现这个命令提示nvcc是没有安装的,下面的提示:
   sudo apt install nvidia-cuda-toolkit
  • 但是大家千万不要按照这个提示进行安装,如果你安装这条命令的话,你的cuda的版本是ubuntu自己维护的一个比较小的一个版本,像8点几啊,9点几啊,这样的一个小版本。这里并不是nvcc和cuda没有安装好,而是在我们10.0的一个cuda中间它可能更新了一下法则,他在一个16.04的ubuntu和cuda中间,它没有把nvcc这个命令更新到我们的PATH中间去,也就是说我们在终端里敲击任何一条命令,它其实对应着一个位置的程序,那这个未知去哪里检索呢?通过环境变量PATH,和我们windows是一样的,我们只需要把相应的路径添加到PATH中间去,它就可以被搜索到。
  • 首先我们找一下nvcc命令所在的位置,可以发现cuda-10.0已经存在了。
  • 我们进入到cuda-10.0/bin的目录下面去,ls一下可以看到nvcc这个命令已经存在。
  • 我们可以./nvcc执行这个nvcc命令。我们需要把这个路径添加到PATH环境变量中间去。
  • 可以进入到 vim ~/.bashrc这个文件下,这个文件就是保存当前用户下的PATH,我们把PATHt添加一下,然后拼接到$PATH (表示把以前的PAHT环境变量引进来,这样它会在PATH前面添加这样一个路径,保证不影响之前的PATH内容,又把我们新的程序路径添加到PATH中间去) 把添加nvcc所在的路径,具体如下,然后保存退出编辑。但是保存之后还没有刷新,我们使用source命令刷新一下,source ./.bashrc刷新一下。
  • 现在再输入nvcc就可以搜索到了,为什么能够搜索到呢?我们看一下PATH,已经存在刚才的路径了。
  • 到现在为止我们的一个显卡驱动已经安装好了,而且我们的cuda以及cuda的编译器nvcc也已经安装好了,

四、安装cudnn

NVIDIA Docs Hub NVIDIA cuDNN NVIDIA cuDNN Installation Guide:https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

  • 在第三部分中的cudnn解压完之后,我们来一下这个文件。
  • 现在我们只需要把这个库的路径指定出来就可以了。也就是把这个库告诉我们的环境。怎么告诉它呢?我们只需要设定一个环境变量。我们之前设置的是PATH环境变量,现在设置一个新的环境变量为$LD_LIBRARY_PATH,现在这个环境变量为空,现在只需要把我们的环境变告诉cudnn。和刚才方法一样的。如下图:里面是个库的路径。
  • 同样,保存之后还没有刷新,我们使用source命令刷新一下,source ./.bashrc刷新一下。
  • 到这里为止,cudnn也已经安装好了。

五、cuda出错: libcudart.so.10.0: cannot open shared object file

  • 问题描述: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory
  • 解决办法:首先确认/etc/profile中的路径包含了cuda10.0的安装路径及相应的库文件
export PATH=$PATH:/usr/local/cuda-10.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-10.0/lib64
  • 使配置文件生效,再次执行。
source /etc/profile
  • 推荐这个方式配置:直接把cudnn里面的文件替换到cuda里面里。
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

六、安装Anaconda,Tensorflow和Pytorch

七、opencv安装

7.1、安装过程
  • 首先进到opencv的官网(这里我安装的是4.1.0的版本)
  • 官网详细步骤:https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
  • 然后
  • 再然后
  • Go to our downloads page.选择合适的版本
  • 下载好解压之后,进入opencv文件夹;创建build文件夹。
  • 安装依赖关系,看刚才的网址;
  • 执行结束之后:显示如下就是安装成功!
  • 接下来make一下,这个时间比较久;
直接make或者make -j16       #并行运行7个作业
  • opencv安装视频参考: https://www.bilibili.com/video/av50744957?from=search&seid=3831921273561326166
  • 安装错误:https://blog.csdn.net/ZT0518/article/details/83445308; https://www.cnblogs.com/liutianchen/p/6089878.html
7.2、测试例子
  • 首先下载一张图片,这里的我的图片是one.png
  • Create a program using OpenCV:DisplayImage.cpp
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out ./one.png\n");
        return -1;
    }
    Mat image;
    image = imread( argv[1], 1 );
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}

  • Create a CMake file:CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
  • Generate the executable
cd <DisplayImage_directory>
cmake .
make
  • Result
    By now you should have an executable (called DisplayImage in this case). You just have to run it giving an image location as an argument, i.e.:
./DisplayImage lena.jpg
  • 好文章推荐:https://www.pyimagesearch.com/2018/08/15/how-to-install-opencv-4-on-ubuntu/

八、Ubuntu降级gcc为4.8版本

8.1. 下载gcc/g++ 4.8
$ sudo apt-get install -y gcc-4.8
$ sudo apt-get install -y g++-4.8
8.2. 链接gcc/g++实现降级
$ cd /usr/bin
$ sudo rm gcc
$ sudo ln -s gcc-4.8 gcc
$ sudo rm g++
$ sudo ln -s g++-4.8 g++

补充

在这里插入图片描述

  • 卸载安装过的驱动,执行命令:
sudo /usr/bin/nvidia-uninstall
sudo apt-get remove --purge nvidia*
  • 关闭图形化界面
wang@zhangkf:~$ sudo service lightdm stop
[sudo] password for zhang:
strong@foreverstrong:~$
  • 卸载驱动
sudo /usr/bin/nvidia-uninstall
  • 查看电脑支持的驱动版本:
sudo apt-cache search nvidia*
  • 查看 Ubuntu 推荐的驱动版本:ubuntu-drivers devices
== /sys/devices/pci0000:16/0000:16:00.0/0000:17:00.0/0000:18:10.0/0000:19:00.0 ==
manual_install: True
modalias : pci:v000010DEd00001E07sv000010DEsd000012A4bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-418 - third-party free
driver   : nvidia-430 - third-party free recommended
driver   : nvidia-410 - third-party free
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-415 - third-party free
  • BIOS 中务必关闭 Secure Boot。不然会出现 Unable to load the ‘nvidia-drm’ kernel module. 的报错。

参考文章:

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Ubuntu 16.04和18.04的区别主要在以下几个方面: 1. 内核版本:Ubuntu 16.04使用的是4.4内核,而Ubuntu 18.04使用的是4.15内核,后者支持更多的硬件设备。 2. 桌面环境:Ubuntu 16.04默认使用Unity桌面环境,而Ubuntu 18.04则改为使用GNOME桌面环境。 3. 应用程序:Ubuntu 18.04中包含了一些新的应用程序,如GNOME Photos、GNOME Calendar等,同时也更新了一些旧的应用程序,如Nautilus文件管理器。 4. 系统更新:Ubuntu 18.04的更新机制更加智能,可以自动检测并安装重要的安全更新,同时也提供了更加友好的更新管理界面。 5. 支持周期:Ubuntu 16.04的支持周期为5年,而Ubuntu 18.04的支持周期为10年,后者更加适合企业用户。 ### 回答2: Ubuntu 16.04和18.04是两个版本的Ubuntu操作系统,它们之间存在一些区别。以下是它们之间的一些区别: 1. 内核版本:Ubuntu 16.04的默认内核版本是4.4,而Ubuntu 18.04的默认内核版本为4.15。新版内核支持更多硬件,更好的性能和安全性。 2. 桌面环境:Ubuntu 16.04使用Unity桌面环境,而Ubuntu 18.04使用GNOME桌面环境。GNOME桌面环境比Unity更加简单,快捷和易用。 3. 应用程序:Ubuntu 18.04引入了一些新的应用程序,例如GNOME的文件管理器Nautilus,LibreOffice 6.0等,并且已经删除了一些旧的应用程序,如旧版计算器等。 4. Wayland:Ubuntu 18.04默认使用Wayland显示服务器,而不是传统的X.Org显示服务器。Wayland比X.Org显示服务器更加现代化,支持高分辨率和触摸屏等。 5. 系统设置:Ubuntu 18.04加入了一个新的系统设置应用程序,用于管理各种系统设置,例如网络设置,电源管理等。 6. Langpacks:Ubuntu 18.04为多语言支持添加了更多的langpacks,这使得用户更容易使用Ubuntu使用他们所熟悉的语言。 综上所述,Ubuntu 18.04相对于Ubuntu 16.04有一些显著的改进,如更好的性能和安全性,新的桌面环境和应用程序,更现代的显示服务器等。这使得Ubuntu 18.04可能更适合那些希望享受现代化体验和更好使用体验的用户。 ### 回答3: Ubuntu 是一款基于 Debian GNU/LinuxLinux 操作系统,适用于服务器和个人电脑。Ubuntu 16.04 和 18.04 都是 LTS 版本,分别在 2016 年 4 月和 2018 年 4 月发布。从用户体验、性能、更新、软件管理等方面来看,它们有以下区别: 1. 用户界面 Ubuntu 16.04 默认使用 Unity 桌面环境,而 Ubuntu 18.04 则默认使用 GNOME Shell。GNOME 显示名称和面板位置有所改变,从屏幕顶部移到了左侧。从整体视觉效果来看,Ubuntu 18.04 更加现代化和简约。 2. 性能提升 与 Ubuntu 16.04 相比,Ubuntu 18.04 的性能得到了显著提升。 Ubuntu 18.04 改进了内存管理、CPU 调度、文件系统和显卡驱动等方面,提高了系统响应速度和流畅度。 3. 优化更新 Ubuntu 18.04 引入了 Livepatch,可实现无需重启系统就能更新内核补丁和安全补丁。此外,Ubuntu 18.04 取消了菜单栏中的搜索功能,避免在更新时出现问题。 4. 软件变动 Ubuntu 18.04 中的软件包含了最新的 GNOME 应用程序,如 Files、Calculator、Weather 等。同时,Ubuntu 18.04 移除了一些旧的包,如图像查看器和 GIMP 2.8 等,并推荐使用更好的替代品。 5. 硬件支持 Ubuntu 18.04 对最新的硬件设备提供了更加全面和完美的支持。新版本针对 SSD 和 NVMe 设备提供了更好的支持,同时增强了更多设备的视频和音频功能。 总之,从对于新硬件的完善支持、更好的功能优化、更简捷的用户界面和更新优化等方面来看,Ubuntu 18.04 相比 Ubuntu 16.04 的发展和进步值得用户信赖和选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI新视界

感谢您的打赏,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值