“神威”获戈登贝尔奖,中国超算“好快”又“好

来源:    发布日期:2016-12-13 15:49:24   阅读量:0

记者/陈振宇 编辑/李乃麟 

评奖标准有多严格?获奖成果有哪些创新?团队核心成员一一揭秘。

采访专家

杨超 (中科院软件所研究员)

薛巍 (清华大学计算机系副教授)

付昊桓 (国家超级计算机无锡中心副主任、清华大学地球系统科学研究中心副教授)

王兰宁 (北京师范大学全球变化与地球系统科学研究院副院长、教授)

12d700070ead1a61d8a1

2016年11月18日,在美国盐湖城举行的国际超算大会(SC16)上,戈登贝尔奖揭晓。中国超算团队凭借在超级计算机神威·太湖之光上运行的“千万核可扩展大气动力学全隐式模拟”应用成果一举摘得该项锦标。这是中国团队首次夺得该奖项,被誉为中国超算研究的里程碑事件。此次的获奖到底意味着中国超算研究取得了怎样的突破?北京科技报记者采访了该团队的核心成员,让他们来为你揭开谜底。

斩获“戈登贝尔奖”,中国超算应用研究的突破

戈登贝尔奖,是高性能计算机应用领域的最高学术奖项,由美国计算机协会与美国电气电子工程师协会联合颁发。与TOP500重视衡量高性能计算机系统性能相比,该奖项更关注用于解决重要科学问题的高性能计算技术创新。

运算能力和应用能力,是衡量超级计算机性能的两项重要指标。从2011年开始,中国的超级计算机就屡次领跑计算机TOP500排行榜,体现出了我国高性能计算机在运算能力方面的强大实力。此次用于研究的神威·太湖之光计算机,位列今年TOP500排行榜第一名,它由40个运算机柜和8个网络机柜组成,理论性能达到了125.4PFlops,Linpack双精浮点性能为93PFlops,Linpack效率74.16%,大大领先于排名二、三位的计算机。(PFlops:1千万亿次浮点指令/秒。Linpack:矩阵求解,以矩阵为基础的数值计算方法,常用于理科和工科的数值求解和数值模拟。)

而应用能力,则代表将运算能力发挥的程度。“以运动员为例,运算能力好比一个运动员的身体素质,而应用能力好比运动员的运动技巧和经验。运动能够取得好成绩,和两方面都密切相关。”国家超级计算机无锡中心副主任、清华大学地球系统科学研究中心副教授付昊桓说。

清华大学计算机系副教授薛巍告诉记者,计算机运算能力是应用能力的重要基础,但两者并不是决定关系。神威·太湖之光在运算能力上是目前世界最顶级的,这次的应用获奖,也证明了我国完全有能力挑战解决世界顶级的计算问题。

此前,国际上有声音质疑中国超级计算机过于追求运算速度、忽略应用。此次中国团队获奖,标志着中国高性能计算机在应用能力方面也迈入了世界的前列,完成了由“好快”到“好用”的蜕变。

众核系统与隐式算法成功结合

戈登贝尔奖作为超级计算机应用方面的标杆奖项,其评奖标准十分严格。由于我国在超级计算机的研发上起步较晚,虽然已经进行了包括“天宫一号”返回路径的数值模拟在内的各项应用,但之前却未曾获得提名。

中科院软件所研究员杨超认为,一项应用如果要获得戈登贝尔奖,需要具备以下三个要素:1.必须基于世界最顶级的计算机;2.有良好的应用背景,其效果要具有代表意义;3.通过算法的创新,以及与编程、优化相结合做到全机有效应用。

除此之外,应用所用到的技术创新还要对今后的工作起到一定的引领作用。“‘千万核可扩展大气动力学全隐式模拟’符合以上的全部要求,是获奖的重要原因。”杨超说。

