单路计算化学攒机配置推荐
后记:本文的配置已经过时,此文也不再更新。时下最理想的配置见《计算化学购机配置推荐》(http://sobereva.com/444),其中的配置会不断更新
单路计算化学攒机配置推荐
文/Sobereva @北京科音
First release: 2014-Jul-21 Last update: 2016-Apr-18
计算化学并非总是需要双路及以上的服务器,如今的普通PC已经足够完成很多计算了。特别是那些搞计算化学的专业民科,由于没有经费的支持,通常没法花很多钱买服务器。也有些课题组的确比较穷。曾有些人问我攒个PC机做计算什么配置合适,这里就推荐一下当前性价比最高、最适合计算的配置,并且进行一些相关的讨论。由于各公司产品不断更新,显然不可能最初撰文时的最佳配置在以后几年都适用,所以此文可能会隔比如一年更新一次,请注意本文开头标注的更新日期。
以下是推荐配置,后面会对每一项挨个进行说明。报价都是撰文时的情况。由于显示器和计算没直接关系,所以这里就不提了。所有涉及的配件目前在淘宝上都是可以买到的。所有CPU、GPU和芯片组的型号、规格都可以在笔者整理的《硬件资料库》中方便地查到:http://sobereva.com/datasheet.rar。
2016年4月18日的推荐配置:
CPU:E3-1230 V5 (Skylake,四核八线程3.4,散,无集显) 1500
显卡:索泰GTX960-4GD5至尊PLUS OC 1479 或 索泰GTX970-4GD5毁灭者HA 2199
散热器:九州风神大霜塔普通版 199
主板:技嘉 X150M PLUS WS (C232芯片组) 660
硬盘:希捷 2TB 64MB SATA3 460
固态硬盘:OCZ饥饿鲨 Trion 100 240G 399
内存:2*8/16G 金士顿 DDR4-2133 2*220/2*440
电源:康舒上品550(额定550W)269
机箱:任意 200
光驱:先锋 DVR-221CHV 125
键盘鼠标:罗技MK200 多媒体套装 85
显示器:优派VA2249s 21.5寸AH-IPS LED背光 599
总价:约4800 (不含显卡、显示器,32GB时)
----------------------------以下是2014年10月时写的推荐配置-----------------------------
CPU(散片):i5-4670(四核3.4,6MB,集显) 1350 或 XEON E3-1230 v3(四核八线程3.3,8MB,无集显) 1400
显卡:CPU集显 或 旌宇GTX770 Super狂版 2G 1899 或 耕昇GTX970赵云版(4G) 2499
散热器:九州风神大霜塔普通版 199
主板:映泰Hi-Fi Z87W 618
硬盘:希捷 2TB 64MB SATA3 550
固态硬盘:影驰战将 240GB 599
内存:2/4*8G Kingston DDR3-1600 440*2/4
电源:康舒上品550(额定550W)279
机箱:撒哈拉 走线大师GL6 159
光驱:先锋 DVR-221CHV 125
键盘鼠标:罗技MK200 多媒体套装 85
总价:约4800 (集显+16GB时)
1 CPU
计算化学计算速度看的是浮点运算能力。自打AMD的CPU几年前开始用了推土机架构之后,浮点性能就变得弱爆了,在高性能计算市场已几乎没有立足之地。当前的AMD CPU,核心数除以2才大致相当于同频的Intel CPU的浮点性能。而在每瓦功耗产出的性能上,以及性价比上也都弱于Intel CPU。另外用Intel CPU在软件兼容性上也占优势,编译程序会比较省心,所以AMD的产品根本不考虑。
Intel产品型号繁多,虽然这几年Intel的消费级CPU产品在性能上没什么进步,但是型号却翻来覆去地频繁大量地更新,完全就像是论文灌水。完全不必搭理型号的名称,像是i3/i5/i7这样的分类纯粹是愚弄外行的。比如若看到有些人瞎叫嚷什么做计算不要i5要i7,这明显就是小白。对CPU性能有关键性的影响只有这些:CPU架构、核数、频率。只要这三样确定了,那么CPU的性能就基本确定了。一般来说,架构越新,频率越高,核数越多性能越好。次要的还可以留意一下三级缓存(L3)、是否支持超线程(HT)、是否集显、热设计功耗(TDP)等。这些信息在前面提到的《硬件资料库》中直接查到,也可以到Intel ARK去查:http://ark.intel.com,在网页右上角输入型号即可。
Intel的产品虽然型号众多情况复杂,但桌面产品线在性能上总的定位是这样的XEON E3>Core>Pentium>Celeron。Pentium和Celeron定位太低,虽价格便宜,却不适合计算。Core是中、高端PC市场的主力,分i7、i5、i3。其中i3是双核,显然不适合计算。i5包括双核(支持超线程)和四核产品。i7包括4~8核产品,都支持超线程。做计算,至少要有4核,所以只能在i5、i7里面选。4核产品中,i7比同频的i5的产品主要优势是在于支持超线程,L3普遍大2MB,其实这些对计算化学计算速度的提升较小,而价格却高了近一半,很不值得,所以用i5里较高频率的4核,比如i5-4670(四核3.4),性价比是最为理想的。i7里面还有6核和即将发布的8核,但是价格都很贵,远高于同性能的XEON,而且必须用LGA2011的主板(价钱远高于目前主流的LGA1150接口的主板),故完全不值得,与其用它不如加点钱整个廉价的(特别是使用ES版CPU的)双路服务器。之所以i7的>4核的产品很贵,是因为Intel认为买那些的人属于发烧玩家,钱多人傻速来。
Core系列产品都只支持单路。定位于服务器的XEON产品包括E3、E5、E7三大系列,定位由低到高,具体编号很多,相互穿插。8x00系列都是支持8路的,E7才有。4x00系列都是支持4路的,E5、E7都有。2x00系列都是支持双路的,E5、E7都有。1x00系列是最低端的,E3、E5都有。如果觉得糊涂,查一下《硬件资料库》就清楚了。XEON E3就是定位于单路服务器的产品,这是我们这里最值得关注的。同一代产品,XEON E3和Core系列用的核心本质上是一样的,同频、同核数下计算,性能是完全相同的。有人觉得会不会XEON系列CPU更稳定,实际上没这回事,Core系列长时间一直跑同样不会有丝毫问题。XEON E3的主力产品目前都是四核8线程,8MB L3,因此和Core i7在规格上十分相似。而Intel却很良心,把XEON E3的价格定得比较便宜,和i5系列在同一个档次。XEON E3-1230 v3(四核八线程3.3,8MB)就是这样,和1300元左右的i5-4670差不多价格,规格上却与近2000元的i7相仿佛,在攒机市场目前也挺畅销。XEON E3的接口和同时代的Core系列的接口是相同的,因此普通PC机主板就能支持,用的也是普通PC的内存。所以说,选XEON E3对于计算化学攒机来说是个非常赞的选择。XEON E3绝对不是只给服务器用的,自家PC也很适合使用。虽然刚才也说了,i7在支持超线程、L3容量上的优势不会给计算性能上带来很明显的提升,实际上XEON E3-1230 v3比i5-4670的性能也就高一丝而已,从性价比来看也没太大优势,但我还是倾向于用前者,原因之一在于用定位于服务器的XEON显得更高大上一些。很值得一提的是,XEON系列产品很多是没有集显的,E3-1230 v3就是这样。如果你不打算买显卡,手头也没有闲置的,那么还是买i5吧,或者买带有集显的E3也可以。E3的型号很杂,编号个位数是5、6的都是肯定有集显的,比如E3-1225 v3,其价格和E3-1230 v3差不多,但可能在当地市场没那么容易买到(淘宝上肯定有)。
CPU架构是影响性能的一个关键因素,Intel每推出一个新架构,都会对几乎整个产品线进行更新。很多年前随着Intel不断更新架构,CPU在频率不变的情况下性能不断在提升。但是近3年来,从Sandy Bridge、Ivy Bridge再到如今的Haswell架构,除非计算程序专为新的架构进行了充分优化,否则同频同核情况下速度提升并不很显著。所以架构问题可以忽略。但是架构的更新却总是带来接口的改变,目前基于Haswell的四核Core i5/i7和XEON E3用的都是LGA1150接口,适用于基于8、9系列的芯片组(如Z87)的主板。XEON E3/5/7系列产品大家会看到v2、v3这样的后缀,没这样的后缀的基本是基于Sandy Bridge的,v2的是基于Ivy Bridge的,v3的是基于Haswell的。由于如今架构带来的性能提升很小,所以比如看到同频同核下v3的比v2的贵好多,那么完全没必要去买或升级到v3。
三级缓存的容量对性能有一定影响,影响的多少也和程序、任务类型有关。通常来说,4MB和8MB的差距会相对明显,但是,6MB和8MB四核之间差距就很小了,不值得为了8MB L3额外花太多钱。
再说下Turbo Boost (TB)和超频问题。Intel的大部分主流消费级CPU和XEON都支持TB技术,也就是在CPU运行程序时,根据具体情况和CPU型号,适当提升一些频率(通常在零点几GHz)来提升性能,这不会对稳定性有任何影响。虽然以前超频很流行,即便是做计算的机子我也鼓励适度超频提升性能,但对于如今的CPU,我还是建议别考虑超频了,油水不大,何况TB也已经在某种意义上可以理解为小幅自动超频了。
如果你买了四核八线程的E3-1230 v3,跑计算化学任务的时候建议将并行数设为4,而留下额外的4个线程去处理后台任务或者一些其它应用程序(比如上网)。并行数设为8虽然经常会带来性能的提升,但相对于4核并行时提升通常最多不超过15%,意义不很大,同时在某些情况下还有可能反倒降低性能,这要视具体程序、任务类型而定,需实际测试才能确定。另外,绝对不要听信一些计算化学小白的谣言在BIOS里关闭超线程。
2 散热器
别用盒装CPU自带的散热器,太烂。由于跑计算化学任务往往可能要跑十天半个月甚至更长,所以弄个好些的散热器是很有必要的。其实,对于4核,花100块钱买个玄冰400这样的散热器就已经基本够了,但是为了让CPU更舒服,尤其是在环境温度较高情况下长期稳定运行,我建议别吝啬那点钱,多花一张毛爷爷买个九州风神大霜塔普通版是值得的。大霜塔普通版的性能很好,在这个价位上性价比最高,值这个价钱。而花三百以上买更贵的散热器(诸如猫头鹰D14等)纯属烧包,没意义。
3 内存
要多大内存取决于干什么事。比如分子动力学对内存容量的要求很低,8GB都完全足够跑一般任务,而对于量化计算,内存则是多多益善。不过,不管干什么,我都推荐用至少16GB,这可以说是目前做计算的机子的标配。如果缺钱,也至少不能低于8GB。
目前LGA1150口的四核i5/i7、XEON E3通常支持的都是双通道DDR3-1600内存,上限是32GB。这就是说,想用64GB也没戏,这是CPU里的内存控制器的限制。PC主板上一般是4个槽,现在市售的通常是单条8GB,插满了正好是32GB。
双通道的意思是,如果你插两条或四条内存,内存带宽在理论上将是单条内存时的两倍,因此有助于提升运算性能。内存频率越高,也越有助于提升运算性能。但是,计算性能和内存带宽根本没有正比关系!对于如今的配置,计算化学的运算能力瓶颈通常在于CPU速度,需要大量硬盘读写时在于硬盘速度,但几乎不会在于内存带宽!有人以为用DDR3-1600时计算速度是DDR3-1333时的1600/1333=1.2倍,真是很天真。实际上,对于4核机子,DDR3-1333时,对于绝大多数计算化学任务,开启双通道通常尚不比单通道时在计算速度上有很明显提升,提升内存频率对运算能力提升有明显帮助才怪。不过,假设你只需要8GB内存,还是建议用两条4GB组双通道而不是单条8GB,价格也差不多。
至于内存品牌的选择,选市场占有率最高的金士顿就可以了,价格不贵,质量稳定,兼容性不错,口碑较好。只是假货很多,注意分辨。
4 显卡
如果只是看分子结构、动力学轨迹的话,其实Intel CPU集成的显示芯片就已经足够用了。机子如果是纯粹做量化的话,若没有其它闲置的显卡可用,推荐就用Intel的集显(i5-4670或E3-1225 v3),省得额外花钱。如果是做分子动力学,那么买个好点的显卡实现GPU加速是必不可少的,关于GPU加速问题在幻灯片《分子动力学方法和程序简介》(http://sobereva.com/242)最后一节有简略的介绍和讨论,如果不熟悉的话建议看看,这里就不多提了。对于预算不多的情况,十分建议E3-1230 v3搭配GTX770,此时Gromacs跑MD的性能相当于使用Intel 16核的水平,即主流的双路服务器。GTX770的性价比极高,已经降到2000元以内,价格是最便宜的GTX780的66%,但性能却是它的83%,GTX770产品中我很推荐旌宇的GTX770 Super狂版。旌宇是老牌显卡大厂,这个狂版是非公版设计,外形像烤肉架,笔者用了半年多,十分稳定,噪音也不大,而且价格还很便宜,比起昂达之流的公版GTX770只高一点点。AMD的显卡目前不推荐,主要是因为支持GPU加速的MD程序绝大多数都是基于CUDA的。等以后支持OpenCL的MD程序多了的时候,可以再考虑AMD的。
另外,预算稍微多一些的话,也很推荐考虑买耕升GTX970赵云版,显存达4GB,是GTX770的两倍。性能比GTX770强25%,同时得益于架构的进步(Maxwell架构,770为Fermi架构),功耗降低约60W。
5 主板
上面推荐的i5-4670和E3-1230 v3都是Haswell核心的,接口都是LGA1150。这类CPU最适合搭配Intel 8系列芯片组的主板。虽然9系列芯片组的主板也能用,但是目前普遍很贵不划算。8系列芯片组有Z87、H87、H81、Q87、Q85、B85。这些版本性能差异很小,主要是硬盘、USB接口数目和规格、支持的技术特性上有差异,因此芯片组出货价格也不同。Z87定位最高,H81定位最低。芯片组的定位也一定程度上反映到了基于这些芯片组的实际产品上。
实际上,如果只是插不多于两个硬盘、不超频、不组Raid,那么用哪种8系列芯片组都是无所谓的(但不建议用H81,它不支持AHCI)。不过我还是推荐基于Z87的映泰Hi-Fi Z87W。因为它虽然是Z87,但是价钱却很划算,甚至低于其它一线厂商的很多B85、H87芯片组的产品,而且这块板子用料也很好。映泰也是口碑很好的老牌一线主板厂商,质量放心。虽然还有些更便宜的基于B85、H87的主板,卖四五百块钱,有些也是一线或二线大厂生产,但是省这点钱没什么意思。对于价格很低的产品来说,一分钱一分货,而且主板是影响计算机稳定性的最关键的部件,在这方面太抠门往往会贪小便宜吃大亏。华硕、技嘉之类顶级厂商都有价格贼贵的,八九百甚至上千的8系列产品,买这样的高价主板没任何好处,纯粹是钱多人傻速来,增加一些花哨的功能和浮华的设计,却并不会给产品稳定性带来什么益处。凡是看到攒机配置单里对于<6000元的机子用了>800元的主板,那么写这个配置的人一定不懂攒机的艺术,不懂得如何在性能、价格、稳定性上寻求最佳平衡。
6 硬盘
不同类型计算化学任务对硬盘的要求很不同。比如大基组大体系的后HF计算,往往需要在硬盘上持续读写大文件,硬盘持续传输速度对此很重要,但是对容量要求不太高,也不需要很快的随机访问速度;而分子动力学,对硬盘速度很不敏感,但是需要储存很多轨迹文件,对容量要求较高。
目前来说,如果只买一个硬盘,那么2T的容量是比较合适的选择,容量足够用,而1T的也就便宜150元而已,没什么意思。现在的大容量硬盘质量普遍不算非常稳健,希捷和西数的可靠性也都半斤八两,但目前我更推荐希捷的。西数也可以买,分为绿版、蓝版和黑版三种,绿盘便宜但是速度慢,黑版速度快但是太贵,蓝版速度介于二者之间,但是目前还没有2T版本,速度也略逊于希捷的。
由于如今的硬盘质量不算很稳健,所以多备份为宜,可以额外买一个硬盘用于备份重要数据。也可以买更贵但是质量也更可靠的企业级硬盘。对于希捷来说,同容量的企业级硬盘比家用版价格贵将近一倍。还有一类硬盘叫监控级硬盘,其特征主要适合长期记录监控摄像机数据,并不适合PC机,不要去买。
如果经常做后HF,硬盘需要经常大量持续读写,一种策略是买一个1T硬盘当成working horse,临时文件都在那里读写,用坏了就换。而另一个1T盘储存系统和应用程序,轻量级读写。
有兴致且有能力的话也可以买两块硬盘组Raid,Raid 0可提升一倍读写速度,但数据风险较大。而Raid 1可以避免一块硬盘完蛋时机子里的数据出现损失。
至于固态硬盘,要不要买根据需求来定。固态硬盘比起机械硬盘最大的优点就是随机存取速度快了几个数量级(对于大量读写零碎小文件速度提升甚巨),而持续读写大文件速度虽然也有提升,但一般也就是一倍多的提升而已(因而对后HF这类任务加速有限)。固态硬盘虽然这几年价格降了很多,但即便是性价比最高的240GB的规格,还是比机械硬盘价格高将近一个数量级。如果要买固态硬盘的话,我比较推荐影驰240G,性价比很高,才600块钱,速度在同价格产品中名列前茅,笔者用它用了半年多,感觉良好。理论上说,固态硬盘在读写次数上的寿命低于机械硬盘,如果时不时要做后HF计算,临时文件在固态硬盘上读写没关系,但是如果是长年累月总在做后HF计算的话,又担心把固态硬盘弄坏,那么不太建议在固态硬盘上做。
如果你买的机子不光是做计算,还作为自用,比如上网、执行各种应用程序的话,那么吐血推荐买一块固态硬盘作为系统盘、存放应用程序和零碎文件用。一旦体验过固态硬盘给日常应用带来的好处之后,就再也离不开它了。
7 电源
2008年的时候笔者写过一个帖子讨论电源,感兴趣的话可以参考:《计算化学攒机--电源篇》(http://sobereva.com/18)。时过境迁,市售的产品、市场格局早已发生了很大变化。以前那些台湾、西方的大品牌产品都普遍比较贵。而现在,那些品牌都纷纷推出了面向低端的产品,性价比比起国产的航嘉、先马、长城之类的甚至还高。虽然价格低了必然导致用料上省不少,但毕竟还是大品牌,再怎么省,也就是在那些客观指标上有所让步,在稳定性上还是确保没问题的,而稳定性才是我们真正所需要关注的。或许有些昂贵的电源测试指标极好(如电压波动极小、转换效率极高),但是用几个月坏了,那又有何用?康舒上品550是我比较推荐的一款产品,额定550W电源当中这几乎是最便宜的,这样的功率带4核+GTX780是毫无问题的。笔者一直在使用这款电源,物美价廉,一点问题也没有,接口丰富,还带有电源开关按钮。
8 机箱、光驱、键盘鼠标
2008年的时候写过一个帖子讨论机箱,参见《计算化学攒机--机箱篇》(http://sobereva.com/17)。机箱用不着太好的,200块钱以内的就足够了。机箱虽然也有很多品牌,但是在网上看中一款后,往往不一定在市场上买得到。如果是直接去市场攒机,选机箱时可以参考帖子里提及的那些问题,结合自己对外观的喜好来实际选择。如果可能的话,最好还是买那些价格便宜,同时品牌又有点名气的机箱。京东上有很多机箱,价格从便宜到贵很丰富,可根据外观、参数、用户评价来挑选。
光驱没什么好说的。DVD刻录机是最好的选择,比起DVD贵不了几十块钱,刻录经常很有用,特别是刻个系统盘什么的。先锋DVR-221CHV笔者亲自用过,感觉不错。不要光驱也可以,网上不到100块钱买个USB外置DVD也很方便,装系统的时候选USB启动。
键盘鼠标比较随意。买几百块钱的毫无意义,但也不建议太廉价,因为用户与电脑打交道,除了屏幕外,接触得最多的就是鼠标键盘了,省几十块钱弄个山寨东西也不值得。罗技MK200这样的大品牌不到100元的套装是比较理想的选择。
***************** 超线程 ********************
很多搞计算化学的人,也不知道是怎么以讹传讹的,是谁最初造谣的,也不知道他们到底对超线程技术有多少了解,有没有最基本的考证精神,有没有常识,居然能干得出来在BIOS里关掉超线程这样的史诗级昏事!呜呼哀哉!每次看到有人在群里、论坛里鼓吹要关掉HT就令笔者十分鄙视。为了帮助破除这计算化学中最大的迷信之一,我这里再简单说一下超线程问题,也免得买了E3-1230 v3的用户手残关掉了HT。超线程(Hyper-Threading, HT)最初是2002年Northwood核心的Pentium 4引入的技术。当时CPU都是单核的,同一时间内只能处理一个线程(虽然可以同时跑很多任务,那其实只不过是操作系统让CPU在不同线程之间反复快速切换,由于间隔很小而给用户造成CPU能同时处理多个线程的假象而已),因此如果执行的一个程序计算量极大,那么用户就会发现机子被卡住,而其它的几乎什么也干不了。现代的CPU由于内部设计的原因,实际上在高负载运行时仍有少量计算资源是时不时会被闲置的。考虑到这点,Intel发明了超线程技术,给CPU加一个入额外的逻辑控制单元,从而额外模拟出一个核心。此时单核CPU就有了两个逻辑核心,可以同时执行两个线程,共享同一个物理核心的运算单元。某种意义上就像压榨劳动力,如果工人干一件活儿的时候还时不时有说有笑,就让他们同时干两份活,使之没有喘息的机会。对于多线程程序,这么做显然不可能达到200%的运算能力,但由于将闲置的计算资源有效利用起来了,因此总运算能力还是有一定提高,从实际效果来看通常能比原先提升5%~15%左右。其实对于单核CPU来说,HT带来的总性能提升是小事,体验感的提升才是更重要的。比如用户在压缩一个文件,有了HT后电脑就不会卡得厉害,因为HT模拟出的一个额外的逻辑核心足够处理后台事物、让用户干一些轻量级的工作比如打字、上网。超线程绝对是一个很好的技术,一直延续到如今的中、高端产品中。虽然如今的CPU都是多核了,本身就有多个物理核心,就算不用HT也不至于使得系统卡顿,但是有了HT技术,比如4个物理核心模拟成8个逻辑核心,用8线程跑并行程序的效能通常还是要高于4个线程来跑的。不过由于压榨劳动力带来的油水毕竟有限,因此HT带来的额外性能提升一般超不过15%。超线程并不总是带来好处,比如用了8线程来跑,某些情况下由于数据竞争、并行效率下降,以及消耗更多的内存甚至带来额外的大量磁盘读写,整体性能可能不升反降。对于你所跑的计算化学程序,以及你所跑的任务,到底超线程技术是否能带来好处,只有经过实测才能知道。多数情况下超线程还是带来益处的,但即便带来益处,性能提升也比较有限。如果你懒得去测,也不稀罕这点性能提升,那么我的建议是:你的CPU有N个物理核心,运行时线程数就设成N。额外虚拟出的那N个逻辑核心就让它们去处理后台任务或其它应用就行了。这样HT带来的额外的那一点点计算能力有用武之地,也完全避免了少数情况下利用全部2N个逻辑核心跑计算反倒拖慢计算速度。至于某些人鼓吹的做计算时必须关掉HT,可谓荒诞至极。若不想用全部2N个逻辑核心,运算时设N个线程不就得了,关HT作甚!Intel那么专注于高性能计算,它怎么可能会给XEON和高端民用CPU凭白加入个只会带来坏处的特征,而且还是默认开启的?如今低端的Pentium和Celeron系列,为了和中端产品拉开差距,Intel还不舍得给它们加上HT咧!
关于HT,后来笔者还专门撰写了文章,强烈建议一看:《正确看待超线程(HT)技术对计算化学运算的影响》(http://sobereva.com/392)。