有一群年轻人正在用超算的力量改变世界
在ASC这一世界规模最大的大学生超算竞赛平台
挑战前沿科学命题
追求机器性能极限,留下各项荣誉记录
石油勘探20万核应用性能扩展
600倍加速SKA天文计算
海洋数值模拟 运行速度提升392倍
CESM全模式运算时间缩短至1.83小时
……
ASC20-21超算大赛总决赛
在位于深圳的南方科技大学举行
28支总决赛队伍集结完毕
ASC20-21超算大赛总决赛一触即发
本届总决赛启用现场竞赛与线上竞赛相结合的全新赛制,21支中国境内高校参赛队伍将参加现场总决赛,7支中国境外高校队伍将通过在线方式参与比拼。
在这一全球超算高手的巅峰竞技场
青年学生们将挑战多领域的尖端科学赛题
在实战中去思考、学习、验证、成长
如何高效备战
听听学长学姐们的总决赛战场真经
“事故和故事持续不断”
ASC19决赛现场充满了挑战与惊喜,你准备的永远不够。短短四天时间,事故和故事持续不断。操作系统在学校的集群里准备得妥妥当当,但是在决赛现场却出现各种疯狂报错;程序跑到一半,才发觉节点设计少了;准备大显身手时,内存已经告急了;得意的优化对当前case收效甚微...这些让人拍大腿的遗憾也是决赛的魅力所在。
——暨南大学ASC19队长 陈晓红
“累成狗,但值得!”
关于总决赛,累成狗是整个比赛的代名词,当然痛并快乐着也是整个比赛最有价值的东西,总决赛的4天时间特别紧张,压力也特别大,这么短的时间你要搭建自己的集群,还要努力完成每一道题目,要压功耗,稍微一个不注意的细节可能就前功尽弃了。ASC18第一次参加总决赛,没啥经验,也跳进了很多坑,当然后来有些坑跳出来了,有些坑没有跳出来,笑哭。
——青海大学ASC18的队长 崔鹏
“为超算爆肝”
为了尽量缩小与其他学校代表队进程的差距,在决赛的几天时间里,队员们挤出了吃饭时间,只为能尽快赶上其他学校的进度。那几天真的很肝,我现在还有那几天剩余的饭票呢。
总结下得到的经验:集群设计搭建一定要想办法创造条件提前做,不然现场根本来不及;一定要系统性的学习并行计算相关知识;多向大家学习!
——山西大学ASC19队长 崔晋瑜
“团队!团队!”
决赛开始前一天集群安装调试,也是出了很多问题,愈是让我感觉到团队赛事中基础支持要稳重。特别是linpack测试,考验的不只是一个人,还需要整个团队的配合。我们细细把控了集群功率,实时监控集群的功耗变化,保持了在比赛中linpack能够压制在3000w功率下而又很接近的状态。在最终的测试过程中,几度达到了2999w,这是无法靠一个人去控制的。团队合作,这是ASC考验的最重要的能力。
——北航ASC19队长 魏一
“是对手,也是朋友”
令我印象最深刻的是ASC18 Final,不仅仅是我第一次参加Final,也是学校第一次入围决赛,现场压力很大,没啥现场经验的我们在现场也碰了许多坑,刚开始因为设备硬件新,自带的系统镜像没驱动,但对面香港浸会大学热情地帮了我们一把,后来浸会大学遇到坑时我们也会提供一些帮助,渐渐地我们两支队伍也相互学习,因此结下了深厚的友谊,这是我意料之外的,这也为紧张的比赛增添几分温暖。比赛现场,高手云集,在现场决赛中也看到自己和其他大佬的差距,也为自己以后努力找准了方向,可以毫不夸张地说,ASC超算竞赛改变了我的人生轨迹。如果当时没选择参加这个比赛,可能我现在已经在某个互联网公司打拼,也或许是茫茫考研大军中的一员,但我最终选择在计算机领域继续深造。
——周恒,华中农业大学2015级
令人肃然起敬的答辩环节
呈现答辩环节,我们看到了一个令人肃然起敬的场面:桌边坐满了 HPC 研究、设计和应用方面的专家。这些专家在专业成就和知识上声名卓著;他们会对一群大学生有什么样的期待?我们鼓起勇气开始演示,讨论我们从过去两天的测试中获得的结果。客观地说,结果并不理想。我们结束演示并离开了房间,祝愿下一个团队会有好运,并且很高兴我们挺过了这一关。
尽管我们团队没有赢得竞赛,但这次经历让我们收获颇丰。我们在真实的竞赛环境中与对手一较高下。我们见识了一群拼博进取的人,从两位渴望通过参加竞赛志愿活动来提升英语水平的向导,到来自各个国家的一些顶尖大学的学生,再到屹立领域前沿的博士研究生和高性能计算专家。尽管我们在这种独特的文化氛围中仅有短暂的停留,但它留给我们的印象是奇妙而永恒的。我们完成了在竞赛前制定的目标,即竭尽所能做到最好,尽管遇到种种情况,但我们仍然实现了目标。竞赛通常意味着敌对和竞争,但我觉得这场竞赛的总体目标是齐心协力寻找能让所有人受益的解决方案。
——美国德州A&M 队员Shaina D. Le
ASC 世界大学生超级计算机竞赛是由中国发起组织,并得到亚洲及欧美相关专家和机构支持,旨在通过大赛平台推动各国及地区间超算青年人才交流和培养,提升超算应用水平和研发能力,发挥超算的科技驱动力,促进科技与产业创新。ASC超算大赛迄今已举行至第9届,吸引超过万名世界各国大学生参赛,是全球最大规模的超算竞赛。ASC20-21由亚洲超算协会、南方科技大学和浪潮集团联合举办。
预祝同学们再创佳绩,享受ASC超算大赛总决赛之旅。
5月8日-12日,2020-2021 ASC世界大学生超级计算机竞赛(ASC20-21)总决赛将在南方科技大学举行。受疫情影响,ISC20、SC20学生超算竞赛均改成线上比赛,ASC20-21将成为全球首个重启现场竞赛的超算大赛。从全球300多支参赛高校队伍中晋级决赛的28强队伍将挑战脉冲星搜索、AI语言模型、量子计算模拟等高难度超算应用赛题,并参加英文答辩,角逐各项大奖。其中,量子计算模拟将考验参赛队伍在经典超算上使用QuEST软件模拟不同的量子线路、利用量子算法解决实际问题的能力,引导青年学生向量子计算这一尖端科学领域发起冲击。这道赛题由鹏城实验室提供支持。
量子计算被普遍认为是未来科技发展最具想象力的课题之一,能够提供远超传统计算机的算力,解决大量的计算难题。尽管量子计算在特定领域的计算上有着很大优势,但是要实现真正的量子计算仍面临非常巨大的挑战。因为量子比特通常是不稳定的,为了维持逻辑量子比特的准确性,需要进行量子纠错。并且随着量子比特数量和量子门数量的增加,量子计算机研发的难度呈指数级增长。
为了研究量子计算,量子模拟成为了重要的方法,也就是使用经典计算机来模拟量子计算,它为人类在真正的量子计算机出现之前研究量子算法提供了一个可靠的平台。QuEST量子计算模拟器是世界上较早开发出来的量子计算模拟程序之一,在量子计算模拟中有着广泛的应用。2020年,一支来自德国的研究小组就利用QuEST成功演示了一个非粒子驱动的辅助粒子通过感应将量子模拟器冷却到低能量状态的过程,提供了实现离子阱量子模拟器的范本,这也证明了量子模拟在量子计算研究中的重要意义。
ASC20-21 大赛的量子计算模拟赛题要求各参赛队伍在超级计算机上使用QuEST软件,模拟多种不同的量子算法来解决实际的应用问题。以此激发大学生对量子计算、量子算法的兴趣,引导他们认识和了解未来计算发展的方向。
这并不是一道简单的赛题,一方面是因为量子模拟的复杂性;另一方面是因为,随着模拟的量子比特的提升,QuEST对于超算资源的需求将呈现指数级增长,因此即使是现今最强大的超级计算机,也仅能模拟 50多个量子比特。参赛队伍需要对QuEST进行优化并充分利用超算资源,尽可能地缩短计算时间,来实现量子线路的快速变换。
对本科生来说,这无疑是一个非常大的挑战。赛题中的量子比特数目,以及由此组成的量子线路具有丰富的信息。因此参赛者必须对量子计算在经典计算机上的实现方式具有深刻的理解,并对QuEST的源代码进行深入分析,确保其提供的优化策略是通用且高效的,才能保证整个赛题可以取得理想成绩。
进入总决赛的28支参赛队伍,将如何在短短的5天里,发挥他们的聪明才智和挑战精神,解开这道超算应用难题,探秘量子世界的神奇?谁又将拔得头筹?答案将在5月8日-12日的ASC20-21总决赛中揭晓,敬请期待!
ASC 世界大学生超级计算机竞赛是由中国发起组织,并得到亚洲及欧美相关专家和机构支持,旨在通过大赛平台推动各国及地区间超算青年人才交流和培养,提升超算应用水平和研发能力,发挥超算的科技驱动力,促进科技与产业创新。ASC超算大赛迄今已举行至第9届,吸引超过万名世界各国大学生参赛,是全球最大规模的超算竞赛。
ASC20-21由亚洲超算协会、南方科技大学和浪潮集团联合举办。ASC20-21现场总决赛将于5月8日-12日在位于中国深圳的南方科技大学举行,21支中国大陆参赛队将设计和搭建超算集群、优化指定应用、参加英文答辩,角逐冠亚军、最高计算性能奖、e Prize计算挑战奖等诸项大奖。同期7支来自中国大陆之外将通过在线比赛的方式参与总决赛比拼。
首先超算是一个领域科学(domain science,我也不知道怎么翻译)和计算机科学结合很紧密的事情,看到题主作为非CS专业想参加ASC,我觉得对于比赛来说是件好事。
说到需要什么方面的知识,我觉得和一个队伍要达到的目标相关。个人认为目标可以分为三档,由易到难。三个目标分别是
- 能顺利在集群上运行比赛要跑的程序。
- 能够理解应用背后的理论知识。
- 能够利用应用的背景知识和计算机的知识去优化应用(主要是代码层面)。
要达到第一个目标,首先需要掌握最基础的 1)搭建集群知识(大致可以等价于Linux运维)和 2)程序编译和运行的知识。搭建集群简单来说就是安装Linux系统,配置好网络(以太网和InfiniBand),然后安装一些必要的软件包(比如CUDA,Intel Parallel Studio)等。这些网上应该有很多资料,对于CUDA和InfiniBand什么的最好读一读安装文档(俗话说得好,read the f*cking menu)。编译和运行主要是指明白怎么用编译器编译、链接,怎么做一些简单的优化,编译出了错误怎么解决,怎么运行MPI或者OpenMP程序等。掌握了这些基础知识,应该最起码可以顺利地跑起来比赛的各个应用并作适当的优化。
要达到第二个目标,主要就是数学知识。大部分参赛应用背后都是线性代数,偏微分方程等等。如果有一些数学基础的话,大致理解应用的原理应该不是太难(量子化学等除外)。知道了这些可以更好的去调试程序运行的参数,达到更好的精度或者更快的速度。
要达到第三个目标,主要是靠积累。代码优化这个东西能做的实在是太多了,每个应用能做的也不一样,没有固定的套路,所以主要是靠平日的积累(在这看点在那看点就积累下来了,也没有一个什么优化大全这样的东西,毕竟涉及的面太广)。单独针对一个应用来说的话,可以读一些应用相关的论文,搜索引擎直接搜可能搜不到什么有用的。
如果说学习的书和资料的话,你可以顺着我讲的去搜一下每个方向有什么好的资料推荐。入门的话简单了解就好,不用一个方向扣的太深。我个人并没什么特别突出的书推荐,我们队也没有什么公认的教材什么的,主要是涉及的东西真得是太散了。。。