一台 5W 的机器,一个人使用可以创造 50W 的价值,如果三个人使用就应该创造 500W 的价值
搭建 GPU 深度学习平台
0x00 一份不太简短的硬件清单
Device | Header |
---|---|
CPU | i7-7800X CPU |
Memory | 64 G |
GPU | NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] X 3 |
SSD | 512 G |
HDD | 3 T |
Power | 1200 W Max |
看到上面这个清单,我想用这样一个微笑来表达我激动的心情!
0x01 准备 – 安装 ubuntu 18.04
在进行安装的时候已经是 18 年 5 月底了,ubuntu 18.04 早就已经准备好了。用了那么久的 16.04,也该体验一下新的 LTS 版本。所以这次果断选择 18.04 作为深度学习平台的系统。
我还是挺喜欢用英文系统的,如果要在一边安装一边更新可能会比较慢,建议安装英文系统时不要自动更新,也不要选择安装第三方驱动。一切等安装完系统点亮后再进行。
安装 20 分钟左右就结束了,登录后首先在 Software & Updates 中切换 apt 的源为 http://mirrors.aliyun.com
然后更新源、更新系统、重启。
1 | uname -m && cat /etc/*release |
0x02 准备环境 – 安装 ubuntu 18.04 后必须要做的 N 件事
为了提高在终端中敲命令的舒适度,同时延续之前的操作习惯先不着急安装显卡的驱动
1 | echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list |
0x03 安装 Nvidia 显卡驱动
Ubuntu 的源里面已经自带第三方的闭源驱动了,用起来很方便,也不容易出现错误(比如循环登录桌面,开机黑屏等待)1
2
3
4ubuntu-drivers devices
sudo ubuntu-drivers nvidia-driver-390
sudo apt-mark hold nvidia-driver-390
sudo reboot
到这里其实很想用 GpuTest 压一下的,有兴趣的同学可以试试哦
0x04 安装 CUDA
提前到 Nvidia 官网准备好 cuda_9.0.176_384.81_linux.run
文件,下面就安装啦1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16sudo apt install gcc-6 g++-6
sudo apt install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50 --slave /usr/bin/g++ g++ /usr/bin/g++-6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
# 确定 gcc 版本
update-alternatives --display gcc
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
sudo apt-get install linux-headers-$(uname -r)
# 安装过程中会显示是否要安装显卡的驱动,我们选择 N
sudo ./cuda_9.0.176_384.81_linux.run --override
echo "/usr/local/cuda-9.0/lib64" | sudo tee /etc/ld.so.conf.d/cuda-9.0.conf
sudo ldconfig
一切顺利就安装好了,跑跑 CUDA 自带的例子验证一下1
2
3
4
5
6
7
8
9
10
11
12
13
14# 先测一下带宽
cd ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/bandwidthTest
make
./bandwidthTest --device=all
# 然后测个桌面的流体仿真程序,fluidsGL
cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL
make
./fluidsGL
# 还有 N-Body 的仿真,多跑跑吧
# .
# .
# .
0x05 安装 cuDNN
cuDNN 需要去 Nvidia 申请开发者才能下载,提前准备好 libcudnn7_7.1.4.18-1+cuda9.0_amd64.deb
,libcudnn7-dev_7.1.4.18-1+cuda9.0_amd64.deb
, libcudnn7-doc_7.1.4.18-1+cuda9.0_amd64.deb
这三个 deb 包
1 | sudo apt-get install libfreeimage3 libfreeimage-dev libcupti-dev |
安装结束,跑跑例子1
2
3
4
5
6
7
8
9
10
11
12cd cudnn_samples_v7/mnistCUDNN
make
./mnistCUDNN
# cudnnGetVersion() : 7104 , CUDNN_VERSION from cudnn.h : 7104 (7.1.4)
# Host compiler version : GCC 5.5.0
# There are 3 CUDA capable devices on your machine :
# device 0 : sms 28 Capabilities 6.1, SmClock 1607.0 Mhz, MemSize (Mb) 11178, MemClock 5505.0 Mhz, Ecc=0, boardGroupID=0
# device 1 : sms 28 Capabilities 6.1, SmClock 1607.0 Mhz, MemSize (Mb) 11178, MemClock 5505.0 Mhz, Ecc=0, boardGroupID=1
# device 2 : sms 28 Capabilities 6.1, SmClock 1607.0 Mhz, MemSize (Mb) 11177, MemClock 5505.0 Mhz, Ecc=0, boardGroupID=2
# Using device 0
# ...
# Test passed!
0x06 安装 Tensorflow
其实可以编译安装 Tensorflow,然后最大化利用 i7 支持的高级指令集,不过重点还是在 GPU 上面,保证 CUDA 最重要。
根据官网 Install Tensorflow 的建议,使用 virtualenv
会是一个明智的选择!
1 | mkdir -p /home/tribf/tribfworkspace/tensorflow |
有时候运行前应该双手合十,过一边确实按照教程走的,那就可以回车了。运行一下简单的例子
1 | import tensorflow as tf |
最后 - 安装一些监控程序
1 | # 温度监控 |
Notes
Nvidia-Driver 01
Nvidia-Driver 02
CUDA 01
Tensorlow 01
Tensorlow 02