穷人深度学习攒机小记(2017.5)

老板给的预算$1200,使用场景:CNN,GAN,有时会重新训练整个model

硬件篇

基本攒机思路是大显存GPU,高频少核CPU(穷),尽可能多的PCI E 3.0 lanes为后续扩展提供便利,其余配件过得去的情况下能省则省。。。考虑性价比,这个价格基的GPU本上只能选1070了。

方案1: 低性能workstation

发现基本配不出来。。

方案2: 中等性能desktop

Intel i5 7600,gtx 1070, z270

方案3: 捡垃圾

捡个类似Dell T7600的垃圾, 双路xeon cpu获得大量pcie,gtx 1070,

http://www.ebay.com/usr/digitalmind2000?_trksid=p2047675.l2559

后来突然发现NVIDIA对学术界对支持还不错,有一个GPU grant项目,可提供包括Titan Xp内的GPU给researcher。于是满怀希望以老板的名义赶紧写了一份proposal交出去。N厂(爸爸!)动作很快,一周多的时间就出了结果,送了一块titan xp。

于是终于可以在有限的预算内组出一台能用的机子了,考虑到漫漫phd生涯平时机器基本上一直都开着,于是排除掉捡垃圾的方案,剩下以下两个:

1.  desktop

Intel i7-7700k, msi z270, 16G*2, 512g ssd

缺点:桌面级LGA1151 socket cpu支持的pcie lanes只有16,单卡就占了16条(据说8条其实也行),内存也只支持到64G,占4pcie的M.2 的ssd也用不了,未来的扩展空间很有限。

2. workstation

配置清单:

最后为了给第二块卡和大内存使用场景留出空间,还是用了2011-v3 workstation的方案。

选择思路:

GPU:Titan Xp(自己配的话1080ti,1070的性价比较高)

CPU:i7系列至少要到6850才有40pcie lanes,6850以上价格过高,相比之下xeon e5全系支持40 lanes。最后选了e5-1620 v4,4核主频3.5,10MB cache, newegg上卖还不到300,真是穷人的福音,虽然性能有点烂。。。

Motherboard:早期的x99主板可能不支持新一代cpu,需要升级bios。以及最好是有4pcie插槽,支持4 GPU,  比如GA-X99-UD4。然而我觉得未来撑死也就2卡的水平。

Hard disk:M.2 SSD是未来发展方向,比SATA的快太多。

Memory:16g*2 DDR4,随便买

Power supply: 纸面功率500w,未来再加一块titan 750w,配个1000w gold的差不多了。

Case:Mid tower,随便买。水冷,多风扇什么的,土豪请随意

CPU cooler:支持2011-v3,能制冷140w cpu就行,反正不放在我办公室,噪音什么的无所谓····

 

5.16 下单完成!5.17 titan x到了·······

 

软件篇 (to be continued)

系统:

Window 10 + ubuntu 16.04

Environments:

NVIDIA Drivers, CUDA library, cudnn, python, tensorflow

NVIDIA Drivers

https://askubuntu.com/questions/149206/how-to-install-nvidia-run

CUDA

https://askubuntu.com/questions/799184/how-can-i-install-cuda-on-ubuntu-16-04

`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}}`

`http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile-installation`

cuDNN

https://askubuntu.com/questions/767269/how-can-i-install-cudnn-on-ubuntu-16-04

Anaconda

install pip

Tensorflow

https://www.tensorflow.org/install/install_linux#installing_with_anaconda

Troubleshoot

ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

https://stackoverflow.com/questions/36159194/tensorflow-libcudart-so-7-5-cannot-open-shared-object-file-no-such-file-or-di

Add the path to global environment

https://serverfault.com/questions/201709/how-to-set-ld-library-path-in-ubuntu

/etc/environment

辅助工具

network disk

sudo apt install smbclient

sudo apt-get install cifs-utils

openSSH

Teamviewer

 

 

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *