• 12月23日 星期一

大满贯!清华学生超算团队获国际大学生SC18总冠军

大满贯!清华学生超算团队获国际大学生SC18总冠军

大满贯!清华学生超算团队获国际大学生SC18总冠军

颁奖现场

美国当地时间11月15日,2018国际大学生超级计算机竞赛(SC18)在达拉斯落下帷幕,清华大学计算机系超算团队摘得总冠军,总分88.398分(满分100分),高出第二名新加坡南洋理工大学11.518分。至此,在2018年三大国际大学生超算竞赛ASC、ISC和SC中,清华大学超算团队包揽了全部三项竞赛的总冠军,实现了继2015年后的又一次“大满贯”。 这也是清华大学超算队伍在此三大国际性大学生超算竞赛中累计获得的第11项冠军

参加本次竞赛的清华学生超算团队成员主要由计算机系于纪平(计52)、余欣健(计55)、何家傲(计62)、郑立言(计64)、赵成钢(计75)和交叉信息院娄晨耀(“姚班”计科60)6名不同年级的本科生组成,由参加过多次国际竞赛的高性能计算所研究生曹焕琦、冯冠宇和王邈担任技术支持。指导教师为计算机系副教授翟季冬和博士后韩文弢。同时,本科生唐适之(计53)、陈宇(计54)、顾煜贤(计75)、陈晟祺(计63)和张晨(计71)5位同学参与训练。

全球超级计算大会(Supercomputing Conference,简称SC)是国际超算领域的顶级会议,国际影响力巨大。作为会议的重要组成部分,SC比赛是超级计算机领域的顶级赛事,每年举办一次,吸引着世界各国家和地区的众多高校参与。比赛旨在促进大学生与工业界之间的联系,推动世界各地区超算青年人才交流和培养,提升超算应用水平和研发能力。

大满贯!清华学生超算团队获国际大学生SC18总冠军

奖牌

本次竞赛共有来自全球15所高校的本科大学生组队参赛。清华大学作为唯一一所内地高校参赛。与传统强队新加坡南洋理工大学和台湾新竹清华大学等传统强队激烈角逐。比赛要求参赛队伍在总功率3000瓦的限制条件下,自行搭建计算集群并在集群系统上进行6个应用程序的性能比拼。在48小时的竞赛中完成超算集群的性能基本测试HPL(直译为高性能线性系统软件包)和HPCG(直译为高性能共轭梯度),大规模机器学习,核裂变链式反应的稳态求解与模拟,论文复现——特大地震模拟,现场公布的神秘应用等内容。同时还设置了采访、参会、海报设计等环节,成员需在比赛中向评委介绍自己优化的应用和正在进行的软件优化设计,还需要在48小时内完成一篇在国际权威杂志具有发表能力的英文论文

大满贯!清华学生超算团队获国际大学生SC18总冠军

各国参赛队伍

直击现场

美国当地时间11月12日19:20,比赛应用环节正式开始。结合赛前集训和现场超算集群的性能基本测试情况,清华团队根据给定的部分应用程序负载特征,讨论决定采用GPU(图形处理器)和CPU(中央处理器)不同节点结合的集群服务器配置,很好地平衡了性能测试和应用程序的最终得分。

“最难的是如何取舍。就像摄影,不可能保证一个镜头就将远全中近特各个景别全部涵盖。”翟季冬这样告诉记者。何况集群的设置还要包括处理器类型和数量、加速器类型和数量、互联网络、服务器数量等一系列要素。既要保证基准测试程序的性能又要适应应用程序的需求,这就要求队员们对计算机硬件本身和软件的优化有极强的把握,同时对比赛策略作出抉择以及对比赛结果拥有正确的预期。这是一场对同学们全方位能力的考察。

大满贯!清华学生超算团队获国际大学生SC18总冠军

比赛进行中

事实上,考察从出发前就开始了。由于主力队员唐适之的签证问题,团队在出发前一天临时更换了成员。这迫使团队把早已计划好的比赛策略推翻重来。于纪平回想起当时的情景,“心里本来挺没底的,但还是要硬着头皮上,相信大家的实力。”

