使用国产芯的全球最快超算,“神威太湖之光”究竟厉害在哪里?
雷锋网 (搜索“雷锋网”公众号关注) 按:本文为雷锋网独家约稿文章,作者铁流。文末附有关申威和超算的相关文章,可做参考。
(图来自新华网)
据新华社6月20日消息,新一期全球超级计算机500强榜单20日公布,使用中国自主芯片制造的“神威太湖之光”取代“天河2号”登上榜首。更可贵的是,神威太湖之光与天河2号使用Intel的CPU不同,神威太湖之光采用了 完全自主研发的国产众核芯片——申威26010 。而且高速互联网络和操作系统也是自主研发。
这不仅彻底实现了在超算领域彻底扭转在技术和信息安全上受制于人的局面,还使美国对中国四家超算中心禁售Intel至强PHI计算卡成为笑柄,再次实现了“凡是国外技术封锁的,中国人自己都能做出来”。(可看雷锋网文章 《美国禁售至强芯片后,中国超算经历了什么?》 )
| 申威采用自主指令集
神威太湖之光使用了上海高性能集成电路设计中心设计的国产众核芯片申威26010,该众核芯片采用28nm制程工艺,主频1.45G,拥有260个核心,双精浮点峰值高达3.06TFlops,在双精浮点上完全追平了Intel最好的超算芯片。 正是得益于国产众核芯片申威26010的强悍性能,加上良好的体系结构设计以及互联网络等核心部件,使超算拥有异乎寻常性能指标。
诚然,在介绍申威26010优点的时候,也不能忽略其短板——内存仅有136.51G,而且用的还是DDR3,相比之下,Intel的KNL和英伟达的Tesla都采用3D堆叠内存,内存带宽更是达到512G(Intel PHI) 和 720G(英伟达 Tesla)。因为单个CPU的内存带宽不大,所以对于现实生活中的应用,很难跑出接近峰值的性能。对于某些对内存带宽要求高的应用,实际使用中就不如Tesla和PHI了。
每当中国取得技术突破之时,网络上总会冒出一群“找爹党”,本次神威太湖之光超算刷榜也不例外——一些人将申威26010与 DEC的Alpha联系起来,并将其“认爹”。就事论事来说,申威确实与Alpha有一定渊源,但血缘关系非常淡薄,和DEC当年的Alpha已经完全是两回事了(毕竟DEC被康柏收购已经快18年了),有人称之为类Alpha自主指令集,笔者联系过申威的科研人员,他明确表示是自主指令集。而本次大会上,相关单位明确表示Shenwei-64 Instruction Set (this is NOT related to the DEC Alpha instruction set)。请广大网友不要给申威找“爹”,何况这个“爹”已经挂了18年了。
| 设计理念独具一格的申威26010
当今超算的计算节点要么采用CPU+加速器的方式,要么完全采用相同的CPU。
(图来自新华网)
采用CPU+加速器的方式,被称为异构计算。
举例来说,美国泰坦和中国天河2号为例,泰坦有18688个运算节点,每个运算节点由1个16核心AMD Opteron 6274处理器和1个NVIDIA Tesla K20加速器组成,共计299008个运算核心;天河2号有16000个计算节点,每个节点由2片Intel的E5 2692和3片Xeon PHI组成,共使用了32000片Intel的E5 2692和48000片Xeon PHI;天河1A使用了14336片Intel Xeon X5670处理器和7168片NVIDIA Tesla M2050高性能计算卡。 这些超算的计算节点都采用了CPU+加速器的方式,因而都是采用异构计算超算的典型代表。
而完全使用同一块CPU则被称为为同构计算。
比如,日本超算“京”只采用的处理器是富士通制造的SPARC64 VIIIfx,神威蓝光只采用了8704片申威1600,Mira和Sequoia,就只采用了PowerPC A2处理器,这些都没有采用GPU或众核芯片等加速器。日本的京,IBM 的Mira和Sequoia和中国的神威蓝光都是同构超算的代表。
申威26010和神威太湖之光则显得比较特殊,如果用相同类型指令集和体系架构的计算单元组成系统的计算方式来定义同构计算,那么,由于神威太湖之光只采用了申威26010,也许会被认为是同构计算。但实际上,神威太湖之光双精浮点峰值高达125PFlops,稳定性能为93PFlops确实是采用加速器才取得的高性能——本质上,申威26010是将CPU和加速器合二为一——申威26010的260个核心分为2种,一种是管理核心,发挥类似CPU的功能,另一种是运算核心,发挥类似加速器的作用,这就使申威26010单芯片能够完成Intel E5+PHI,或Power+Tesla两款产品的功能。
而且相对于Intel E5+PHI,或Power+Tesla,申威26010能够实现共享内存,这就避免了Intel E5+PHI,或Power+Tesla必须面对的显式拷贝,从而降低了对内存的压力,并减小了性能损失。想必也是如此,申威26010的缓存和内存都显得偏小,因为访存模型可能非常单纯——等于是放弃现有cpu的复杂内存管理模型,把内存调度的任务完全交给开发者,只在CPU支持一个最简单的访存模型,在硬件上没有cache的硬件一致性要求(Intel KNL将Cache一致性交由硬件负责),将同步的工作交给软件。这种异乎寻常的设计在申威26010拥有高性能和低功耗的同时,弥补了在内存上的短板。
| 神威太湖之光到底有多强?
神威太湖之光刷新TOP500排行榜,依靠的是其强悍的双精浮点性能——其高达125PFlops双精浮点峰值和93PFlops稳定性能让世人惊叹。
其实,除了拥有超强的双精浮点性能之外,神威太湖之光还拥有整机效率高,整机功耗低、性能功耗比高,整机体积小等一系列优点。
高性能 ——神威太湖之光双精浮点峰值高达125PFlops,稳定性能为93PFlops,相比较之下,美国超算泰坦的双精浮点峰值高达27 Pflops,稳定性能为17.6 PFlops,天河2号的双精浮点峰值高达54.9Pflops,稳定性能为30.65PFlops,由此可见,神威太湖之光在稳定性能是美国超算泰坦5.2倍。
高效率 ——神威太湖之光整机效率高达74.16%,相比较之下,美国超算泰坦的整机效率为65.19% ,而河2号的整机效率为55.83%,由于超算性能越强,规模越大,整机效率提升就越困难神威太湖之光在稳定性能是美国超算泰坦5.2倍的情况下,整机效率依然大幅优于泰坦,整机效率之高简直令人惊骇。
低功耗 ——神威太湖之光的功耗为15.3 MW,美国超算泰坦功耗为9MW,天河2号为17.8 MW,可以说,神威太湖之光的稳定性能达到天河2号3倍的水平,但整机功耗却低于天河2号。
性能功耗比高 —— 神威太湖之光的性能功耗比高达6G/W,相比之下, TOP500超算榜单上的竞争对手都相形见绌 ——天河2号的整机性能功耗比为1.95G/W,美国泰坦超算的性能功耗比为2.143G/W,美国超算红杉整机性能功耗比为2.069G/W,日本超算“京”整机性能功耗比为0.830/W......即便是全球Green500排行榜,神威太湖之光也能排至第三位。由于Green500排行榜第一和第二的超算只采用了低功耗版的Intel E5,性能非常弱,而即便是采用英伟达K80加速卡的超算,其整机性能功耗比也只有4.7G/W。因此,神威太湖之光在性能功耗比上显得格外耀眼。
小体积 ——神威太湖之光机柜占地605平方米,美国超算泰坦机柜占地面积404平方米,天河2号机柜占地面积720平方米。
| 结语
在CPU、操作系统、互联网络等核心部件全名自主化后,一些人以“超算性能过剩论”来指责神威太湖之光超算性能过剩,是面子工程,根本无用。
对于“超算性能过剩论”,笔者认为,对性能的追求是永远不会停止的,计算用的代码是可以修改计算精度的,如果有更好的计算条件用户自然会提高网格密度或粒子数目,稍加修改就使计算精度提高了,高的精度可以用来解决更深一层的问题。所以做性能多高的超算都不会性能过剩,做超算从没有够用的说法。
正如奥林匹克格言“更快、更高、更强”,超算同样只有不断追求更快。
雷锋网注:本文作者铁流,微信号tieliu1988。转载请联系雷锋网授权,不得修改文章。
【推荐阅读】
1、美国禁售至强芯片后,中国超算经历了什么?
2、“天河二号”为什么蝉联超算冠军?这次可能得感谢美国禁售
3、相比龙芯,申威的“芯”路历程为什么平坦很多?