
决赛题目,大家都有点懵圈
9月11-12日,在第四届“神威杯”国产CPU并行应用挑战赛上,我校计科院本科生团队(马聪、张鸿宇、蒋讯、涂然,指导教师彭博、张全)一举夺得唯一的金奖。计科院超算与并行计算团队成立于2019年7月,由本科生组成,专攻以超算为平台的高性能计算。当年参赛即进入决赛,并获得并行基金奖。
今年物联网工程2018级马聪担任队长,计科院再次组队,出征CPC2020。
2017年,CPC由中国计算机学会发起、国家超级计算无锡中心等单位承办,旨在激励高校、科研机构的计科学子积极参与国产CPU应用的开发与创新。
决赛题目是基于非结构网格的通用计算加速算法,让大家有点懵圈。非结构网络,流体力学中的概念。团队恶补了许多流体力学资料,希望找到突破口,但完全不得要领。
马聪召集大家进行“头脑风暴”。通过相互的思维碰撞,大家认识到,计算机科学以数学为工具,进行人机交互时专注于计算的形式,它完全可以剥离工程应用的内容。
从工程应用的具象思维跳脱出来后,团队重新审题。何为“通用计算算法”?就是编写一套算法,必须适用于赛题给定的三种情形,点和边构成的几何图形。用尽可能多的算例去验证,在决赛现场要接受不少于五套算例的测试。同时,对算法进行优化,以求耗时尽可能短。
开题都这么费劲,解题就更加不知深浅了。这就像一次户外穿越之旅,开题只是确定了起点、终点,而中间地带险象环生,如何找到一条可抵达并耗时最短的路,就靠理性大冒险:代码编写。
团队分工,往不同方向打探。其他队员折返回来了,马聪的方案被认为最可行。于是,马聪单兵突进。
因为算法必须适用于赛题给定的由点和边构成的三种计算模型,在编写算法时,首先就要评估并选定并行策略,按点划分还是按边划分?这好比户外越野遇到的第一个分歧路口。马聪说,很幸运,他的选择被证明总体更优。
在调试代码时,经常莫名其妙的出错,脑袋凝滞到冻起。为此,马聪去网吧整整“休息”了一天。恍然大悟后,改变了一下数据的存储方式,就团灭了这些问题。
组委会规定,计算误差限为10的负14次方。马聪绞尽脑汁,误差都只能控制在10的负13次方。团队向组委会反映,原来所有参赛队都遇到此问题。为此组委会调整了评分细则。
就这样,经由40天冲刺,马聪团队以算法全部通过测试算例并耗时最短的最优成绩,力压群雄,捧走了“神威杯”。
计科院超算与并行计算团队成立 不足两年,CPC两次获奖,在该领域初露锋芒,显现了我校计科学子的学科实力。
指导教师彭博、张全说,CPC的结果有一定的偶然性,但单凭运气获奖是不可能的。
马聪有较强的编程能力,在报名CPC前,就系统研读了“神威·太湖之光”的技术文档。
与名校队伍同场竞技,是需要勇气的,尤其今年在疫情之下,参赛要克服特殊的困难。在指导老师的帮助下,4名参赛同学提前返校,为参赛创造了基础条件。
在面对决赛题的迷惑期,团队没有一个人轻言放弃。在编写算法的冲刺期,马聪同学说,整个人一直处于兴奋状态,终于在赴无锡前完成了算法的编写、优化和测试。
计科院在教学改革中鼓励和扶持同学们发展学科爱好。明理楼C有整整两层楼都是学生科技团队的团部兼实验室,每个团队都有指导教师。
未来,除了考研,团队决定参加明年的世界大学生超算竞赛(ASC),这次张鸿宇自荐当队长。(刘仲铭)