技嘉 Gigabyte 主板 Z370HD3 安装 1080ti+ubuntu17.10+Cuda9.1+cudnn7+tensorflow

本贴最后更新于 2257 天前,其中的信息可能已经水流花落

版权声明:可以任意转载,转载时请标明文章原始出处-xjtushilei 和作者信息:石磊

背景

主要就是遇到的各种坑,大家不要再范了。

  • 技嘉的主板 Z370HD3 不支持 ubuntu16.04,安装过程中会报错,有 ACPI error,google 各种无解,官方售后不支持 linux 服务,因为这是家用消费级别的主板。
  • 安装 centos7.3,顺利安装,但是无线网卡不能正常运作,其他的操作系统 cuda 支持太可怜。
  • ubuntu17.10,NVIDIA 官网没有相关驱动,只有 17.04,安装好后无线网卡无法使用,同时 Ubuntu17.10 有各种 bug,在简单使用的情况下就发现了好多小 bug,使用影响心情
  • 最新版的 tensorflow 不支持 cuda9.1,目测 3 个月后才支持,但是我们又不想安装旧版本 cuda

过程

省略掉一系列的坑,最终结论就是 ubuntu17.10+cuda9.1+cudnn7+ 非官方 tensorflow

Ubuntu17.10

正常安装就好啦。理论没什么大问题,由于安装了双系统,又不想在一个系统坏了的时候去折腾 efi,所以采用了 mbr 方式的引导。

分区:200Gssd 给了“/”,1T 的机械给了“/home”

NVIDIA 显卡驱动

在安装 cuda 之前,需要安装 NVIDIA 的驱动。主要就是注意版本号的问题

建议通过 apt install 安装,省去好多麻烦,比如关闭核显的问题

首先添加源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

然后安装英伟达的驱动,注意版本号(和你下载的 cuda 版本对应上,见下方第一张图的版本号)

sudo apt install nvidia-387 nvidia-387-dev

测试安装成功没(部分机器可能需要重启)

nvidia-smi

成功的话出现框,显示的东西可能不一样

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 387                 Driver Version: 387                    |
|                                                                             |
|-------------------------------+----------------------+----------------------+
|   0  1080ti        Off  | 00000000:06:00.0 Off |                  N/A |
| N/A   48C    P0    N/A /  N/A |    943MiB /  11002MiB |     26%      Default |
+-------------------------------+----------------------+----------------------+

cuda9.1

下载网站: https://developer.nvidia.com/cuda-downloads

然后需要安装 c++ 等依赖包,确保 gcc -v 的版本在 v6 以上,当然,ubuntu17 默认很高。

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
gcc -v

版本不对的话,自行升级

下载好安装包后

chmod +x cuda_9.1.85_387.26_linux.run 
sudo ./cuda_9.1.85_387.26_linux.run  --override

这里有个坑,注意这几个选项,一定不要选错。y 和 n 要看准了哦。

You are attempting to install on an unsupported configuration. Do you wish to continue?
y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387?
n
Install the CUDA 9.1 Toolkit?
y
Enter Toolkit Location
[default location]
Do you want to install a symbolic link at /usr/local/cuda?
y
Install the CUDA 9.0 Samples?
y
Enter CUDA Samples Location
[default location]

然后设置环境变量,注意位置,如果安装在 /etc/profile 中的话,会在好多情况下(比如 python 的 virtualenv 虚拟环境下),加载不到这个文件而报错,这里推荐配置到这里

/etc/ld.so.conf 中添加

include /etc/ld.so.conf.d/*.conf 

随意一个文件名:nvidia.conf 在文件夹 /etc/ld.so.conf.d/

添加 CUDA 9 库文件到 LD_LIBRARY_PATH:

/usr/local/cuda/lib64
/usr/local/cuda/lib

然后执行 sudo ldconfig

当然了,如果你碰巧以上的方法不生效,没关系,你可以在你用户目录的'.bashrc'中或者 /etc/profile 添加

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

cudnn

下载前需要注册,然后直接用官方文档里写的安装方法就好啦。

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*

tensorflow

下载这个人的,https://github.com/mind/wheels/releases,这个哥们长期解决 cuda 版本问题,值得信赖。

然后 pip install *.whl 就好啦。

### 测试安装成功没

使用 tensorflow 官方推荐的程序

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

参考链接

  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    534 引用 • 671 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...