Ubuntu 18.04上安装cuda「建议收藏」

Ubuntu 18.04上安装cuda「建议收藏」一、准备工作参照官网上资料,进行准备工作1.验证自己的电脑是否有一个可以支持CUDA的GPU$lspci|grep-invidia我的显示为TeslaP800ifitislistedinhttp://developer.nvidia.com/cuda-gpus,yourGPUisCUDA-capable2.验证自己的Linux版本是否支持…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、准备工作

参照官网上资料 ,进行准备工作

1. 验证自己的电脑是否有一个可以支持CUDA的GPU

 $ lspci | grep -i nvidia 我的显示为Tesla P800

if it is listed in http://developer.nvidia.com/cuda-gpus, your GPU is CUDA-capable

2.验证自己的Linux版本是否支持 CUDA:The CUDA Development Tools are only supported on some specific distributions of Linux. These are listed in the CUDA Toolkit release notes

           uname -m && cat /etc/*release

3. 验证系统是否安装了gcc 在终端中输入: $  gcc –v

4. 验证系统是否安装了kernel header和 package development

sudo apt-get install linux-headers-$(uname -r)

结果显示:升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 x个软件包未被升级. 表示系统里已经有了,不用重复安装。

 

二、下载cuda并安装(官网步骤

1.首先注意版本!

查看版本之间要求 https://www.tensorflow.org/install/source#linux

Ubuntu 18.04上安装cuda「建议收藏」

gcc需要降级、cudnn需要7,TensorFlow需要1.12.0

 

2.下载

官网下载页面上是最新的10.1版本,在后面的过程中才发现TensorFlow可能还不支持,所以想下载低版本的cuda

下载旧版本的cuda地址,本来想选择cuda 9.* ,但里面Ubuntu最高只支持17.10,我的是18.04,所以只能选择cuda 10.0

Ubuntu 18.04上安装cuda「建议收藏」

2.安装:runfile形式安装据说错误率更少

1) 禁用 nouveau驱动

Ubuntu 18.04上安装cuda「建议收藏」

lsmod | grep nouveau 若无内容输出,则禁用成功

我执行以上操作后,还是有输出,reboot重启后,无输出了。

 

2)执行安装脚本

sudo sh cuda_***_linux.run (你下载的runfile安装包名字)

注意:先accept,安装项里不要选择安装驱动,避免有坑,其他都yes

Ubuntu 18.04上安装cuda「建议收藏」

会提示:

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.忽略就行

可以看到软连接已经指向10.0版本了

Ubuntu 18.04上安装cuda「建议收藏」

3)设置环境变量

在主目录下的~/.bashrc文件添加如下路径

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0

用su直接切换到root,再执行 source ~/.bashrc

 

4)检测是否安装成功

Ubuntu 18.04上安装cuda「建议收藏」

出现以下结果

Ubuntu 18.04上安装cuda「建议收藏」Ubuntu 18.04上安装cuda「建议收藏」Ubuntu 18.04上安装cuda「建议收藏」

博客里说这个result为pass则为成功

 

时隔几个月之后,cuda又不能正常使用了

Ubuntu 18.04上安装cuda「建议收藏」

显示是缺失driver(安装的时候选了安,不知为何又bug了)

参照网上的安装步骤

(1)方式1

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall #自动安装

报错

Ubuntu 18.04上安装cuda「建议收藏」

(2)方式2

Ubuntu 18.04上安装cuda「建议收藏」

(3)方式3

只能尝试手动下载,在https://www.nvidia.com/Download/index.aspx官网选择

下载之后 Ubuntu 18.04上安装cuda「建议收藏」,会进入交互界面

提示说一句有410.48版本

但是再用sudo dpkg –list | grep nvi,查不到410.48,用cat /proc/driver/nvidia/version,也是无此文件

交互过程中提示内核版本之类的问题,也是无疾而终

(4)方式4:重装,并选择install driver

Ubuntu 18.04上安装cuda「建议收藏」

发现这次报错了,显示missing recommended library,可由此篇博客解决,但解决之后对驱动没有太大影响

在nvidia安装日志(/tmp/cuda_install_2971.log)里发现是dkms的问题

Ubuntu 18.04上安装cuda「建议收藏」

又寻根到/var/lib/dkms/nvidia/…

找到error:unrecognized command line option ‘fstack-protector-strong’

Ubuntu 18.04上安装cuda「建议收藏」

gcc之前是4.8.5问题,我升级到5.5.0,再重新安装

Ubuntu 18.04上安装cuda「建议收藏」

刚刚dkms的问题没有了,甚至执行王同学的代码都能OK

Ubuntu 18.04上安装cuda「建议收藏」

但存在另一个问题

Ubuntu 18.04上安装cuda「建议收藏」

 

(有人说这个问题不重要)

那难道是没有卸载之前版本的问题吗? sudo apt-get purge nvidia*

一狠心就执行,全部删掉,然后重新sh .run文件

还是不行。。。。重装机器吧。。。

三、安装cudnn

下载地址,需要自行注册,然后选择cuda10.0的对应版本,cudnn 7.4.1

Ubuntu 18.04上安装cuda「建议收藏」

解压缩:tar -xzvf cudnn-9.0-linux-x64-v7.tgz

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 /usr/local/cuda/lib64/libcudnn*

查看cudnn版本  cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

Ubuntu 18.04上安装cuda「建议收藏」

如果出现所示版本信息,说明安装成功。 

 

四、安装TensorFlow-GPU版本

查看python3对应的TensorFlow安装版本,发现cpu与gpu并存

Ubuntu 18.04上安装cuda「建议收藏」

1.尝试安装对应gpu版本

pip3 install tensorflow-gpu==1.13.1

结果import的时候报错

Ubuntu 18.04上安装cuda「建议收藏」

查了下原因,应该是前面设置的环境变量没有生效,参考博客

(1)临时解决方法1(下次登录失效)

在终端执行前面的的export操作,发现终于能正常运行

Ubuntu 18.04上安装cuda「建议收藏」

(2)临时解决方法2

Ubuntu 18.04上安装cuda「建议收藏」

 

2.判断运行的TensorFlow是cpu还是gpu

# 转自知乎.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

print(sess.run(c))

Ubuntu 18.04上安装cuda「建议收藏」

可以看到输出信息都是关于GPU的,说明TensorFlow-GPU版本正常工作了

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 通过pycharm安装python_vscode如何使用第三方库

    通过pycharm安装python_vscode如何使用第三方库除了使用easy_insatll和pip工具安装Python第三方库外还可以使用pycharm安装Python第三方库,步骤如下:1.打开pycharm,点击File,再点击settings2.点击settings之后再点击project下面的projectInterpreter将会出现如下界面:3.接下来点击上面界面右上角的“+”将会出现如下界面:然后在搜索框中搜索

    2022年4月20日
    59
  • JAVA api_java的api文档

    JAVA api_java的api文档JAVAJDK1.8API帮助文档中文版百度云链接:https://pan.baidu.com/s/1_7FFadw1a6J0qTfx2FzqPQ密码:41n4

    2022年8月6日
    8
  • ​git拉取远程分支到本地 ​

    ​git拉取远程分支到本地 ​使用如下 git 命令查看所有远程分支 gitbranch r 方法一使用如下命令 gitcheckout b 本地分支名 xorigin 远程分支名 x 使用该方式会在本地新建分支 x 并自动切换到该本地分支 x 方式二使用如下命令 gitfetchorig 远程分支名 x 本地分支名 x 使用该方式会在本地新建分支 x 但是不会自动切换到该本地分支 x 需要手动 checkout gitbranchset upstream toorigin 远程分支名本地分支名参见博文 Git

    2025年9月1日
    3
  • SpringBoot+Mybatis实现分页查询[通俗易懂]

    SpringBoot+Mybatis实现分页查询[通俗易懂]文章目录前言1.引入依赖2.Mapper中接口3.修改XML文件4.controller层调用接口5.测试总结前言分页查询是在web开发中常用的一种技术,当某个页面查询返回的数据量较大时,为了提高性能和用户体验不能将所有数据一次性返回给过前端,这时候就需要用到分页查询了PageHelper是一款开源的Mybatis第三方物理分页插件,springboot项目中集成PageHelper插件非…

    2022年5月5日
    45
  • Git 工具 – 高级合并「建议收藏」

    高级合并在Git中合并是相当容易的。因为Git使多次合并另一个分支变得很容易,这意味着你可以有一个始终保持最新的长期分支,经常解决小的冲突,比在一系列提交后解决一个巨大的冲突要好。然而,有时也会有棘手的冲突。不像其他的版本控制系统,Git并不会尝试过于聪明的合并冲突解决方案。Git的哲学是聪明地决定无歧义的合并方案,但是如果有冲突,它不会尝试智能地自动解决它。因此,如果很久之后才合并两个分叉的分支,你可能会撞上一些问题。在本节中,我们将会仔细查看那些问题是什么以及Git

    2022年4月6日
    73
  • so文件格式详解_文件xls文件怎么打开

    so文件格式详解_文件xls文件怎么打开可执行链接格式(ExecutableandLinkingFormat)最初是由UNIX系统实验室(UNIXSystemLaboratories,USL)开发并发布,作为应用程序二进制接口(ApplicationBinaryInterface,ABI)的一部分,它是一种常用的目标文件格式,主要包含以下三种类型1、可重定位文件:可与其它目标文件一起创建可执行文件和共

    2022年9月15日
    1

发表回复

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

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