全球大学生超算赛 清华蓝衣军团首夺冠

资讯夹

6月20日,从德国汉堡传来令人振奋的消息:在ISC12全球大学生超级计算机竞赛上,中国的清华大学代表队和国防科技大学代表队分获竞赛总冠军和最高计算性能奖,其中清华大学的夺冠是中国大陆大学生在国际超级计算机竞赛中取得的第一个世界冠军。6月24日上午,刚刚从德国回到国内的清华大学代表队指导教师黄小猛副教授与两位参赛队员程芃祺、杨弋,向本报记者讲述了他们的夺冠历程。

26-f06-1.jpg
夺冠后,高高举起冠军奖杯的清华大学团队

搭建系统,国内运去的设备坏了

在此前的国内选拔赛中,清华大学战胜了来自全国各地的五支代表队,一举夺得冠军。因此在出发之前,整个团队信心满满。“我们就是奔着冠军去的。”黄小猛告诉记者。

当地时间6月15日晚上,团队一行7人抵达了德国汉堡。不过他们很快遇到了整个比赛过程中最大的挑战——搭建系统。他们原本计划16日进场,但当天会场没有开放,直到17日中午,他们才得以进入比赛场地。开始搭建系统后,意外的事情发生了,由于空运的缘故,一些机器发生了故障。“有的机器RAID卡有问题,有的机器网卡有问题。”程芃祺介绍,“幸好有备用机,我们就赶紧重新组装,将可以用的部件拼在一起。”比赛规定系统功率不能超过3千瓦,清华采用的方案是降低CPU频率换取更多的节点(编注:一个节点就是一台计算机,各个节点之间通过高速网络连接起来,协同进行并行运算,构成一台超级计算机),“保底是9个节点”,最终他们的12个节点在经过重新组装后恰好有9个能用,“还是有些惊险的。”黄小猛现在想起都心有余悸。

不过在搭建系统时遇到问题的并不只有清华队。在总共五支参赛队伍中,国防科大和美国两所学校的代表队都有机器因空运受损,其中纽约州立大学石溪分校更是因为大量系统出现故障,几乎无法完成比赛。只有德国的卡尔斯鲁厄理工学院占据着东道主之利,无需空运,“可能是事先就把系统搭建好了,比赛时直接用汽车运到赛场里。”因此十分顺利。在这样的情况下,使用了13个节点的德国队便成为了清华队的主要对手,“我开始对他们还是有一些担心的。”黄小猛表示。

算法领先,比裁判组算得还快

比赛在当地时间18日下午正式开始,比赛的规则说起来很简单,那就是各队必须让组装的超级计算机在规定的功率下,通过算法优化,在规定的几个测试程序上取得最好的成绩。第一天的项目是测试浮点计算性能的HPL(High Performance LINPACK,一个专业的性能测试程序),由程芃祺负责。国防科大由于使用了GPU+CPU的解决方案,在这个项目上有着明显的优势;而在四个使用全CPU方案的参赛队中,备战充分的清华则处于领先。“有趣的是,在做LINPACK的时候,我们可以看到所有参赛队的曲线,也就可以知道对手们大概在干什么,以及会用多少台机器来测后面两天的算例。”

从第二天开始,大赛进入实际应用项目的比拼,算例覆盖天气预报、海洋环境、材料科学、生物制药、流体力学等领域。6位队员轮番上阵,解决了包括一个事先保密的神秘应用在内的数个算例。黄小猛透露:“神秘应用需要现场调优、编译,然后现场出结果,不过我们之前也做过准备,所以能够较好地应对。”尽管算例复杂,但清华的队员们表现出对应用的深入理解,令裁判组都感到吃惊,“像杨弋做的OpenFOAM算例,在两个小时之内调优了四五倍,挺惊人的;裁判组自己在测试时,使用的节点数量比我们多一倍,但速度只有我们的几分之一。”

尽管算例复杂,但经过国内赛的考验清华队员们都能应付自如,没有碰到明显的障碍。“在国内比赛时,大算例很多,根本算不完,只能选择性地放弃一些;这次比赛则大部分是小算例,需要一两个小时才能算完的大算例很少。最初我在旁边看同学们算,因为时间短了很多,还以为是算错了。”第二天比赛结束后,黄小猛与卡尔斯鲁厄理工学院的教练交流,得知他们有一个算例没有编译出来,“当时我就知道我们肯定是第一了。”果然,在三天比赛全部结束后,清华大学顺利获得了冠军。“据我们了解,优势相当明显,可能也是因为分数差距太大了,最后组委会并没有公布分数。”黄小猛告诉记者。

队员都是大四,要毕业了还这么忙

谈到夺冠的经验,程芃祺认为对整个系统的综合把握十分关键:“并不是说硬件性能,或者应用调试哪一个方面做得非常出色就能获得好成绩,而是要从全局出发,比如功耗的选取、LINPACK和其他测试项目之间的平衡、系统软件的配置等,都需要慎重考虑。”

黄小猛表示,对手们也有很多值得学习的地方:“德国队更像是一个商业队,而不是一个参赛的学生团队,他们除了做应用的人之外,有人做营销,有人做介绍,很注重宣传和形象,展台布置得非常漂亮;国防科大在装机拆机、搭建系统方面比我们快。”

从国内到国外,清华的超算团队所向披靡;却很少有人知道这支冠军团队组建才四个月,此前也没有任何大赛经验。据黄小猛介绍,由于比赛规定选手必须为本科生或高中生,“大二、大三的学生都很忙,所以组队时我就在计算机学院大四的学生里挑了几位特别拔尖的,他们中有的即将赴美国留学,有的已经被保送到中科院物理所,实力都很强,也热爱计算机,这是他们能最终夺冠的主要原因。”

六名同学从2月份开始在黄小猛的指导下开始了封闭集训。“我以为大四下学期什么事情都没有的,没想到这么忙。” 程芃祺表示。尽管几位同学都有很强的编程功底,但此前并未参加过任何超算比赛,因此需要针对比赛做特别的准备。“像流体力学、分子动力学等应用都不是我们专业范畴内的,但我们仍需要对它们的原理有基本的了解,需要看一些论文。”

在准备期间,清华队也考虑过GPU+CPU的方案,但在尝试了半个月之后放弃了。“用GPU对LINPACK测试项目有好处,但在其他应用方面都比较不利,除非分到的算例有GPU的版本,否则在综合成绩方面不占优。”杨弋表示。

在这次超算大赛中,即将毕业的学生们也有不少收获。程芃祺表示,比赛让他对超级计算机的整个系统有了全面的了解,包括搭建机器、针对要完成的任务选择体系结构、安装合适的软件以及对应用程序的性能调优等。杨弋则称他通过比赛对科学计算领域有了更深的了解:“以前看论文或者参与讨论时,有很多这方面的背景都不清楚,现在就明白了。”

黄小猛表示,他现在的主要精力还是放在科研和教学方面,不会立即组建新的团队参加下半年在美国举行的SC12 SSC比赛。在被问到明年是否还会带队去卫冕时,他微微一笑,显得很轻松:“到时候看情况吧。”

>>超级计算机

超级计算机通常是指由数百数千甚至更多的处理器组成的、能计算普通PC机和服务器不能完成的大型复杂课题的计算机。现代超级计算机的用途包括核物理研究、航天航空飞行器设计、国民经济的预测和决策、中长期天气预报等,是强有力的模拟和计算工具,同时超级计算机还是一个国家科研实力的体现。

26-f002-2.jpg