需求与背景
我自己的电脑是轻薄本和mbp,实验室目前有两台电脑,大家都在用,导数据什么的也不太方便,于是琢磨着参照实验室电脑配置组装一台主机。虽然M40这张卡比较老,但是显存够大,算力勉强还算过得去,这张卡单精度下计算速度达到了7TFlops(和GTX 980TI差不多)。
我的需求就是跑一些小的数据集,对训练时间不太敏感,加上M40诱人的价格,于是就开始挑选电脑的配件。
配置
部件 | 型号 | 价格 | 购买渠道 |
---|---|---|---|
CPU | 8400 | 537 | tb |
CPU散热器 | 玄冰400 | 29 | tb |
主板 | ROG Z370-GAMING | 380 | 小黄鱼 |
显卡 | Tesla M40 | 470 | tb |
显卡散热器 | 涡轮风扇 | 80 | tb |
显卡电源转接线 | 双母头8P转8P公 | 10 | tb |
内存 | 酷兽DDR4 2666 16G*2 | 300 | jd |
硬盘 | 樊想SSD 512G | 179 | jd |
电源 | 长城X7 750W | 290 | 小黄鱼 |
机箱 | 先马 坦克3 | 179 | jd |
机箱风扇 | 航嘉清风 * 4 | 35 | tb |
总计 | 2569 |
注意
1. 显卡没有主动散热,需要改装散热,我在网上搜的到目前有三种方法
- 外挂风扇:打开外壳用两个8cm风扇对照吹(不推荐)
- 主动散热:改装外壳,使用游戏显卡的散热器(需要动手能力强,效果不错,可选)
- 加装风扇:在尾部加装风扇,涡轮、8cm风扇、暴力风扇(我用的是涡轮)
有其他想法的可以参考这篇文章
2. 显卡需要主板支持PCIE x 16
3. 显卡电源需要转接器,双母头8P转8P公
4. 显卡的峰值功率是250W,电源需要650W及以上。
5. 显卡没有输出接口,需要亮机卡或者核显。(CPU自带核显,所有没有折腾亮机卡)
6. 显卡上的供电为 EPS 供电接口,与常用的 PCIE 供电接口不同,需要购买转接线,下文有图
散热改装
部分散热改装的方案
感觉效果应该不错
尾部8cm风扇

尾部8cm风扇

尾部暴力风扇

因为M40的散热片有折弯,不推荐外挂风扇
我选择的方案 尾部涡轮风扇

显卡供电需要购买的配件 PCIE转EPS
踩坑
1. 主板买错了,实验室的电脑是华硕PRIME Z370A-II没有WIFI功能,想着插网线麻烦,用无线网卡的话还得离线装网卡驱动,所以想买一个带WIFI的主板。看中了ROG Z370-GAMING,买回来发现这张主板的PCIE x 16插槽只有一个,而实验室电脑都有三个,有多卡需求的要注意。
2. 没有控制好预算,可以看到这一套配下来价格还是挺高,本来想着2000左右能搞定,结果还是超了。其实机箱百元以内都可以,主板小黄鱼Z370-A大概还能少100,电源650W应该就够了,内存在小黄鱼淘还能省点。
装机
准备冻手
一张全家福
首先测试主板能否正常点亮
简单接线测试主板和CPU
OK能点亮进行下一步