那么,“千万核可扩展大气动力学全隐式模拟”和以往的计算机大气动力学模拟相比,有着怎样的创新呢?杨超介绍,首先,它是基于众核系统的应用。其次,它采用了隐式的运算方法。虽然两者都非首创,但是将两者成功结合,取得有效的运算,是此项应用最大的突破所在。

值得一提的是,这项应用所用到的众核处理器,来自于神威·太湖之光所使用的处理器“申威26010”。该处理器完全由我国自主研发,它峰值性能3.168万亿次/秒。而神威·太湖之光里安装有40960个这样的处理器。只有依靠这样强大的运算能力,才能够支持此次“千万核级别”的运用。

再来说说全隐式算法。杨超介绍,目前高性能计算机主要有显式和隐式两种算法,区别在于单元之间是否互相协同,相比起“每个单元独立负责一部分,各自闷头计算”的显式算法,隐式算法更为注重单元之间的协调。“先计算出如何分配、整合资源,然后再进行运算,虽然表面上看耽搁了一些资源,但模拟能力反而更强。”此次用到的全隐式算法就是隐式算法当中比较有代表性的一种。

而今年基于神威·太湖之光的应用,是世界上第一个在众核系统中成功完成的全隐式应用。

精确预报天气不再是梦想

说完了理论突破,再来谈谈具体应用。“千万核可扩展大气动力学全隐式模拟”究竟会在具体的应用上带来什么突破呢?简单地说,它有可能会在未来大大提高天气预测的精确度。

“追求准确的天气预报,是自古以来人类的一种愿望,但直到上世纪50年代数值预报方法诞生之前,人类是没有能力做到的。”北京师范大学全球变化与地球系统科学研究院副院长、教授王兰宁介绍,“随着计算机性能的不断提升,数值预报的精细程度也就是分辨率会不断提高。在没有超算之前,我们观测云层的精度是按照经纬度。有了超算之后,就可以对云层运动进行更精确的模拟与观测。”

王兰宁说,可以想象,随着超级计算机技术的不断发展,人类离“盯住每一朵云”的气象预测,已经越来越近了。■

 

“千万核可扩展大气动力学全隐式模拟”,7700亿个未知数的超级计算

撰文 姚继锋(中科院软件所并行软件与计算科学实验室) 

▲一名研发工程师展示“神威·太湖之光”所使用的“申威26010”众核处理器(6 月16 日摄)。该处理器采用64 位自主神威指令系统,峰值性能3.168 万亿次每秒,核心工作频率1.5GHz。“神威·太湖之光”里安装有40960 个这样的处理器

又是第一次!

11月中旬,在美国盐湖城召开的全球超级计算大会上,由中国科学院软件研究所研究员杨超等人完成的“千万核可扩展大气动力学全隐式模拟”获得了2016年度的高性能计算应用最高奖——“戈登贝尔”奖。

这是近30年来,中国超算应用团队第一次获得这一被誉为“超级计算机应用领域诺贝尔奖”的奖项。

这个奖项有多大的意义,获奖课题到底做出了什么样杰出的成就,它跟我们的生活又有什么样的关系?

从不靠谱的雪说起

最近你的朋友圈有没有被卖萌的中国气象局刷屏?说好的大雪没有如期而至,一句“雪是好雪,风不正经”,这解释绝对是金句啊!

尽管风不正经,但不得不说,绝大部分时候天气预报还是靠谱的。获奖工作跟天气预报有着密切的关系,名称中的“大气动力学”,这可正是气象学家预测天气的法宝之一。要了解获奖工作的意义,我们先得来了解一下各个领域的科学家们是怎么用计算机来进行天气预报的。

气象学家的登场

首先出场的是气象科学家,他们需要发现天气变化的真正奥秘所在,并把这个奥秘清晰地呈现出来。用科学的语言说,那就是气象学家需要分析出天气变化与哪些因素有关,并用一些数学方程描述出这些因素和天气变化的内在关系。

