Install Cuda、Nividia driver、Cudnn for tensorflow-gpu in centos7

Install Cuda(rpm方式)

  1. 检查是否有兼容cuda的GPU
lspci | grep -i nvidi

从这个网站http://developer.nvidia.com 查看你的显卡是否兼容cuda

  1. 检查你的系统版本
uname -m && cat /etc/*release

根据系统版本和位数,选择cuda toolkit的版本 http://developer.nvidia.com/cuda-downloads
注意tensorflow目前的最新版(r1.4只支持到cuda8.0)

  1. 检查有无安装gcc
gcc --version
# if not installed
yum install -y gcc
  1. 检查系统是否安装了对应系统内核版本的Headers & Development包
sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

假如提示没有对应的包,则上https://rpm.pbone.net/查找对应的包下载到本地进行安装
注意:这两个包的版本一定要和系统内核版本一致,不一致则删除已有版本重新安装

  1. 通过rpm包安装cuda
    如前文所说通过http://developer.nvidia.com/cuda-downloads下载centos 7 64 位cuda 8.0的rpm包
# 添加yum的包储存库EPEL,满足DKMS和libvdpau等包的依赖关系
sudo yum install epel-release
# 安装储存库的元数据
sudo rpm --install rpm_name.rpm
# 清除yum储存库的缓存
sudo yum clean expire-cache
# 安装cuda
sudo yum install cuda
```6. 添加环境变量
```bash
export PATH=/usr/local/cuda-8.0/bin\${PATH:+:\/${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
```7. 检查安装是否成功
```bash
# 检查driver版本
cat /proc/driver/nvidia/version
# 运行cuda自带样例deviceQuery
sudo find / -name "deviceQuery"
# 进入deviceQuery的路径
cd deviceQuery_path && make 
# 运行样例deviceQuery
chmod +x ./deviceQuery && ./deviceQuery

安装新Nvidia driver

因为我的显卡是1080 ti,cuda安装里自带的驱动版本太低,导致显卡不能被nvidia-smi指令正确识别和使用,所以需要安装最新版的驱动,假如驱动安装正确的话,则无需更新驱动

  1. 从官网http://www.nvidia.com/Download/index.aspx下载新的驱动
  2. 关闭显卡自带驱动nouveau
# 把驱动加入黑名单中 
vi /etc/modprobe.d/blacklist.conf  
# 在文件末尾添加
blacklist nouveau
options nouveau modeset=0
# 使用 dracut重新建立initramfs image file
# 备份 the initramfs file
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# 重新建立 the initramfs file
sudo dracut  -v /boot/initramfs-$(uname -r).img $(uname -r)
# 重启系统至文本模式 init 3
# 检查nouveau driver确保没有被加载
lsmod | grep nouveau
# 假如没有任何输出内容,则表明显卡自带驱动nouveau已被正确关闭
```3. 安装nvidia 显卡的新驱动
```bash
chmod +x driver_name.run  && ./driver_name.run
```4. 检查显卡版本
```bash
cat /proc/driver/nvidia/version

添加cudnn

  1. 从官网https://developer.nvidia.com/cudnn下载cudnn压缩包。tensorflow目前版本(r1.4)使用的是cudnn6,所以下载的是cuDNN v6.0 (April 27, 2017), for CUDA 8.0。 实际安装中请根据自己需求选择所需要下载的版本
  2. 下载后,解压cudnn压缩包
    tar -xzvf cudnn-8.0-linux-x64-v6.tgz
  3. 添加文件到cuda工具箱的目录中
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-gpu
关于python or anaconda的安装在这里就不细写,网上一堆教程。
1. 从该网站https://pypi.python.org/pypi/tensorflow-gpu下载自己所需的tensorflow-gpu的whl包
2. 安装&测试
```bash
pip install tensorflow_gpu-1.4.1-cp36-cp36m-manylinux1_x86_64.whl 
ipython3
>>> import tensorflow
# 若import的指令没有报错,表明tensorflow-gpu安装成功,并且可以识别到cuda,cudnn的路径和文件

以上是jojen的笔记。
我大概记了一下我们踩的坑:

cuda版本

jojen在第一次下载cuda版本的时候,没有注意兼容性的问题,下载了cuda8,但是cuda8目前的tf版本并不支持,所以...first round, over
根据tf的版本,cuda8会在下一个tf版本中被支持。

内核+glibc等系统问题

关于内核,两位大神给了我两种不同的建议,一位大神建议我的是拿到系统以后先进行upgrade,另一位大神则认为内核这种东西,够用就行了,没必要追求最新。
最后我们选择后者,因为更新内核以后,驱动就和内核型号不匹配了...重新下载和内核匹配的驱动以后,glibc的版本又不匹配了....

最后只能重装大法好...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容