真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)ubuntu18.04安装GPU+CUDA+cuDNN:目前,大多情况下,能搜到的基本上都ubuntu14.04.或者是ubuntu16.04的操作系统安装以及GPU环境搭建过程,博主就目前自身实验室环境进行分析,总结一下安装过程。1.实验室硬件配置(就需要而言):gpu:GeForcetitanxp12G显存内存:6…

大家好,又见面了,我是你们的朋友全栈君。

ubuntu 18.04 安装GPU +CUDA+cuDNN :

目前,大多情况下,能搜到的基本上都ubuntu 14.04.或者是ubuntu 16.04的操作系统安装以及GPU 环境搭建过程,博主就目前自身实验室环境进行分析,总结一下安装过程。

1.实验室硬件配置(就需要而言):

        gpu : GeForce titan xp   12G 显存

        内存: 64G

        硬盘 :512 SDD +2T 机械 

        主板: 微星 x299 SLI PLUS 

    就配置而言,唯一有遗憾的就是主板,微星主板安装ubuntu 各种报小毛病,打电话给微星客服,客服说,这块主板供应商只在window 10 环境下进行过测试,但是,LINUX 系统,不知道行不行得通,让我自己想办法解决,-_-|| 。 此处还是建议要采购设备的主板选择技嘉或者华硕的,注意看主板是否支持安装linux操作系统。

2 .ubuntu18.04 系统安装

首先,建议制作U盘启动盘(点击此处)进行安装,安装时需要设定主板 grub+legacy方式(重启进bios,boot项里面的),博主在安装系统时,尝试安装了各种版本的ubuntu系统,包括14.01、14.03、16.01、16.03、16.04,均未成功,所有的问题,都是,系统安装到一半,直接就报错,无法安装,在网上查找了许久,据说是显卡的问题导致的,有相关文档说,18.04版本可以避免这个问题。于是,尝试安装ubuntu18.04版本,OK ,按照大神推荐的双硬盘分配方案(点击此处)进行安装配置。安装成功。

大家在安装好系统后,要记得更新源。

3.安装GPU(针对ubuntu18.04)

进入系统后,系统默认是使用主板上的集成显卡,那么,我们需要做的事就是安装上自己的独立显卡,也就是titan xp的驱动,网上有3中安装方法,给大家推荐一下,可以收藏一下如何安装NVIDIA显卡(点击此处)。

此处给大家示范其中一个方法(自己的显卡对应自己的信息,以下只是示例):

具备条件:root权限进行操作

修改root密码:

1.  $ sudo passwd    输入两次新密码
2.  $ su root       登陆 root账户

显卡驱动安装:

step .1首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:

 

 
$ ubuntu-drivers devices

输出结果为:

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor   : NVIDIA Corporation
model    : GK104 [GeForce GTX 680]
driver   : nvidia-304 - distro non-free
driver   : nvidia-340 - distro non-free
driver   : nvidia-384 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

== cpu-microcode.py ==
driver   : intel-microcode - distro free

从中可以看到,这里有一个设备是GTX 680 ,对应的驱动是NVIDIA -304,340,384 ,而推荐是安装384版本的驱动。

step.2,安装驱动

你可以选择,安装所有推荐的驱动,如下命令

 

$ sudo ubuntu-drivers autoinstall

你也可以选择,只安装其中一个驱动,命令如下

 

$ sudo apt install nvidia-340

OK 驱动安装完成,重新启动,查看系统配置—》详细信息—》关于   ,图形处理是否对应于自己的独立显卡。
 

4.安装CUDA(针对18.04)

安装CUDA 这里需要注意;

咱们需要根据cuDNN 来选择,如图,首先,cuda只能支持17.04,16.04的ubuntu 下载安装,但,实际上,有点类似于word一样(高版本word能打开低版本的word文件 .)18.04版本的系统,能够安装16.04版本对应的CUDA。

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

目前cuda 最高版本为9.2,且只支持 16.04,17.04 这两个系统,而且,我们安装完CUDA 之后还需要安装cuDNN。

那么cuDNN 的版本又有什么选择呢,如下

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

首先,根据cuDNN 的版本,目前,较为完善的,是cuDNN v7.0.5 ,其适用于 CUDA 9.1 版本,所以,咱们在选择安装cuda的时候,选择 CUDA 9.1。下载地址

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

按下图进行选择

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

对应的有一下四个文件,需要统统下载,第一个是主文件,后3个相当于补丁。

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

开始安装:

step .1  GCC 降级

由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,

故手动进行降级:

 

sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8

装完后进入到/usr/bin目录下

  $ls -l gcc* 

会显示以下结果

lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.3

发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:

sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接

同理,对g++也做同样的修改:

