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

版权声明:可以任意转载,转载时请标明文章原始出处 -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))

参考链接