杨超:让中国登上“超算之巅”
2017-12-23
文/本刊记者 许 茜
杨超:让中国登上“超算之巅”
文/本刊记者 许 茜
“Ten Million……”
评委刚念出“Ten”,杨超“噌”就站了起来。从座位到领奖台,他不知道自己是怎么“移动”过去的,也听不清那些“Congratulation”(祝贺)从哪里来。当地时间2016年11月17日,美国盐湖城,有高性能计算“诺奖”之称的“戈登·贝尔”奖迎来了首个中国面孔。
闪光灯晃个不停,37岁的杨超手捧证书,整个人有点懵,心里嘀咕:真的获奖了……
“团长”变“旅长”
获奖项目“千万核可扩展大气动力学全隐式模拟”(Ten Million-Core Scalable Fully-Implicit Solver for Nonhydrostatic Atmospheric Dynamics),如投入使用,理论上可大幅提升天气预报的计算精度和运算速度。
杨超眼中,“隐式”是得奖的“功臣”。“隐式”是隐式求解器的简称,而“求解器”就像高性能计算的“发动机”,让程序“高速运转”。杨超是研制“发动机”的工程师,也是这次获奖团队的“头头”。
求解器分两种,一种是显式,一种是隐式。“显式是小步快跑,像小风扇,结构简单;隐式则是大步、稳健地跑,像马达,但结构复杂、操作难度大。”杨超对记者说。
由于公认的技术难关,学界一度并不看好隐式在新型超级计算机下的发展,“用它的人很少”;相比之下,显式则更受同行青睐。但早在读博时,杨超便看准了隐式的潜力,“它更具优势”。
作为软件的求解器,其本身无法展示效果,要结合具体领域的应用。恰如“发动机”只有安装在“汽车”上才能一显身手,而杨超偏选了辆难开的“车”——大气动力学,把求解器运用在大气动力学方程计算中。大气是业内公认的“硬骨头”,可杨超觉得“要做就做有挑战的。”
博士毕业后,杨超开始了在大气应用领域的求解器研究。可要想软件唱戏,还得有硬件搭台。今年的获奖项目是搭载在千万核的硬件环境中,可十年前国内的硬件水平还很有限(“核”就是CPU的计算核心)。
“‘核’就相当于一个兵,带领一千万人的超级计算部队,那是什么感觉?就像一个将军在带兵打仗。”而彼时的杨超只是个“团长”,测试环境仅有几千核。“天河一号”的问世,让“团长”变“旅长”,杨超做到了整机8万核CPU模拟。“天河一号”发布前3天,经导师孙家昶介绍,杨超带着研究了3年的应用软件去往天津。程序在“天河一号”运行的那一刻,8万核的惊人速度,杨超感叹“达到了顶峰”。
首次冲奖 只为理想而战
很快,这次测试引起了业内的关注,纷纷请杨超去作报告,其中就有清华大学计算机系副教授薛巍。杨超受邀去清华园,当他展示出8万核的计算结果时,有人说了句“这个应该冲击戈登·贝尔!”
“戈登·贝尔”奖是杨超心中的梦,很美,却“遥不可及”。所以,当时杨超“只当是同行开个玩笑”。
几个月后,薛巍借鉴杨超8万核CPU模拟中的关键方法,将其用在气象应用“GRAPES”上,效果很理想。看到应用如此顺畅,杨超心动了。“一辈子可以搏的事情不多,但戈登·贝尔算是一个。哪怕失败了,曾经为此努力过就够了。”
“天河一号”是由7168颗CPU和7168块GPU(图像处理器)组成,而首次尝试时杨超只用满了CPU,GPU完全没有用上。怎么能把GPU用起来?这成了“冲奖”的一道坎。
为了解决这一难题,薛巍引荐了一位GPU专家——当时清华大学地球系统科学研究中心副教授付昊桓。2011年底“冲奖突击队”正式成立,此时距离交稿只有不到半年。“一般冲奖最少也要三年,这几乎是一项不可能完成的任务”。
赶在截止日期前,熬了几个通宵的“突击队”,提交了论文。饥肠辘辘的三人来到一家拉面馆,累得已经吃不动了;盯着面发呆,记不得是谁说了句“再也不干了!”
找到“最后一枚碎片”
几个月后,入围名单公布,并没有“突击队”,中国超算颗粒无收。
“不干了”只是气话,“戈登·贝尔”情结深埋杨超心头,并开始生根发芽,直至枝繁叶茂。
之后的几年,团队密切跟踪国内顶级高性能计算机的研发趋势,先后在“天河一号”“天河二号”“神威·太湖之光”上进行关键技术研发和测试。“只要有机器可用,就想方设法第一时间进行操练。就像蜜蜂闻到了蜂蜜,一下子就扑上去。”
另一方面,杨超不断调试隐式求解器,却一直找不到“发动机”的一个零件,无法超越显式。当时,随着各类新型超级计算机的发展,显式求解器在学界出尽风头,隐式则鲜有问津。难道真是无解吗?
直到2015年11月,受国外一篇论文的启发,杨超找到了那个关键“零件”,随即联系其他成员,“我们拼图的最后一枚碎片找到了!”——拉开了二战“戈登·贝尔”的序幕。
然而,找到“零件”只是开始。怎么装进去、是否适用、能否顺畅运行……一连串的问题都等着杨超去解答,“每一步都异常艰辛”。
那段时间,杨超常常工作到深夜,饭馆、食堂都关了,饿了就去中科院旁的快餐厅。“我知道,北京晚上三点的肯德基、麦当劳是什么样。”
直到交稿前一周,终于完成了“零件”调试和优化工作。时隔4年,2016年4月杨超再次提交了参赛论文。
与上一次冲奖相比,这次“冲奖小组”更有底气,也得到多方的支持,但杨超依旧忐忑。“戈登·贝尔奖设立近30年,中国团队连入围都没有过,评委来自美国、日本,他们会认可中国人吗?”杨超没底。
而更令他担心的是,高性能计算技术迭代之快,倘若本次冲奖失利,目前的方法或迅速就被其他团队学习或赶超。到那时,多年的心血将付之东流。
“打光了枪里的每发子弹”
6月的一天,杨超的手机被打爆了——“有两组中国团队入围了,咱们呢?”他连忙查邮件,笑容洋溢在他的脸上。
来不及庆祝,一项更艰巨的任务等着他们——优化求解器。入围邮件写明,要在8月10日前提交终稿。4月份上交的隐式求解器性能已超过显式不少,但是却未能充分体现隐式的优越性。于是,杨超领队再次挥师南下,在国家超算无锡中心,把程序里里外外修改、调试了一遍,“几乎重写了一篇论文”。最终,把隐式求解器的性能提升了4倍,达到同等显式的89.5倍。
“这么短的时间,论文能有如此改进,超出想象!”评奖委员会副主席松岗聪教授如是评价。
万事俱备,只差最后一枪。美国时间11月17日上午,在2016全球超级计算大会上,杨超走上台,鞠躬,点开第一页PPT,开始了“豪情万丈”的成果演示。
学术汇报多以低调、沉稳风格为常,但这次杨超一反常态,把极致灌注在PPT的字里行间。他不想留遗憾,“要让世界看到中国超算的风采”。结束演讲,他说“我打光枪里的每发子弹”。
下台后,评奖委员会主席苏博哈什·塞尼博士握住杨超的手,说“Well done!”(做得很棒)
“这只是开始。”杨超指着奖状对记者说。他说的是中国超算,更是自己——一颗颗子弹又开始上膛待发。