ls -l g++*

lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.3

需要将g++链接改为g++-4.8:

sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++

再查看gcc和g++版本号:

gcc -v g++ -v

均显示gcc version 4.8 ,说明gcc 4.8安装成功。

step. 2 安装cuda ,及其补丁

输入命令安装Base Installer

sudo sh cuda_9.1.85_387.26_linux.run

需要注意的是,之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。

然后,继续执行以下操作安装3个 patch :

 

sudo sh cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.3_linux.run

安装完毕之后,将以下两条加入.bashrc文件中.

sudo vim ~/.bashrc

export PATH=/usr/local/cuda-9.1/bin${PATH:+:$PATH}}      #注意,根据自己的版本,修改cuda-9.2/9.0...
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0...

 

OK ,那么,到这一步,cuda 就安装完成了

 

 

 

5.安装cuDNN(针对18.04)

cuDNN 的安装,就是将 cuDNN 包内的文件,拷贝到cuda文件夹中即可。

step.1按照第四点分析的内容,我们需要下载的cuDNN 版本为

真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)

cuDNN v7.0.0 library for liunx,下载地址(需要注册才能进行下载)

下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.1-linux-x64-v7.tgz 压缩包

先解压,然后将其中的内容复制到CUDA安装文件夹里面.

step.2 复制cuDNN内容到cuda相关文件夹内

sudo cp cuda/include/cudnn.h    /usr/local/cuda/include      注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

到此处,所以的安装就完成。

 

接下来就可以安装相应的软件,如:anaconda,pycharm tensorflow 等。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136539.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月4日 下午6:00
下一篇 2022年5月4日 下午6:00


相关推荐

  • C++ inline函数

    C++ inline函数1 C 引用 inline 原因在我们的系统中可能经常会有一些场景 for 循环调用一个工具处理函数或则是递归调用一些算法 我们知道调用一个任意函数都会为这个函数创建栈空间 如果频繁的调用小函数会消耗大量的栈空间 对内存造成很大的压力 甚至会导致内存枯竭 C 为了解决这个问题也就创造了内联函数 也就是 inline 下面我们看一个使用内联函数的例子 include lt stdio h gt

    2026年3月17日
    2
  • 顶级域名 一级域名 二级域名 三级域名划分「建议收藏」

    顶级域名 一级域名 二级域名 三级域名划分「建议收藏」域是分层管理的,就像中国的行政级别。最高层的域是根域(root)".",就是一个点,它就像国家主席一样。全球只有13个根域服务器,基本上都在美国,中国一台根域服务器都没有。根域的下一层就是第二层次的顶级域(TLD)了,那么它就是各省省长了。顶级域一般两种划分方法:按国家划分和按组织性质划分。◇按国家划分:.cn(中国)、.tw(台湾)、.hk(香港)。基本都是两个字母的。◇按组…

    2022年5月15日
    233
  • Windows工作站和主域之间信任关系失败原因和处理方法

    Windows工作站和主域之间信任关系失败原因和处理方法Thedirectory dnsnameand orportinform 这个错误通常是由于访问的主机不能再确保可以和当前加入的活动目录域进行安全通信造成的 当前主机的私有安全凭据和域控制器中的值不匹配 当然简单的可以把安全凭据理解为密码 实际上你知道域环境通过非常严格 Kerberos 验证 因此实际是 Kerberos 的 Keytable 的加密存储在本地安全授权子系统中

    2026年3月19日
    2
  • 购物车功能模块设计图_超市购物车设计

    购物车功能模块设计图_超市购物车设计一、 需求分析 一:购物车模块功能需求 客户在浏览网页的时候,当遇到喜欢的商品、又不急于结账而是继续浏览货物时。需要一个购物篮来存储她已经选中的商品。以便于结账或用于对比商品的详细参数。用户在购物车页面中需要对购物车中的商品添加数量、移除商品、清空购物车等功能。

    2025年5月26日
    6
  • Lamda表达式 集合的筛选

    Lamda表达式 集合的筛选   在项目中经常会遇到多个集合进行筛选,这时候如果用循环是一种方式,但是有点麻烦,在这里用Lamda表达式,就比较方便了,下面介绍几种方式:查找ListOne中与ListTwo不同的数据varexp2=ListOne.Where(a=>!ListTwo.Where(t=>a.ID==t.ID).Any()).ToList();查找ListOne中与Li…

    2022年6月4日
    54
  • TransactionScope 的基本原理简介

    TransactionScope 的基本原理简介C#的事务编程1Db事务DbConnection中创建基于当前连接的DbTransaction2使用TransactionScope,创建环境事务一旦创建,在这个环境包含的DbCo

    2022年7月4日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号