关于ASC
ASC,即世界大学生超级计算机竞赛,肇始于2012年,是世界最大规模的超算竞赛,与德国ISC、美国SC并称世界三大超算竞赛。其每年的选题多与前沿科技相关,需要选手有较好的计算机功底以及广阔的知识面。
受到疫情的影响,原定于2020年的比赛推迟到2021年举办。因此,赛题也由原来的三道扩充为五道,分别为HPC系统的设置、HPL与HPCG的测试、AI语言测试、量子计算与脉冲星搜索。
其中,AI语言模型赛题要求参赛队伍基于组委会统一提供的英语完形填空考试数据集,自行训练能够理解人类语言的人工智能模型,在英语考试中取得尽可能高的“分数”。
而量子计算模拟赛题则要求各参赛队伍在经典超算上使用QuEST软件,模拟使用30个量子比特组成的量子随机线路和量子快速傅里叶变换量子线路。
最后,脉冲星搜索赛题要求参赛队伍基于“中国天眼”500米口径射电望远镜FAST的实际观测数据,运用开源软件PRESTO搜寻脉冲星候选体。
参赛流程
参赛的选手们将先在校内进行初试,完成HPL和HPCG的跑分测试与调优工作。在完成这些赛题内容后,以一篇论文的形式向组委会提交。组委会之后会根据论文完成情况选拔同学进入初赛。进入初赛后,选手需要就五个赛题进行讨论,对后面四道题目的相关代码进行一定程度的优化,并将思路与成果写在论文报告中,最终提交代码与报告。
赛前准备
校赛由吴健雄学院与生命科学学院的李健老师、计算机学院的张竞慧老师联合组织,并且学校为参赛的同学们举办了关于Linux操作系统等的讲座。
在Linux操作系统介绍讲座上,学院邀请了迟飞工程师与同学们分享经验。Linux作为超算大赛的基本操作系统,熟练的掌握Linux至关重要。迟飞老师从Linux下程序的编译与优化入手,细致的介绍了各类编译器,编译流程以及文件规范等,并举了多个情况下的例子,让同学们对Linux的操作系统有了更加深入的了解。
Linux系统介绍与计算机集群测试方法的讲座
在介绍完Linux系统后,迟飞工程师讲解了如何测试HPL与HPCG。在向同学们提供测试的脚本与代码后,迟飞工程师为进行实际操作的同学们进行答疑与指导。
关于HPL/HPCG测试的讲座
校赛过后,考虑到初赛内容涉及多个领域的知识,学院组织了多场培训讲座,包括脉冲星、AI语言模型等,以帮助参加比赛的同学们更好的了解比赛内容。
其中,在搜索脉冲星的讲座中,我们邀请了紫金山天文台的龚宏宇博士,来讲解脉冲星与PRESTO软件。首先,龚博士介绍了脉冲星的定义、观测特征以及未来列阵望远镜的发展趋势以及获得的观测数据与数据的标准格式。而在对于PRESTO的介绍中,龚博士耐心讲解了软件的使用方法,并推荐了相关的博客以及网站。同时,龚博士也进行了现场演示,讲解了加强信号,减少干扰,设定参数,销色散,节省运算时间的方法。
关于脉冲星的讲座
对于机器学习与自然语言处理的问题,分为了两部分:
第一部分,由柏超宇同学介绍机器阅读理解的难点与重点,并强调最难的部分在于自由问答。接着,他介绍了基本的五个步骤,从转换自然语言开始,一步步深入的讲解机器学习的重点。
第二部分则由李剑歌学长讲解关于分布式机器学习,他详细的介绍了题目的背景:对于模型的需求增大,对时间效率的要求,对神经网络的使用过程以及机器学习中的数据并行模式、模型并行模式与综合两种模式的分布式机器学习。最后,李剑歌学长为同学们提供了学习的资料与网站,以助于同学们更好的发挥。
AI语言模型相关培训
竞赛结果
东南大学两支队伍共十人参加初赛,一队李浩瑞、黄一凡、高成睿、王朝洋、王江涛五位同学闯入决赛,并锁定国际一等奖;宁宸辉、沈书洋、王嘉麟、杨哲睿、丁帆五位同学组成的二队获得二等奖。
采访环节
我们也对来自吴健雄学院的李浩瑞与杨哲睿二位同学进行了采访,并邀请他们分享他们在竞赛中的经验:
01
自我介绍
李浩瑞:
大家好我是李浩瑞,来自吴院18级,今年很幸运地拿到了ASC的决赛的入场券,也很高兴能和学弟学妹们来答疑解惑。
杨哲睿:
大家好,我是来自615193班的杨哲睿。在这次的ASC竞赛中担任东南大学二队的队长。
02
关于ASC竞赛
Q
与往年的ASC竞赛相比,今年的ASC竞赛有哪些变化,对参赛产生了哪些影响?
杨哲睿:
题目量从两题变成了三题,而且给我们完成赛题的时间较之于往年减少了很多。在题型上,大体上区别不大,都是瞄准了当下较为热门的方向,例如AI深度学习、量子计算,也有像脉冲星发现这样的传统的超算题目
03
为什么参加ASC竞赛
Q
是什么吸引了你来参加ASC呢?
李浩瑞:
一方面是因为我个人对超算这个领域很感兴趣。因为我的专业方向是人工智能,很多程序是没有可能在本地的小笔记本上运行的,大都要放到导师给的服务器上运行,而一个性能优秀的服务器往往会给你上百倍甚至上千倍的速度提升,正是这种迷人的加速的能力让我个人对超算领域一直很敬仰,希望在比赛的过程中学到更多东西;另一方面也是因为ASC本身是一个规格很高的比赛,可以和许多全球知名的顶尖高校一决高下,相信会是人生中一段不可多得的经历。
杨哲睿:
我参加ASC的原因,主要是对于计算机以及算法相关比较感兴趣,ASC比赛实际上是将计算机软硬件结合的较多的一个比赛,我们需要利用自己在课上课外学习到的知识然后进行代码优化。我之前对这方面了解过一些,也比较有兴趣,所以参加了ASC的比赛。
一队同学
04
竞赛过程中的感悟
Q
在活动中有哪些难忘的瞬间吗?
李浩瑞:
难忘的瞬间很多,比如没有及时做备份导致队友一下午白忙,比如搞坏了系统配置文件差点让服务器变成砖头,比如在金智楼连着看了几天东大的凌晨等等。但如果要选一个最难忘的,应该还是看到自己的程序在经过调优之后从原本的几百秒运行时间缩短到几十秒吧,程序调优的过程是筚路蓝缕,但最后获得的成就感是非常棒的。
杨哲睿:
难忘的经历主要是大家都比较能肝、而且都是互相帮助。我记得我们第一天晚上开会讨论的时候,那天是跨年夜嘛,大家都能聚在一起讨论完成竞赛的方案,相互解答问题,最终顺利完成了比赛。
Q
在这次的ASC竞赛中有哪些遗憾和收获呢?
李浩瑞:
遗憾的地方当然是我个人负责的赛题量子计算,直到报告提交上去了我也只能以一个外行程序员的视角来看组委会的代码,不能深入理解其中的原理做出深层次调优让我感到很遗憾。
杨哲睿:
有的,(遗憾之处)我们因为时间不太够了,HPL和HPCG这一题分配的时间和精力就不太足了,这一个题目没有完成得很好。与此同时,在最后的论文书写阶段,由于时间紧促,也没有将我们优化的结果以一个非常好的形式呈现给评委,这也让我们最后失去了线下赛的资格。
收获的话,主要就是两方面吧。一个就是让我知道如何去操作一个超算系统,去在上面完成我需要的计算任务,与此同时也让我把计算机基础知识在现实中进行实践和操练。另一方面,在这次的比赛中,提升了一些团队协作能力,让我也能在之后更好的和同学合作完成SRTP项目等等。(实际收获:悄悄说,Latex真的很重要,Word真的太难用了。)
05
竞赛准备
Q
在比赛之前,为参加比赛做了哪些准备?
1. 学习Linux操作系统的基本使用、命令行操作电脑的方法
2. 学习编译、链接、执行的基本操作。
3. 学好C++。
Q
认为自己队伍最突出的优势是什么呀?
李浩瑞:
因为没看过今年其他队的报告,所以其实这个问题不好回答,相比往年东大队伍来说,我们队的撰写报告水平提升了不少,主要原因可能是今年使用了LaTeX排版,但技术相关的东西我不好做结论。
Q
你认为比赛中最重要的能力是什么呢?
李浩瑞:
最重要的能力应该就是并行计算的知识了,因为分值大的赛题都并非是要求你从零开始编写程序,而是把原本的程序通过并行计算的方式提高计算的效率。其次是对服务器的领域知识,学校超算集群提供的节点是不开放最高权限的,因此我们队同时使用了腾讯云服务器和学校提供的计算节点,如果相关知识—比如Linux系统指令—匮乏的话,是难以应对比赛时各种复杂的情况的。
二队同学
06
寄语
Q
有没有对学弟学妹的祝福?或者为ASC打个广告吧!
李浩瑞:
真的不难,快来玩吧。竞争压力比数模小多了,竞赛的档次很高,而且学到的东西真的很有用。
杨哲睿:
首先希望东大一队能够在最终的ASC决赛的舞台上取得佳绩。希望对计算机算法和代码调优感兴趣的同学能够多多了解这一方面,在明年的ASC比赛中进入校队,最终进入ASC的线下决赛,代表东南大学,得到ASC的冠军。【再多说几句,如果要参加这个比赛,真的要提前学很多东西,从Linux命令行开始,到c++的编译、cmake的使用,或者是Python的熟练掌握,再到计算机组成原理、操作系统等底层的概念,从中分析程序的调优空间,或是CUDA、MKL等等的使用……如果你对超算感兴趣、对代码调优、并行计算感兴趣,可以从这个路线入手,来准备明年的比赛。】
特别鸣谢以下老师和同学提供的技术和设备支持:
李健老师 生命科学学院
张竞慧老师 计算机学院
沈琳老师 大数据计算中心
东方老师
况迎辉老师 吴健雄学院
李媛老师 吴健雄学院
迟飞工程师
龚宏宇博士 紫金山天文台
李剑歌同学
柏超宇同学
文字 | 罗志宇
采访 | 张嘉龙
美编 | 余沁芸
审核 | 任健杰
责编 | 王 璐