---------------- 2018-01-27 补充 ------------
谷歌正式发布TensorFlow 1.5:终于支持CUDA 9和cuDNN 7
但以下文章对于编译安装 TensorFlow 仍然具有参考意义
------------------------------------------------
双11入手了一块新的nvidia显卡,用于替换用了几年的旧nvidia显卡(cuda计算能力低)。
由此而来,需要更新相关的软件、驱动、库 如下:
1) python3.4 --更新安装--> python3.6
2) 重新安装 NVIDIA 最新的驱动
3) cuda8 --更新安装--> cuda9
4) cudnn5.1 --更新安装--> cudnn7
5) TensorFlow r1.0 --从源码编译安装--> TensorFlow r1.4
1) python3.4 --更新安装--> python3.6
我用的是Slackware,具体安装过程需参照你自己的Linux发行版本
2) 重新安装 NVIDIA 最新的驱动
下载到最新的Nvidia显卡驱动,后台的cuda需要通过这个驱动和显卡芯片通讯,注意第 3) 步下载的 从nvidia官网cuda安装包自带了Nvidia显卡驱动,但不是最新的,所于选择了从nvidia官网下载最新的Nvidia显卡驱动
2.1) 为了不切换到Console而直接在X环境下安装驱动,需要指定 --no-x-check
2.2) 同时我的硬件环境是有一个i3 CPU自带的GPU连接到显示器,由它提供OpenGL的支持,Nvidia显卡不连接显示器只做CUDA计算和Deep Learning,指定 --no-drm --no-opengl-files,不然系统自带的opengl库会被nvidia的opengl库覆盖 导致其它使用到opengl的软件出错
3) cuda8 --更新安装--> cuda9
sudo ./cuda_xxxxx_linux.run --installpath=/usr/local/cuda_9 --no-opengl-libs
4) cudnn5.1 --更新安装--> cudnn7
我用的是Slackware,直接从Nvidia官网下载的最新安装包,具体安装过程需参照你自己的Linux发行版本
安装好 cuda, cudnn 后,可以编译 cuda安装包自带的cuda 例子,看安装是否成功
5) TensorFlow r1.0 --从源码编译安装--> TensorFlow r1.4
按官网的 Installing TensorFlow from Sources 步骤(tensorflow的官网需要翻墙):
1) 前面的步骤已经安装好相关的依赖
2) bazel 以前已经安装了
$ git clone https://github.com/tensorflow/tensorflow
$ cd tensorflow
$ git checkout r1.4
$ ./configure
$ bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ sudo pip3 install /tmp/tensorflow_pkg/tensorflow-1.4.0-py2-none-any.whl
由于我用的是python3.6,用pip3安装(pip安装的python2.7的包)
运行 tensorflow的官网的例子,有的小问题,说我的linux kernel 没有支持numa
那就重新编译一下linux kernel,加上 numa support。(原来的没有加上numa support的原因是我的PC根本没有numa体系的CPU)
安装内核后,再次运行 tensorflow的官网的例子,双提示numa node数目为-1的问题了(我的PC根本没有numa体系的东西了 v_v),不过这次的log 级别是 I (info) 不是 E (error)了。
nvidia-smi 查看正在使用显卡的程序
完成,发表文章,出门上班去了。