“神威”超算拿下世界第一!国产处理器全面反攻Intel
2016-06-27 08:42:10 n本周早些时候,《全球超算500强》正式公布了2016年上半年排行名单。原本以为会获得“7连冠”的天河2号,竟意外被赶超,且还是被另一国产超算给击败……如此的意料之外顿时让中外媒体和小编们又一次沸腾。
实际上,笔者大概在去年的这个时候也写过一篇有关国产超算的文章,不过内容主要是质疑“天河2”连续五次蝉联《全球超算500强》之意义所在。
当时的观点并非是认为“天河系列”已没有所谓的技术价值,而是想强调:当“天河1”于2010年10月首次击败美国橡树岭国家实验室的“美洲虎”超级计算机后,成功帮助国人在历史上首夺“最快超算”之头衔时,“天河系列”的伟大使命实际上就已经基本完成。
再之后的“天河2”连续蝉联,即使媒体用再多的篇幅去报道和渲染,也只能是徒增一些虚无飘渺的“自豪感”,而不能改变国产超算实际面临的两项残酷事 实:
1. 最核心的技术仍依赖于美国——所以后来有了美国单方面宣布禁止向中国科研机构出口Xeon CPU和Tesla GPU的新规;
2. 美国已经在研究下一代“百亿亿次级”(exascale)超算,能效标准远超当前水平——所以我们眼下的领先,真的不能代表什么。
因此,基于我们一时半会儿在自主核心硬件上难以赶超美国的事实,小编提出——将超算小型化、节能化和普及化会是一套更符合实际意义的做法,因为这能让我们制造出更多可以荣登《绿色超算500强》榜单的中小型超算系统,能让更多的学校和科研机构随时随意地用上属于自己的超级计算机。实际上,这也是大国发展、科技兴国的重要指标之一。
然而万万没有想到,时间仅过了一年,“神威太湖之光”的出现不仅确保了今年《绿色超算500强》前三甲的一个席位(过去中国大陆产超算从未登榜前十),更还一举同时夺得了《全球超算500强》的冠军头衔,且完完全全用的是国产自主设计处理器(小编这里不用CPU一词,是因为从架构看已经脱离了传统CPU的概念,有点英特尔Xeon Phi加速协处理器的意思,后者也是美国禁售名单产品之一)。
这样的成绩,在美国刚刚宣布对华禁售高性能处理器的大环境下,在苦苦挣扎也不愿配合大陆共同研发的台湾半导体面前,简直等同于一次核爆,其意义远非“天河系列”继续蝉联“全球最强”所能比拟——当然这里还是要再次澄清,小编没有无视“天河”的价值,但用一套已掌握的技术标准来连续赢得竞争对手现阶段 已不参与的角逐,真的已不再具备任何值得大篇幅渲染的意义。
不要将所有的“国产芯”都一视同仁
每每提到“国产芯”,总会有那么一群“不明真相”的网友要调侃、要嘲笑。不能怪他们,毕竟有过上海交大“汉芯事件”这样的黑历史,也有着“龙芯”过分高调而不讨喜的事实。“少说多做”一直是小编在评价“龙芯”时的观点,而“神威太湖之光”背后的“申威系列”处理器,就实实在在做到了这点,所以今天他们成功了,并且一鸣惊人。
当然,这里要插个画外音,要为“龙芯”做一点解释:出于某些原因,“龙芯”虽然受到国家重视,但却是“自负盈亏”的放养模式。相比也是国家重点项目的“申威”,后者则得到了军方的完全支持,因而无需担忧能否持续发展的问题。所以从这个角度理解,我们不能怪“龙芯”的完全商业化,但是——少接受采访、少吹嘘性能、低调做产品就行了,夸大产品在特定测试环境下性能赶超欧美是没有意义的,因为“龙芯”定位的是通用计算市场,不是在指定领域下玩跑分。
“申威”显然在获得军方支持后,走的并不是“通用”路线——能否支持普通人能理解的Windows、UNIX或者Linux发行版并不重要,“申威”作为国家安全战略用芯片自然会有特殊定制版系统与之配合;性能或许也非最重要指标,能掌握核心技术并用于关键领域才是最具意义的事情——所以,“申威”一直特别低调,鲜有报道(比较大篇幅的报道始于2015年)。直到今天勇夺世界第一,才让美国顿时懵逼了,让主流媒体突然沸腾了。
能被用于超算领域的“国产芯”大概也只有“申威”和“龙芯”两个选择,其它的基于ARM架构的芯片,则主要面向移动和通用市场,因此要一视同仁地进行比较并不具备价值。未来还有可能出现的能挑战“申威”的国产芯片,恐怕就只有等与AMD合作的那款SoC了——当然小编对此是极度怀疑中。
“神威太湖之光”的厉害和不同
“神威太湖之光”采用的是申威26010处理芯片,共40960个计算节点,每个节点由256个计算内核 4个管理内核(据说也带计算功能)组成,所以整套系统共1060万个CPU计算核——这个数字为排名第二的“天河2”的三倍,后者约为312万个计算内核,因而在浮点计算性能上也大约是“天河2”的三倍:93.01 petaflop/s比33.86 petaflop/s。
然而,“神威太湖之光”的整机功耗只有15.37 MW,而“天河2”则为17.81 MW。也就是说,“神威”是实现了性能倍增的前提下,功耗反而大幅降低了。这才是一次真正意义的技术突破——当然,这与美国提出的50 gigaflops/watt的exascale次世代超算还是有很大差距(“神威”换算过来的每瓦性能约为6 gigaflops/watt)。
申威26010之所以能有如此强大的浮点计算性能是得益于Alpha处理器架构。Alpha是不同于今天市场主流的X86、ARM、MIPS、Power和Sparc的又一处理器微架构,属于RISC(精简指令集)家族,曾在上世纪90年因大胆前卫的乱序并行设计而风靡。虽说Alpha也不是申威的自主专利技术(原持有公司为DEC,后辗转卖给了惠普,于2004年停止研发),但与龙芯使用MIPS一样,在经过那么多年的沉沦,把已经“过气”的旧指令集和架构重新发扬光大,并加入新的构思(异构架构设计),也能算是一种创新,因此申威26010在“自主原创性”方面并不存疑。
申威26010的挑战
不过,也正因为申威26010是基于DEC Alpha 21264这个专利已过保护期的技术所发展出的产品,且采用了类似英特尔Phi加速处理器的架构设计,“神威太湖之光”勇夺世界第一的背后,恐怕要面临编程难、使用难、兼容性难等诸多挑战。
譬如,Alpha早在2004年就停止后续开发了,因此很显然它不会有开源社区的支持。因此申威及其使用者就不得不自主维护一套系统和应用生态,而早期有能力参与其中开发的人员相信是十分有限。此外,申威26010的架构既不像GPU,又不完全是基于CPU,想要合理调用计算加速,在编程上也需要额外学习成本,今天大量懂得OpenCL或CUDA编程的软件工程师们恐怕也无法顺利平移到“神威太湖之光”。
当然,申威还是主要以突破美国封锁、掌握芯片核心技术为目的的项目,没有那么高的通用性或许并不是迫在眉睫的问题。