理性分析“神威”超算拿下世界靠前
实际上,笔者大概在去年的这个时候也写过一篇有关国产超算的文章,不过内容主要是质疑“天河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编程的软件工程师们恐怕也无法顺利平移到“神威太湖之光”。
当然,申威还是主要以突破美国封锁、掌握芯片核心技术为目的的项目,没有那么高的通用性或许并不是迫在眉睫的问题。