本文档记录了在远程服务器 Tesla K80 Redhat 系统上安装 GPU 版 tensorflow 的过程
一、安装 CUDA
1. 准备工作:
Step 1 保证你的 GPU 支持 CUDA
# lspci | grep -i nvidia
86:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
86:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
Step 2 保证你的 Linux 支持 CUDA
# uname -m && cat /etc/*release
x86_64
LSB_VERSION=...
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Step 3 保证你的系统安装了正确的 gcc 版本
# gcc -version
gcc (GCC) 4.4.7 20120312 (Red Hat 4.4.7-16)
...
此外,g++ 也是需要的,我准备了和 gcc 版本相同的 libstdc++-4.4.7-16.el6.x86_64.rpm 和 gcc-c++-4.4.7-16.el6.x86_64.rpm:
# rpm ivh libstdc++-4.4.7-16.el6.x86_64.rpm
# rpm ivh gcc-c++-4.4.7-16.el6.x86_64.rpm
当然如果你的机器可以直连外网,也可以通过 yum 自动下载安装。
Step 4 保证你的系统有正确的 Kernal Headers 和开发包
查看你的内核版本:
# uname -r
2.6.32-573.el6.x86_64
根据你的内核版本安装 Kernal Headers 和相应的开发包:
# sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
你可能会遇到以下问题:
This system is not registered to red hat subscription management. You can use subscription-manager
这是由于你的 Redhat 没有注册,具体注册流程参考这篇文章;或者是由于服务器网络受限无法连接到 yum 源,你可以通过下载相应内核的 Kernal-headers 和 Kernal-devel 的 rpm 来进行本地安装,可以选择到 rpmfind 或者 pbone 自行下载。
比如对于我的内核版本,可以搜索:
- kernel-headers-2.6.32-573.el6.x86_64.rpm
- kernel-devel-2.6.32-573.el6.x86_64.rpm
安装:
rpm -ivh kernel-headers-2.6.32-573.el6.x86_64.rpm
rpm -ivh kernel-devel-2.6.32-573.el6.x86_64.rpm
Step6 下载 NVIDIA CUDA Toolkit
根据自己的系统下载对应的安装文件,这里建议选择 runfile(local),之前在 Ubuntu 上被 .deb 坑惨了所以这里不敢用 .rpm 了…
注意!
下载完一定要做校验!
下载完一定要做校验!
下载完一定要做校验!
由于文件比较大,而且最早的时候 NVIDIA CUDA 的源很不稳定,下载速度比较慢(后来改善了许多),但一定要保证自己下的文件是没问题的,不然以后安装的时候错都不知道错哪了。
# md5sum cuda_8.0.61_375.26_linux.run
33e1bd980e91af4e55f3ef835c103f9b cuda_8.0.61_375.26_linux.run