做中国人自己的超算应用
REC
6月18日,在德国法兰克福会展中心举办的2019年国际超算大会(ISC19)上,第53届世界500强(Top 500)超算排名发布,由中国国家并行计算机工程技术研究中心 (NRCPC) 开发并安装在国家超级计算无锡中心的神威·太湖之光以每秒93.0petaflops的计算能力位居第三。它拥有40960个SW26010芯片,超过1000万个核心,是世界上首台运算速度超过十亿亿次的超级计算机,曾连续四次登顶榜首。
时间回到2016年的国际超算大会,这也是“太湖之光”在国际舞台的首次亮相。在大会的特邀报告上,清华大学地学系教授、国家超级计算无锡中心副主任付昊桓向与会专家和学者介绍了“太湖之光”团队的成果。报告后,位于并不起眼位置的无锡超算中心展位突然涌来了大批的观众,他们好奇地向工作人员了解“神威”的情况,几百本宣传资料很快就被一取而空,展位的地毯都因来往人数过多卷边了。
“这是我们第一次将全国产机器带到世界面前,所以去之前大家心里也很忐忑,希望能为国产超算做好代言”,付昊桓回忆道,“到现场我们就放松了,因为大家都对中国新的超算技术非常感兴趣,专家、媒体都来找我们了解细节。虽然从早到晚不停地介绍机器非常累,但是听到国际友人对我们国产的超级计算机如此高的评价,我深刻感受到了发自心底的自豪感!”
“计算无止境,挑战无极限。”此后,由清华大学计算机系教授、国家超级计算无锡中心主任杨广文和付昊桓等老师所带领的清华团队,奔着让“神威”能用、好用的目标,创造了一个又一个的不可能。截止目前,“神威·太湖之光”系统与应用成果先后入选第三、第四届乌镇互联网大会“世界领先科技成果”,共有6项应用入围被誉为世界超算应用最高奖的“戈登·贝尔”奖并成功获得2016年、2017年“戈登·贝尔”奖,实现了该奖项设立29年来我国科研团队的首次问鼎和首次卫冕。
团队还涌现出了一批优秀的青年科技工作者,付昊桓教授入选中组部“万人计划”青年拔尖人才;清华大学计算机系助理研究员、超算无锡中心研发部长甘霖斩获IEEE高性能专委会杰出新人奖,成为获得该荣誉的首位中国人。
而这些,是彼时刚触及“神威”、甚至在国际舞台上略显“青涩”的团队不敢想象的。
清华大学科研团队在“神威”前合影
1
“为完全国产化的超级计算机打造属于自己的系统”
在2016年6月20日的世界超级计算机大会上,全国产的“神威·太湖之光”横空出世,一举成为全球最快的超级计算机。然而与硬件研制能力相比,我国超算的应用水平却与发达国家存在着一定的差距。超算领域主要的商用软件,大部分还是国外的。此外,因为国内超算行业生态尚不成熟,外围产品只能由自己研发,如何用好这台机器成为摆在当下的大难题。
“从最基础的算法设计,到任务的调度、结果的分析,清华大学的交叉学科在超算研制和使用上具有明显的优势。我们也非常希望能解决国家重大需求,在神威上做出有益于国家和人类社会的成果”,杨广文说道。就这样,他们接下了这个重担。
杨广文
2015年7月,正是无锡最热的时候。
在太湖边上有一幢新盖的大楼。大楼的第三层可以看到一群衣衫湿漉漉的工作人员,他们正是刚进驻不久的清华大学研发团队。此时,这支平均年龄只有25岁的团队正在与大量的代码奋战。楼下的“神威”有空调,楼上却只有几个工业大风扇呼呼地吹着,根本无法抵消无锡盛夏的炎热。
与一般的计算机不同,“神威”有超过1000万个计算核心,为它做应用就意味着组织协调1000万个人来同时完成一项复杂的任务。团队没有一个人敢懈怠,因为每个人都清楚自己的使命:为这款完全国产化的超级计算机打造属于自己的系统。努力不会白费,两到三个月热火朝天的软件研发也为他们后面的工作打下了坚实的基础。
2
“把世界第一计算力转变成科研创新的价值”
2016年11月17日,“戈登·贝尔”奖在美国盐城即将揭晓。“The winner is ten……”主持人的话音被现场澎湃的欢呼所淹没,付昊桓、甘霖等作为共同通讯作者参加的“千万核可扩展全球大气动力学全隐式模拟”项目获奖,实现了中国在这个奖项上“零的突破”。一年后,由付昊桓等共同领导的团队所完成的“非线性地震模拟”应用再次斩获“戈登·贝尔”奖,实现了我国高性能计算应用在此项大奖上的蝉联。项目研究团队选取了唐山大地震震源附近320公里×312公里×40公里的空间区域,首次精确模拟了该区域在地震发生后150秒内的地震动传播情况,分辨率可达到8米,频率可达到18赫兹,使科学家可以更好地理解唐山大地震所造成的影响,并对未来地震预防预测等研究具有重要借鉴意义。
2016年戈登·贝尔奖获奖证书(左)和领奖现场(右),左起:清华大学计算机系博士生王欣亮、计算机系博士后甘霖、地球系统科学研究中心副教授付昊桓
对他们而言,获奖后最大的感受便是“终于可以舒一口气了”。在冲奖的最后一周,还有大量数据需在“神威·太湖之光”超级计算机上进行处理。这台机器的运行成本颇高,一天需约20万电费。“时间就是金钱”,为了实现机器利用效率最大化,团队进入“7×24小时”工作状态。那时,他们的实验室只有普通的桌椅,没有供人休息的地方,“大家困了就趴在桌子上睡一会儿,然后继续。”
2017年,“戈登·贝尔”奖的入围数量从去年的6个减到了3个,而甘霖共同领衔的“全球气候模式的高性能模拟”项目也成为了这三分之一。他和团队根据“神威·太湖之光”超级计算机的系统特点,设计了从进程到线程的一整套优化方案,实现了千万核规模下25公里分辨率的模拟和每天3.4模式年的计算性能。
在超算领域,气候应用是众多周知的“硬骨头”。在几十年的发展过程中,无数人以不同的风格、程序语言和实现过程“丰富”着由美国大气研究中心开源的气候模式,有些代码甚至没有注释。有时候为了弄懂其中大气、物理、化学等方向的公式,甘霖他们还需要向不同的专家请教。
“一边是全球最复杂的代码,一边是全球规模最大的机器——太湖之光”,二者结合后的难度可想而知。在准备最终结果的日子里,他们每天面对着百万行的程序代码,有时为了精确定位和排除一个细微的程序错误,需要花费几天甚至是几周的时间。
甘霖正在无锡国家超算中心研发基地工作
“戈登·贝尔”奖项评审委员会主席曾对甘霖表示,“很惊讶无锡超算的团队能踏踏实实地把像气候应用这样百万行代码体量的‘一座大山’搬到一台全新系统,去做这种项目。如今的超算领域就缺少这种项目,因为大家都想在容易出成果的领域里,没有人愿意一步一步地搬‘大山’。”
付昊桓在很多采访中都回忆起2017年第二次蝉联奖项时“刨根问底”地询问评委“神威的应用项目好在哪儿”:“评委说,我们解决了非常有价值的实际问题,地震问题和气候变化问题都是跟全人类福祉息息相关的科学问题。最好的机器就应该解决最重大、最关键的问题。另外,我们有很多交叉合作,不仅是计算机学和地学的学科交叉,还有跨学校、跨国家的突破,把世界第一计算力转变成了科研创新的价值。”
3
“超算天生就是交叉的”
清华大学校长邱勇曾多次指出,创新是21世纪最重要的特征,推动学科交叉是获得高水平创新成果、培养拔尖创新人才的重要途径。跨学科交叉研究有多重要呢?有一项统计数据表明,在近100年的300多项诺贝尔自然科学奖中,有近半内容是跨学科交叉研究的成果。杨广文和付昊桓带领的团队就是跨学科团队,“千万核可扩展全球大气动力学全隐式模拟”和“非线性地震模拟”项目就是计算机与气候交叉的重要成果。
付昊桓在本科、硕士、博士时学的计算机,却在博士期间偶然遇到了一位地学领域精通高性能计算的研究者,开始了面向地学的高性能计算研究。在他看来,人类社会现在面临的科学和工程问题大都涉及多个学科,需要很多不同背景的科学家一起推进和解决。以他所在的地球系统科学系为例,全球气候未来的变化和应对,就涉及了大气、海洋、生态、遥感、大气化学、全球变化经济学等等不同学科。不是简单地把这些学科堆砌在一起,而是需要融在一起形成一个有机的整体,才能发挥系统性的价值和作用。超算作为一个将各类前沿科学问题与计算机科学相结合的平台,跨学科的合作能力和服务于整体的合作精神都是非常必要的。
团队正在讨论
学科交叉合作说起来容易,做起来并不简单。不同的学科往往意味着不同的研究语言与研究文化,需要走出自己的“舒适区”,它要求参与者掌握多学科知识,拥有多学科思维。由付昊桓主讲的一门本科生课程便是既讲计算机的机器学习方法,也讲地学的数据和问题,最后聚焦在全球变化相关问题的探索和解决上。在研究方面,甘霖也曾面临着“讲计算机,学气候的人听不懂;讲气候,学计算机的人听不懂。因此需要团队成员不断‘充电’,将自己的成果更好地展示出来。”
2018年11月30日,杨广文研究组和清华大学生命科学学院李雪明研究组、电子工程系沈渊研究组合作,在《自然方法》(Nature Methods)期刊在线发表题为《一种基于粒子滤波的鲁棒的冷冻电镜三维重构算法框架》(A particle-filter framework for robust cryoEM 3D reconstruction)的研究论文。为了获得一个更有效的算法和计算系统以满足未来高分辨率和大规模应用的需求,三方充分合作,利用清华大学生物学科和信息学科交叉的优势,将电子工程领域的粒子滤波算法引入到冷冻电镜的图像重构参数搜索中去,再基于神威·太湖之光等高性能平台的强大计算能力,发展出一套比现有算法更完善、更有效的贝叶斯统计推断算法。
这项工作是三个不同学科研究组交叉研究的阶段性成果,团队正在利用新型的统计推断和机器学习算法将这一工作扩展到对细胞或者细胞器结构的原子分辨率三维重构上去。未来的冷冻电镜技术将使人们不必再借助于复杂的生物化学手段来提取蛋白质,而是利用冷冻电镜直接在细胞中对包括蛋白质在内的生物大分子的原子结构和动态变化进行观察和分析,探索生命活动的本质原理,设计能够治愈疾病的药物,造福人类健康,这也正是一台超级计算机的重要使命之一。
“值得高兴的是,我们这个团队培养了一批拥有计算机知识和应用支撑的交叉学科的人才。”杨广文说道,“有了这个基础才很好地把机器用起来。未来,我们也会一直将人才培养作为主要工作之一。”
4
“我为什么选择超算中心?”
夜深了。晚上10点多,超算中心整幢楼都暗了下来,但是第七层和第八层的灯都还亮着。熬夜对研发团队的人来说再平常不过。
国家超算无锡中心第七、八层的灯还亮着
“因为编程存在幸存者偏差。顺利编过的程序,可能在脑中一带而过,但是那种怎么编都无法成功的程序往往会一直萦绕在脑海中。所以我们遇到bug时,希望能够立刻去解决,因为如果我们解决了一半去休息或者放松的话,可能第二天回来再回想起当时的具体场景,就需要比较久的时间。所以渐渐地大家也养成了一种跟跟常人不太一样的作息习惯,甚至凌晨三四点钟才回去休息。”徐敬蘅解释道。
“科研训练与锻炼身体”两不误是一直以来杨广文培养学生的理念。他不仅自己喜欢游泳、打乒乓球,也一直都督促、鼓励学生们进行身体素质锻炼。团队每周都有固定的运动时间,一起去清华综合体育馆打羽毛球,一起去气膜馆打乒乓球,一起去游泳……丰富多彩的体育锻炼,让他们有了更强壮的身体,以及更良好的状态投入到科学研究上去。
付昊桓
“无体育,不清华。”体育,最能锻炼面对困难时候的勇气和韧性,也最能形成漫长岁月中的一份坚持。三千米长跑、体育课与毕业挂钩等举措曾经让刚到清华念本科的付昊桓头疼不已,但那时养成的体育锻炼的习惯,也让他在之后的岁月受益匪浅。
这个由年轻人组成的团队,氛围十分和谐。长期的共同奋斗、共同熬夜、共同运动,让这个团队拧成了一股绳,富有生机和创造力。能加入这个团队,徐敬蘅觉得无比幸运。他还记得初中的自己看到历史课本上讲到中国研发出了一台自己的向量机时的激动。“它进到了世界排名的前十名,终于让我们摆脱了‘玻璃房子’的时代。因为当时只有外国人能够在房子里面操纵机器,中国人只能在房子外面看。”
徐敬蘅没想到自己能在博士期间就是见证国产超算登顶。2015年他就随团队来到了超算中心,负责大气模式的加速等研发工作,为国产大气模式的研发贡献自己的力量。“我非常开心能在这里做出自己的一份小小的贡献。从微观上来讲,我们的工作可以给当地的政府和部门提供相关的建议和意见;从宏观的角度上看,正像杨老师、付老师们讲的,它能够来争取我们国家在国际气候谈判等方面的话语权,能够为我们国家的发展做出实际的贡献。”
徐敬蘅
“清华博士毕业论文写作四分之三都是高铁上完成的”一度成为社会热议话题,因为大家很难想象在学习计算机尤其是超级计算能轻松获得百万年薪的今天,还有人愿意选择这样“辛苦”。当时,作为“男主角”的甘霖为了兼顾博士阶段的学习,在北京和无锡期间频繁往返,最多的时候 “平均每周都要往返一次”。在北京与无锡之间的单程高铁需要五个小时,每次甘霖都会利用这段时间“工作”,这种状态持续了两个多月。
北京与无锡之间的1100多公里,见证了甘霖的科研之路,也见证了整个团队的成长。
杨广文每周都会在星期一的《并行计算》课程结束后来到无锡,星期五回到北京处理学校的工作。平时他还会带学生来超算中心参观学习,让他们了解最新的进展。越来越多的研发成果并没有让他更轻松,反而越来越忙,在家的时间越来越少。杨广文觉得自己“最亏欠还是家人”。2017年获奖的消息传回国内,付昊桓收到了来自大洋彼岸的夫人和两个女儿的微信祝福。这是他最满足、最放松的时刻了。因为付昊桓经常在无锡,“爸爸为什么老出差”曾经是两个孩子最苦恼的问题。对于团队中年轻的清华大学计算机系博士生徐敬蘅来说,虽然他还未面临着这样的问题,但是1100公里的距离也让他和女朋友聚少离多。
但他们都选择了留下。
杨广文:“值得。和学生在一起,目标一致共同完成一件事,我感到很快乐。而且这对我们国家技术发展和学校学科发展都是有非常意义的。目前,我们的工作环境、研发环境、行业生态环境都有了很大的改善,做起工作来也觉得非常有干劲。”
付昊桓:“幸运。我们能够在这个阶段有机会去全球最快的‘神威’上做相应的研发,能够参与到我们国产超算的软件生态建设中,让自己的科研融合到国家面临的重大挑战中,是很幸运的一件事情。同时,还可以研究自己感兴趣的事情,看自己感兴趣的文章,自由探索和地球、和人类相关的科学问题,是一份很难得的工作。”
甘霖:“兴趣。三百六十行行行出状元,因为我博士学的是超算,所以希望能够在这个领域继续做下去,而‘神威’是目前我们国家最快的超级计算机,前两年是世界最快的超级计算机。另一方面,政府、学校和社会的我们的关注也越来越多,所以我觉得在这里做自己喜欢的事情挺好的。”
“清华大学应该站在国家的角度,为国家的核心技术做出应有的贡献,所以我们也希望能不断发展,为国家下一代机器的研制和运维积累经验,贡献我们的力量。”杨广文说道。
文:张静
视频:清华电视台方锶 张帆
图:国家超算无锡中心研发部 视频截图
排版:张静
特别感谢:国家超算无锡中心清华大学研发团队