随着比赛的深入,挑战接踵而来。在应用环节开始之前是超算集群的性能基本测试,由队长于纪平主要负责。比赛一开始,规则的突然调整让经验丰富的于纪平也措手不及。本来是在一定时间内分别记录HPL和HPCG的最好成绩,而新规则要求连续跑完两项测试,成绩才是有效的。这无形中为题目增加了不小的难度。于纪平回想起当天的“惊险”经历:“因为HPL跑完电脑功耗已经很大,电脑过热将影响紧接着的HPCG的速度。连续跑完两项测试大概需要40分钟到1个小时的时间,大约4点半的时候我得到一个成绩,但我不太满意,所以又重新跑了一次,很惊险地在结束的那一刻上交了成绩。”

大满贯!清华学生超算团队获国际大学生SC18总冠军

队员们讨论解决方案

大满贯!清华学生超算团队获国际大学生SC18总冠军

评委在清华大学场地问询

最让队员们忧心的神秘应用也在当晚公布——WRF(The Weather Research and Forecasting Model)天气预报模式,是一道超算领域里面的经典应用题目。在当今世界,WRF主要应用于天气预报的预测,通常具有极大的数据量。“夸张一点说,如果使用本次比赛的集群要有将近一栋楼的倍数,才能跑完整个数据。”何家傲解释到,“所以我们要在48个小时之内对应用进行编译还要尽量跑更多的数据点,这是非常大的挑战。”

题目要求在给定数据的基础上由队员们自己生成配置文件和卫星云图。这样的程序通常都是相关方面的科研专家来运行的,让缺乏相关领域专业知识的本科同学在48小时之内完成这样的任务无疑是一项非比寻常的考验。

在多次比赛的积累中,清华团队凭借对同类题目的了解,迅速跑完了第一个数据点。但由于题目编译的复杂程度超乎寻常,在比赛已经进行到差不多一半时间时,题目的第二个数据点的编译问题一直没有解决。凌晨4点,6个年轻人被紧张的气氛笼罩着。于纪平回忆“WRF三个数据点,输入数据均为NetCDF(network Common Data Form)网络通用数据格式,但是后两个数据使用了旧版的NetCDF文件格式。多次尝试之后,我们发现了问题所在,通过在编译过程中加入NetCDF对旧版格式的支持后修复了这个问题。”凌晨6点,第二个数据点成功跑了起来。早上9点,神秘应用的全部三组数据点成功跑完。

大满贯!清华学生超算团队获国际大学生SC18总冠军

冲刺阶段毫不放松

大满贯!清华学生超算团队获国际大学生SC18总冠军

比赛期间一直没回酒店,队长在桌子下稍作休息

最终,凭借全面、深刻的超算系统与应用理解能力以及出色的性能优化能力,清华团队在6个应用上取得佳绩获得88.398分,领先第二名新加坡南洋理工大学11.518分。以大比分优势领先,成为今年SC18的总冠军。比赛的另外一个奖项——最高LINPACK(直译为高性能线性系统软件包)奖由新加坡南洋理工大学获得。

当地时间15日下午,颁奖典礼现场,当组委会赛事主席约翰·卡泽宣布清华超算团队为总冠军的时候,成员们激动地欢呼了起来。48个小时,这一场脱胎换骨的战役,清华赢了!

本次会议中,计算机系博士后甘霖获得高性能专委会杰出新人奖(IEEE TCHPC Award for Excellence for Early Career Researchers),是首位获得该奖项的中国学者。同时,博士生林恒等人关于图计算的相关研究十万亿级、秒级、千万核的图处理系统 (导师:陈文光教授)入围了“戈登·贝尔”奖(全球共6项,其余5项均为外国研究团队)。

大满贯!清华学生超算团队获国际大学生SC18总冠军

大会现场

兴趣是最强战斗力

面对复杂的赛制、烧脑的题目,成员们更愿意把它们视为有趣的挑战