获奖成果中的“大气动力学”方程组就是气象气候中最重要的奥秘之一,它研究的方程看起来很复杂。不同的符号代表了不同的物理量,包括速度、气压、湿度等。不同物理量可以千变万化,但不管怎么变化都必须遵循这个方程所限定的规律。气象学家给出了这样的方程,但计算机可没法去理解这个,这个时候就需要计算数学家出场了。

计算数学家出场

计算数学家的最主要任务是给出求解这个方程的计算方法,也就是算法。首先要做的是离散化。

什么是离散化?就是将一个区域以网格的形式分解成一个个独立的个体,每一个网格内有自己的压力、速度、温度、湿度等数值信息。其中有些点的数值是我们现在知道的,这主要是通过气象站、气象卫星、气象气球等多种途径采集的数据,根据这些已知点的信息,然后通过气象学家给出的大气动力学、大气热力学等方程,就可以计算推演一段时间以后,所有网格点的参数信息。这就是数值天气预报,也就是用计算机算出来的未来天气情况。

计算数学家最主要的工作,就是将上面的方程翻译成小方格/立方体之间的计算关系。进行完这一步,下一个出场的,就该是程序员了。

程序员来了

程序员或者计算机科学家面临的任务,是将算法写成可以在计算机上执行的程序。要知道,在世界上运行速度最快的电脑上写程序,技术含量不是一般的高。

每台超级计算机都由大量的计算核心(计算节点)组成,计算处理问题时,这些计算核心团结协作,一起努力工作,这就是所谓的“并行计算”。计算机科学家需要指挥、协调众多计算核心,让它们齐心协力,不仅要把工作做对,还要做得快、做得好。 这次杨超和他的小伙伴们使用了超过10000000个核来计算一个问题,惊呆了没?

了不起的“千万核可扩展大气动力学全隐式模拟”

首先,从成果名称上,我们就能清晰地看到多领域科学家的协作:

气象学家贡献了大气动力学;

计算数学家负责全隐式模拟算法;

而计算机科学家实现千万众核可扩展计算。

杨超和他的小伙伴们这次完成的是一次气候的数值仿真。注意哦,这里是气候,而不是气象。

通常气候是指某一地区长时期内(30年或更长)的天气状态的综合表现。气候和前面所说的天气预报针对的是同一个问题,只是气候通常研究的区域更大,计算的时间更长。它不是用来对某一天的天气进行预报,而是对整个地区乃至全球未来的地理、气象等因素进行推演预测。

如果能将气候模拟和气象模拟对接起来,就能大幅提升彼此预测的准确度,为国计民生乃至全人类的发展有着重大的意义。获奖成果的现实或科学意义正体现于此,它在打通气象和气候模拟之路上迈出了标志性的一步。

获奖成果计算的区域是北纬18度至北纬72度之间,在地球仪上沿着两条线各画一个圆,计算的就是这两个圆之间的带状区域,差不多占了整个地球表面积的1/3。然后,记得是三维问题哦,从地面往上30公里都在研究范围内,所以,最后实际计算机需要处理的网格区域大小为40000公里×6000公里×30公里。

在算法层面,他们提出了一个新的全隐式计算方法。和已有的其他算法相比,这个算法最大的优势在于其高效性,使得更精细的网格成为可能。

事实上,他们测试的最小网格已经到了488米,这比现在北京天气预报的网格还要小!488米意味着什么?简单说,就是在40000公里×6000公里×30公里区域上,网格大小是488米,总共是1000多亿个网格,每个网格有6个未知数,最终的未知数个数约7700亿!

这下,大家能更好地理解这次获奖成果的意义了吧,那就是在前所未有的超级计算机上用出色的算法和高效的程序进行了一次气候问题前所未有的复杂的计算!

但是,即便是这么厉害的算法,这么快的计算机,要实际解决超高分辨率模拟的问题还得计算很长时间。我们在为杨超和他的小伙伴们欢呼的同时,也期待着更多的气象气候、计算数学和计算机科学家早日攻克这一难题。

到那个时候,我们就可以彻底告别那些不靠谱的雪和不正经的风了!■(来源: 来点科学微信公众号)