不久前,由清华大学计算机系7名本科生组成的超算团队,在南昌大学举办的2018ASC世界大学生超级计算机竞赛(ASC18)中蝉联总冠军,这是他们第五次在这项赛事中夺冠。
ASC世界大学生超级计算机竞赛于2012年由中国倡议发起,与2007年发源于美国的全球超级计算机竞赛(SC超算竞赛)、2012年起源于德国的国际超级计算机竞赛(ISC超算竞赛)并列为世界三大国际大学生超算竞赛。清华大学超算团队先后9次在这三大赛事中夺冠,而2015年他们更是包揽这三大赛事总冠军,成为目前国际上唯一一支实现“大满贯”的队伍。
那么,这样一支实力强悍、经验丰富的队伍是如何练成的?
超算竞赛并非纯粹比拼运算速度
清华大学超算团队主要由高年级本科生组成,规模10余人。在以往的比赛中,通常以5—6名大三、大四同学为参赛主力,大二同学则为替补队员,以保证团队建设的连续性。
超算竞赛并非纯粹比拼运算速度,部分赛题还要求在规定时间内完成运算的前提下尽可能减小功耗值。因此,比赛过程中设备计算速度并非越快越好,而是要尽可能平衡计算资源及应用运行参数,做到既能在规定时间内完成运算,又能在运行过程中保持稳定且尽可能小的功耗值。这一规则不仅考验选手对超算系统构建的掌控能力,更要求他们有好的团队协作和临场应变能力。
ASC18清华大学参赛队队长、计44班李北辰表示,为了应对比赛中出现的各类具体问题、优化协同合作,他们一直保持团队的多元化组成。队员中既有擅长软件的,也有擅长硬件的,彼此互为补充。在比赛题目准备过程中,成员们会多次向生物、化学、物理等有关领域的老师和同学请教,每周都会花费几个小时进行竞赛题目的交流和讨论,汇报问题准备的进展情况。
除了重视平时训练、扎实进行赛前准备外,超算团队指导教师翟季冬认为,“清华大学计算机系在高性能计算、并行系统和计算机系统等方面提供了完整的教学体系,高性能计算研究所在超算领域所取得的多项科研成果,都对团队的多次夺冠有所帮助。”多样化的课程设置丰富了同学们的知识维度,而良好的实验室氛围、广泛的研究领域成果、老队员持续的经验传承,则增强了成员们的实战能力,这些都是清华大学超算团队能脱颖而出的优势。
实力和应变能力在赛场上很关键
增强实力,打好“地基”很重要,但想最终夺冠,赛场上的应变能力也很关键。
ASC竞赛要求各参赛队伍在总功耗3000W的限制下,采用组委会统一提供的超算节点、高速网络和自行配置加速卡等设备,完成超算系统搭建。在2014年举行的ISC14超算竞赛上,首次出现了强调优化运算功耗的赛题。
翟季冬对2014年的这道赛题至今记忆犹新。当时竞赛组委会现场公布了当次竞赛的神秘应用赛题规则,要求参赛队现场重新构建各自的超算系统,在规定时间内运行出正确结果,完成任务且运行过程中功耗值最小的队伍可获得满分,其余成功运行出结果的队伍根据和第一名功耗比例给分,没有完成任务的队伍得零分。
为了降低功耗,每个队都会尽可能减少运行中的CPU核数、节点数等计算资源,同时对计算平台进行“瘦身”,如拆除平台上的GPU加速卡和多余的内存条,在散热条件允许的情况下拆除平台上的风扇等。“我们向比赛展商临时要了一个非常低功耗的风扇装上,为的是保证在比赛的30分钟之内保持机器的低功耗,但这样很危险,因为我们可能在规定时间内跑不完数据。那次我们是在29分钟过几秒时拿到数据、提交结果。超过30分钟,我们就只能得零分。”回忆起当时的惊险,翟季冬还心有余悸。
比赛的记忆不只这些,说起与南非国家超算中心团队的“掰手腕”,李北辰记忆也很深刻:“他们的实力不容小觑,每年跟南非队的竞争都很激烈。”清华大学学生超算团队与南非国家超算中心团队多次在超算竞赛中同场竞技,对于超算背后的年轻人而言,强强对话的激烈竞争既是压力,更是动力。