回顾比赛的过程,成员郑立言说,“我们要让一个程序不停地优化,让它跑得更快,还要降低功耗需求,我觉得这样的事情特别有趣。”

“从进入清华就拜托班主任打听超算团队了。”大学刚入学,成员赵成钢就对超算团队产生了浓厚的兴趣,从参加组会、熟悉规则到做外围支援,从优化程序、操控机器到训练临场应变,一年多之后,刚刚上大学二年级的赵成钢就进阶为正式队员。

“团队的选拔和培养主要以兴趣为主,我们其实是一个兴趣团队。”翟季冬介绍到,同学们在日常培训中会表现出不同的兴趣,比如纪平、欣健对硬件感兴趣,成钢、晨耀对程序优化和程序分析方面有很大的发挥空间,立言和家傲的英文表达非常好……我们会在比赛中极力去发掘和培养他们的这些兴趣。

大满贯!清华学生超算团队获国际大学生SC18总冠军

日常训练

在各司其职的比赛现场,互相照顾成为了这48小时中6个年轻人的日常状态。何家傲说,我们一起解决问题,是志同道合的朋友更是患难之交。

“我们常说超算比赛就像F1赛事,是非常综合的一个比赛。不仅要拥有先进的硬件设备,同时还需要队员们对相关科学领域的应用有深刻的理解,在高性能计算方面有扎实的基本功,极佳的现场应对策略及语言表达能力等等。”指导教师韩文弢介绍到。

大满贯!清华学生超算团队获国际大学生SC18总冠军

队员们在现场向评委介绍海报

清华大学计算机系从2012年组建超算团队至今,共组织参加了17次国际赛事,50多名同学参与其中。由于在高性能计算、并行系统和计算机系统等方面所具有的完整教学体系,清华大学计算机系为团队的建设给予了充分支持,同时积累了良好的梯队建设经验。指导教师翟季冬在超算领域所取得的多项科研成果,也对团队的多次夺冠有所帮助。

队长于纪平说,通过参加比赛,接触到了世界上最先进的硬件,因为比赛题目都是真实的科学计算应用,这更增进了自己的实践能力。

大满贯!清华学生超算团队获国际大学生SC18总冠军

团队合影

超算比赛对于本科教学是很好的扩展和补充。计算机系为本科同学设置了《编译计算》《高性能计算导论》等超算领域的专业选修课程,为同学们了解超算相关理论打下基础。而通过团队集训以及比赛题目中的众多真实的科学计算程序,更好地锻炼了同学们的动手实践能力,实现理论与实践的紧密结合。

通过参加超算团队,本科毕业后更多的同学选择在超算领域继续走下去。

知识点

超级计算(supercomputing),也称为高性能计算(high-performance computing),是研发超级计算机(supercomputer)及其软件和应用的领域。

国际大学生超级计算机竞赛(SC超算竞赛)2007年始于美国,与世界大学生超级计算机竞赛(ASC,始于2012年),国际超级计算机竞赛(ISC超算竞赛,2012年源于德国)并列为世界最具权威性的三大国际大学生超算竞赛。清华学生超算团队从2010年开始征战上述三大国际赛事,早在2015年清华超算团队取得了三大赛事的全部冠军,实现了第一次“大满贯”。

编程是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

跑数据指编程后,为检验其是否有纰漏,代入各种情况,并将其输出结果与标准答案比对的过程。

NetCDF(network Common Data Form)网络通用数据格式是由美国大学大气研究协会(University Corporation for Atmospheric Research,UCAR)的Unidata项目科学家针对科学数据的特点开发的,是一种面向数组型并适于网络共享的数据的描述和编码标准。目前,NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。用户可以借助多种方式方便地管理和操作 NetCDF 数据集。

文 | 方锶

图 | 苑洁

编辑 | 粽

(本文来源于清华大学公众号)

上一篇新闻

IDC 最新报告:华为云增长超300%,位列Top5厂商增速第一

下一篇新闻

免税行业深度报告:消费回流+政策利好,免税质价俱优大有可为

评论

订阅每日新闻

订阅每日新闻以免错过最新最热门的新加坡新闻。