顺利进BIOS
测试显卡,因为还没有装系统,就只能待会在测试了了
安装电源、风扇、主板到机箱上,右侧少了一个风扇是因为显卡选择的是尾部涡轮风扇,长度可能不太够,就没有装机箱中间的风扇。上面少了一个是因为只买了4个(bushi

安装显卡准备测试

基本组装完毕,准备开机。
踩坑
就在我以为能顺利开机的时候,问题出现了,按下开机键,风扇转了两秒,停了,然后又开始转,反复了几次,再按开机键,没有反应。
接下来我开始排查问题,顺着按下电源键的过程开始查起
1. 怀疑是开机键的接触问题,机箱是新买的,应该不是物理按键的损坏,可能是没插好开机接线,于是尝试了拔了插上实验室的电脑,能正常开机。排除物理按键的问题。
2. 怀疑是电源探针问题,尝试拔掉电源静止一会,用螺丝刀短接探针,风扇转一下就停,排除电源探针问题。
3. 怀疑是主板问题,可是主板的通电灯能正常亮起,尝试把BIOS上的电池取下,静止一分钟,再开机,问题依旧。排除主板问题
4. 怀疑是电源问题,于是短接电源接到主板的接口,电源风扇能正常工作。排除电源问题。 (如何短接测试电源请参考网上的教程)
5. 怀疑是内存的问题,因为以前遇到过内存条没有插好,开机一下就关的情况,于是拔插内存条,清理插槽,擦拭金手指,换插槽,试了个遍,无果。而且主板上内存的故障灯也没亮,可能不是内存的问题。
6. 怀疑是CPU问题,取下CPU,观察CPU底座针脚有没有弯曲,因为有可能CPU没有插好会导致开不了机,取下后发现都正常。暂时排除CPU问题。
几乎把所有配件查了个遍,还是没找到问题,到这已经有点没有头绪了,基本上在网上能找到的原因已经试过了。
就在我准备放弃的时候,看到了一个视频说,铜柱接触到主板背部的电容,烧掉了主板。
我立刻回忆起来,安装机箱的时候他多给了两个铜柱,然后我安上去了,但是检查过后,我安装的位置也是ATX主板铜柱的标记位置,没有问题。
准备测试一下是不是因为铜柱引起的开不了机,将主板从机箱下取下,能正常开机,OK,确定了就是铜柱的问题引起的短路,经过一番仔细检查,终于发现了罪魁祸首。

就是中间的这颗铜柱,接触到主板背部电容,导致没有办法开机,幸好主板自带短路保护,不然主板就被烧掉了。
至于为什么没有检查到这颗多出来的铜柱
1. 我以为是MATX主板上的螺丝孔,可能ATX也兼容,就没有注意。
2. 在出现问题是,因为主板插着电源不好取下,我是检查机箱侧面,也就是主板背面的螺丝孔来看有没有铜柱接触到主板背部的,刚好机箱的2.5寸硬盘盒挡住了这个铜柱的螺丝孔

铜柱就在这个SSD盖子的下面挡住了
就这个小小的铜柱,折腾了我一下午加一晚上的时间。
取下铜柱后正常开机,装系统

装驱动,这个过程也有踩坑,具体过程可以看看另一篇记录博客

安装完成后在终端输入
nvidia-smi
结果提示
device not found
经过一番google,是需要打开主板BIOS上的设置"大于4G地址空间解码(Above 4G decoding)"
编辑切换为居中
大于4G地址空间解码
重启后输入
nvidia-smi
终于算成功了

编辑切换为全宽
nvcc没有输出是因为cuda还没有添加环境变量
安装显卡风扇
总长38cm±1cm
装回机箱


可以看一下加上风扇后的大概长度,机箱宣称是显卡限长380mm
装上盖子
测试
装机完成后跑一下简单模型,看一下测试效果
ResNet50跑分类 训练集大概4000张

编辑切换为全宽
mmpretrain测试
显卡的状态如下,温度在87左右

编辑切换为居中
Batch_size为64 显存占了一半
总结
虽然以前自己也装过主机,但这次真的是踩坑无数,好在最后成功解决。
需要注意的地方上文已经指出,实际装机过程中可能还会有些意想不到的问题。
整个装机流程从购买到组装完毕大概5天时间,还是算比较快的。
参考文章:
Blackcomb:垃圾佬的Tesla M40机器学习装机记录
NVIDIA Tesla M40 Double 36mm Fan Mount by mmittek
Tim Chiu:对于 tesla m40 的尝试 - 年轻垃圾佬的第一次装机
MAIOLAO:矿潮之下的千元Titan X——nVidia Tesla M40游戏改造方案
Gaming on a Tesla M40: GTX TITAN X performance for a Third the price | Overclock.net