当地时间11月17日,第28届国际超级计算机大会(The International Conference for High Performance Computing, Networking, Storage and Analysis, 简称SC)在美国盐湖城落下帷幕。在会议期间举办的第十届大学生超算竞赛(Student Cluster Competition,简称SCC),经过为期一周的激烈角逐,中国科学技术大学代表队包揽了总分和最高LINPACK性能两项冠军,成为SC大学生超算竞赛自2007年举办以来的首个双料冠军队。
图1 中国科大超算鸿雁队登台领奖
SC是全球超级计算的顶级盛会,今年有约一万五千人参会。会议期间最引人注目的是颁布全球超级计算机TOP500排行榜、大学生超算竞赛结果,以及颁发被誉为超算领域诺贝尔奖的戈登贝尔奖。随着SC-SCC进入第十个年头,该项赛事的影响力也在不断增加,竞争愈加激烈,入围决赛的每支参赛队伍都实力雄厚。今年5月,各参赛队的初赛方案经过18位评审专家的严格评审,最后决出来自美国、中国、德国、南美、新加坡和台湾地区的14支队伍参加决赛。这些队伍中有包括来自美国麻省理工、伊利诺伊大学厄巴纳-香槟分校、波士顿大学等世界强校的代表队,也包括曾获得过SCC优异成绩的世界强队。其中,台湾清华大学代表队曾在SC10和SC11连续两次获得过总分冠军,在SC07、SC08和SC14三次获得过Linpack性能冠军;德克萨斯大学奥斯汀分校代表队曾在SC12、SC13、SC14连续三次获得过总分冠军,在SC10获得过Linpack性能冠军。中国大陆今年有来自中国科大、北京大学和华中科大的三支队伍入围决赛。
图2 SC16大学生超算竞赛全体参赛队员合影
中国科大超算鸿雁队SC16-SCC参赛队组建于2016年4月,共有6名参赛队员,由计算机学院安虹教授担任主教练,计算机学院的研二学生徐启泽、廖陈志和周鑫担任助理教练。队员中大三学生庄思源、庄诗铭、曾健、杨德中4人来自计算机学院;计算机专业的大三学生曹焕琦和凝聚态物理专业的大三学生张浩2人来自少年班学院,曹焕琦年仅17岁。队员们在完成正常学习任务的同时,经历了6个月高强度的艰苦训练,放弃了整个暑假和国庆假期的休息时间,完成了参赛系统的设计与性能优化、参赛应用的分析与性能优化、算法设计与软件实现、技术展示制作和现场答辩准备等多项训练任务。在备赛的最后一周,还经受了48小时不间断的模拟训练,调整心理状态和竞赛策略。
图3 全体赴美参赛学生
美国时间11月12日下午,队员们到达了SC16举办地盐湖城盐宫会展中心,要在不到两天的时间里完成从安装CPU和内存条开始的参赛系统组装和调试。尽管队员们在训练过程准备了各种应对突发情况的预案,但是在竞赛现场还是遇到了一系列预想不到的困难。“厂商忘记把CPU托运过来了!”,“GPU卡插上了系统找不到!”,“内存条不识别,必须重插!”,“交换机总是调不通!”,“两路PDU供电不均匀,功耗压不住!”……问题一个接着一个。等队员们费尽周折完成全部参赛系统的配置和调试,已经是14日正式竞赛当天凌晨近3点了。
“必须在比赛开始前完成Linpack和HPCG性能测试!曹焕琦留下来测,其它人先回去睡觉,张浩和曾健5点回来测你们的应用。”安虹老师下达了不容商量的命令。经过两个多小时的手工调参,曹焕琦想尽一切办法,一步步压着3000W的功耗线,将Linpack性能从最初的21.6TFlops稳步提升到31.21TFlops,将HPCG性能从最初的800.9Gflops提升到821.7Gflops,终于超过了队员们的预期。
图4 竞赛现场
面对每一次参赛都会遇到的各种困难,安虹老师感慨地说:“SCC竞赛,玩的就是心跳!我们没有哪一次是顺顺当当完成比赛的!”其实许多其它参赛队也曾和科大代表队一样,遇到过各种各样的困难。“正因为竞赛过程中会出现许许多多的意外,才使得这项赛事如此令人兴奋!”。从组装参赛系统到完成各项竞赛任务,有的队员连续两天只睡了几个小时的觉,不得不承认“高考也没这么累过!”。“人生能有几回博!尽管我不赞成学生平时学习打疲劳战,要会学也要会玩。但偶尔经历一次心理和体能的考验,能让学生发现自己从未开发的潜力,获得一次难忘的人生经历!”安虹老师对队员们勇于拼博、吃苦耐劳、追求卓越的精神感到十分骄傲。
图5 第十届大学生超算竞赛庆典,中国科大超算鸿雁队首任队长李丰成为大赛影响力的典型代表
本次竞赛,组委会全面改革了竞赛规则,对参赛队提出了更大的挑战,更加强调求解问题的真实性,全面考察学生分析问题和学术交流的能力。“其实,中国科大这次赢得并不轻松。SCC历史上成绩最好的两支队伍台湾清华大学代表队和德克萨斯大学奥斯汀分校代表队这次都入围决赛,有些队伍的参赛设备看上去比我们的更先进。”在本次竞赛的七个大项25个小项的竞赛中,中国科大最终取得了Linpack和HPCG性能测试、ParaView计算可视化应用、宏基因组学应用三个大项的满分或最高分;密码破译应用、神密应用Gromacs以及学术交流和技术展示三个大项也排名靠前,现场答辩项没有再像以前那样出现比较大的丢分。安虹赛前反复告诫队员:“高手过招,细节决定成败!”队员们这次做到了。
本次竞赛,中国科大主要采用了超微(SuperMicro)提供的SuperServer SYS-4028GR-TR服务器,英伟达(NVIDIA)提供的TESLA P100 GPU加速卡,蓝海创意云提供的NVIDIA GTX 1080加速卡,和迈络思(Mellanox)提供的100Gb/s Switch EDR IB交换机,面向今年的竞赛应用和系统性能测试基准程序构建了一套平衡折衷的参赛系统。深圳宝通公司和苏州超集公司为本次参赛提供了训练用系统和设备。并行科技公司提供了自主开发的并行分析和优化软件用于深入地理解系统和应用特性。来自美国能源部联合基因研究所(DOE JGI)和中国科学院国家天文台(NAOC)等单位的科学家,为队员们提供了理解应用问题的背景知识。在所有赞助厂商和科学家们的大力支持下,中国科大本次竞赛成功打破了参赛系统Linpack性能测试的世界记录,创下了31.15TFlops的历史新高,比现有SC-SCC最高记录径直提升了2.5倍。在SC16-SCC组委会提供的一份记录了历次 SCC竞赛LINPACK第一名成绩的分析中可以看到,同样是在3000瓦功率约束下,最高LINPACK性能由2015年的历史最高10TFLOPS,进步到2016年的31TFLPOS,一年多的时间比过去九年的进步还多了2倍多,取得了历史性的突破。针对ParaView应用算例,当大部分参赛队伍不得不牺牲计算精度以求在数小时内完成可视化任务的情况下,中国科大只用20分钟便可获得高分辨率的可视化结果,取得第一名的好成绩。
图6 中国科大打破了参赛系统Linpack性能测试的世界记录
在11月17日的大会颁奖典礼上,SC16组委会最终宣布中国科大获得了SCC竞赛10年历史上的首个双料冠军,中国团队也首次获得戈登贝尔奖。与会专家称,SC16大会上,中国在超级计算系统研制、应用和教育领域赢得了大满贯。
感谢所有为中国科大本次参赛提供设备和技术支持的厂商和研究机构,感谢对中国科大HPC教育提供长期支持的国内同行。
(计算机科学与技术学院)