
受访者供图
凌晨1点46分,钟发海终于将所有的参赛作品提交到2018ASC世界大学生超级计算机竞赛组委会邮箱。几个小时前,他和团队成员还在编写脚本,处理最后一遍审核作品时发现的格式错误。
ASC世界大学生超级计算机竞赛(简称“ASC超算竞赛”)由中国发起组织,由亚洲超算协会和中国浪潮公司联合主办,是世界上最大规模的超算竞赛,与美国SC、德国ISC并称为国际三大超算赛事。2018年初,我校物理工程学院的罗荣辉副教授和河南省超级计算机中心的尚远博士,从有计算机相关比赛经验的同学中挑选出6名本科生,组成了郑州大学代表队:物理工程学院2016级的钟发海、2015级的马天翔,力学与工程科学学院2015级的孔文雁,临床医学系2013级的郭佶睿,以及国际学院2015级的耿金贵、2016级的刘旭。2018年5月,他们代表学校参加了2018ASC世界大学生超级计算机竞赛,与来自全球高校的300多支队伍进行了角逐,最终获得二等奖的好成绩。
此次ASC超算竞赛的题目为复合型,要求参赛队伍在3000瓦功耗约束下自行搭建超算系统,运行和优化国际通行基准测试HPL系统和基准测试HPCG系统、2017年诺贝尔化学奖冷冻电镜技术的核心应用RELION系统以及微软人工智能阅读理解系统。团队成员在此之前从未受过专业的系统训练,对计算机底层原理的认知不够深入,所以在提升运算速度方面存在很大困难。计算机底层原理的运用为何如此重要?钟发海举例说:“比如计算π的值,用普通计算机编程知识编写程序,可能需要十几秒才能算出结果,但是运用计算机底层原理知识,例如循环展开、寄存器等,可以让硬件的性能得以最大限度的发挥,运算速度能够提高十几倍。”
为了寻找解题思路,团队成员在现有知识和经验的基础上,查阅了百余篇英文文献。遇到自己不懂的计算机底层原理专有名词,他们就一个一个地查字典,力求准确掌握、理解透彻。在解决RELION题目时,马天翔发现了自己在基础知识上的欠缺,于是他从零开始学习大部分计算机专业学生都没有接触过的Linux操作系统。
在团队里,郭佶睿主要负责硬件构建,包括CPU、显卡等硬件的选择和组建以及系统装配,孔文雁负责基准测试,钟发海和马天翔负责2017年诺贝尔化学奖冷冻电镜技术的核心应用RELION的题目,耿金贵和刘旭负责人工智能阅读理解的题目。由于团队成员来自不同的校区和院(系),工作内容又各有分工,所以他们大部分时间选择在线上进行交流讨论,讨论出新的思路或方案后又埋头于各自的工作。
郭佶睿虽然是临床医学系的学生,但是他对无线电技术十分感兴趣。他是信息工程学院无线电协会的一员,多次参加有关无线电通讯类的比赛,对计算机硬件及网络有比较深入的了解。但是参加此次比赛,他却面临着一个巨大的难题———缺少构建超算平台所需的硬件。“巧妇难为无米之炊”,这让有过ASC大赛经验的郭佶睿相当头疼。硬件的缺失几乎让整个团队寸步难行,没有硬件就无法搭建超算平台,也就无法进行项目测试。
面对困难,团队成员并没有气馁,想尽各种办法来克服困难、创造条件。孔文雁在亚马逊等平台上租用超算服务器对自己的项目构思进行测试。“由于是通用的服务器,所以很不稳定,需要长时间盯着,非常耗费精力,速度也很慢。”孔文雁说。耿金贵和刘旭也同样受到硬件缺失的影响,他们选择了更加直接的方法:“我们去网吧通宵,选择了几台显卡配置为GTX1080Ti的电脑,临时搭建了一个超算平台,尽可能地提高人工智能回答问题的准确度。”
为了合理调配手中的资源,队员们根据各项任务的紧迫程度制定了一个时间表,以保证在同一时间段内,超算平台只“跑”一组数据,从而提高整体效率。钟发海说:“这就好比是一个水管,如果接5个水龙头,虽然每个都能出水,但出水量都很小,如果只接一个水龙头,出水量却要大得多。”为了节约运算资源,他们减少了运算数据量,通过小容量的测试来对自己的想法进行原理性验证。“没有运算资源的时候,我们就查阅资料,分析一下现有成果,再做一些设想,一旦手头有可用的计算资源,就马上验证我们的设想。”郭佶睿说。
所谓人工智能机器阅读理解,就是需要参与者自行设计神经网络模型,让人工智能机器来回答大赛指定的问题。为了尽可能地提高准确率,刘旭和耿金贵不断调整参数,改变内部网络,从而使准确度评分大幅度提升,达到31.74分。
运行RELION系统,就是执行2D、3D分类以及最终3D重建的图像分析。在这一挑战中,队员们需要合理配置运算资源以减少运算时间。最初,2D、3D分类任务需要运行9千余秒,3D重建任务需要运行8万余秒,相当于一天左右的时间。为了提高运算效率,队员们对编译器、MPI软件、GPU等软件进行了协同优化,设计出合理的程序方案。不同的程序方案有不同的优化方向,具体到某一个任务上,测试一次需要百余种优化。为了减少计算占用的资源,钟发海和马天翔不得不对优化方向进行排列组合,不断尝试,寻求协同优化。在尝试了十几种优化方案后,2D、3D分类任务运行时间缩短至3千余秒,3D重建任务运行时间缩短至4千余秒,运算效率分别比原来提高了3倍和20倍。
在备战比赛的过程中,团队成员一直将“Thereisnoshortpathtosuccess”当作座右铭———“成功之路无捷径”。在这场竞争激烈的拉锯战中,面对基础差、题目难、硬件匮乏等重重困难,他们脚踏实地,迎难而上,勇于拼搏,不懈努力,满怀着对科创的热情和昂扬的斗志,在超算之路上谱写出属于自己的青春之歌。