顾蓓蓓
1. 中国科学院计算机网络信息中心,北京 100190
2. 中国科学院大学,北京 100049
高性能计算是战略性、前沿性的高技术,是解决国家经济建设、社会建设、科学进步、国家安全方面一系列重大挑战性问题的重要手段,是国家创新体系的重要组成部分,是发达国家争夺的战略制高点。
从 1964年被公认为第一台超级计算机 CDC 6600[1]的诞生,到如今世界排名首位的理论峰值达200,794.9 TFlop/s 的超级计算机 Summit,半个多世纪以来超级计算机的计算能力已经有了 11 个数量级的提升。超级计算机系统作为各国科技竞争力和综合国力的重要标志,也是世界高技术领域的战略制高点,而如何使超级计算机系统设备真正发挥效用、为各领域提供高效计算服务则主要由高性能计算的应用发展水平决定,它同时也象征着各个国家高性能计算的软实力。
如今,越来越多的应用领域使用高性能计算来解决科研和生产中的实际问题,高性能计算应用的发展不但促进了科技创新,还同时进一步驱动了社会的发展与进步,高性能计算应用水平已成为衡量和驱动一个国家、地区综合竞争力与创新能力的重要指标之一[2]。
本文第 1 章对国内外高性能计算应用的发展态势进行了总体分析。第 2 章主要对高性能计算应用如何驱动发展战略提出了一些对策分析与发展建议。
最后在以上两个章节的基础上,对我国高性能计算应用环境的生态发展做了总结与展望。
长期以来,越来越多的科技发达国家投入巨资推动高性能计算发展的原因不仅在于其战略地位,还在于其应用实效。为了更加深入了解和掌握国内外高性能计算应用发展的态势,找出制约我国高性能计算应用驱动发展的短板问题,为该领域的生态发展提出有针对性的决策建议提供理论支撑和依据,本章主要阐述和分析了国内外高性能计算应用的发展态势。
1.1.1 国际
本小节主要对美国、欧盟、日本等一些发达国家的高性能计算应用情况进行详细阐述和对比分析。
(1)美国
20 世纪初,美国出台了高性能计算与通信计划 (High Performance Computing and Communications Program,HPCC)。该计划耗资百亿美元,是在面对日本于 20 世纪 90年代高性能计算领域后来居上的挑战、在国家信息基础设施发展需要技术变革的背景下提出的,它也是为美国实施信息高速公路而实行的计划,同时成为当时应用需求推动计算机革命发展的代表性事件。
据 1992年美国财年报告数据显示,软件研发和应用研究投入经费高达 2.38 亿美元,表明美国政府对发展高性能计算应用具有较高的重视程度。
此后,美国在面向高性能计算应用领域的发展方面继续给予了长期和巨大的国家投入,并辅以商业化、开源等方式,在高性能计算应用的若干领域研发了用户众多,且影响力非常广泛的应用软件,有力支持了科学研究与工业生产。例如,大气领域的 WRF、流体力学的 Fluent、LS-Dyna、开发工具 MATLAB 和诸多基础数学库等。其中,尤以高性能计算应用软件 Gaussian 为典型代表,该款软件至今已为广大计算化学领域的用户持续提供计算服务达 49 年之久。
图1 1992年高性能计算与通信计划预算提案的经费分配统计Fig.1 1992 HPC budget proposal allocation statistics
近年来,在美国国家战略计算计划全面而大力度的投入下,一大批领先的高性能计算应用相继问世。例如,2015年12月,美国圣母大学应用高性能计算研究水力学问题。在 2000 核的集群上,一个典型的飓风灾难模拟 20 天耗时 4 小时,这基本上能够实现预报的功能。又如,2016年1月,伯克利实验室推出新的电网现代化项目,用于发展未来电力管制和针对加利福尼亚大规模部署的分布式能源资源优化配置和优化工具。
除此之外,美国也在持续加大产业化资助力度与范围,通过高性能计算应用的研究与合作推动国家社会与经济的进步。2018年,美国能源部宣布为 7 个项目提供 187 万美元的资助,旨在通过高性能计算促进美国的制造创新,这属于能源部“面向制造的高性能计算”(HPC4Mfg)项目的一部分,有望促进能源部国家实验室和美国制造业更好的合作 (如表1 所示)。
当前,美国已形成以能源部 (Department of Energy,DOE)、国防部 (Department of Defense,DOD)和美国国家科学基金会 (National Science Foundation,NSF)为主要支撑,以国家实验室、知名高性能计算中心为实体的高性能计算软环境长效发展体系,使得美国无论是从硬件系统还是软环境建设方面都始终保持了高性能计算发展的世界领先水平。
(2)日本
日本高性能计算的发展按照 5年计划的模式由政府推进,这个时间跨度与中国相似。日本的高性能计算机系统研制与应用实际需求与发展方向紧密相连,且以实际大规模计算为目的而开发,具有典型的应用驱动发展的时代特征 (如表2 所示)。
(3)欧盟
继欧盟第 7 个框架计划于 2013年截止,以欧洲高级计算合作伙伴计划项目 (Partnership for Advanced Computing in Europe,PRACE)为代表的欧洲超算联盟又启动了 2020 地平线计划。PRACE 旨在通过同行评审来提供世界级的计算和数据管理的资源和服务。它也致力于加强欧洲高性能计算在工业界的应用。该联盟成员超过 20 个国家,其中,西班牙、意大利、德国和法国比较活跃。2020 地平线计划是最大的欧盟研究与创新项目,有近 800 亿欧元的可用资金在 7年(2014-2020)内投入到高性能计算及其相关产业。
PRACE 提出了欧盟 E 级软件组计划 European Exascale Software Initiative (EESI)。这个计划的使命是通过行业内专家的正确指导,帮助欧洲开发的新一代计算系统,实现高效的 E 级应用。作为该计划 8 个工作之一,应用组的工作目标是扩展,改进和生成高性能应用的发展路线图。具体内容是:探讨关键应用的突破,量化它们的社会、环境和经济影响,分析现状和 E 级目标之间的差距;评价科学和工业界的研发活动,特别是多尺度多物理量框架应用的二次设计和开发;建立欧洲级的科学社区的结构;通过连续使用网络整合制图更新。他们主要支持的应用领域包括工业工程应用、气象、天气、地球、生命与健康科学等。
表1 美国能源部国家实验室与美国制造业促进创新应用合作项目Table1 The U.S. department of energy national laboratories and the U.S. manufacturing industry promote innovative applications
近些年来,欧盟持续加大对高性能计算应用的投入力度。据欧盟官网 2019年最新报道,欧盟将新建 10 家面向高性能计算 (HPC)的卓越中心 (CoE),以促进即将出现的百亿亿次计算和极限性能计算的使用,并扩展现有的并行代码使其适应百亿亿次性能。此外,欧盟还将投资 8.4 亿欧元,在保加利亚、捷克、芬兰、意大利、卢森堡、葡萄牙、斯洛文尼亚和西班牙建设 8 家超算中心,以支持个性化医疗、药物与材料设计、生物工程、天气预测、气候变化等领域的重大应用的开发。在近期的 2020 地平线计划中,欧洲计划投入近 8 亿欧元的资金用于 119 个与高性能计算应用相关的研究项目 (部分项目统计数据如表3 所示)。
1.1.2 国内
当前,由于知名高性能计算软件均来自美国、欧洲等国际先进科研机构,直接导致我国部分高性能计算的重大应用水平处于跟随美国等发达国家的状态,领域软件的评价体系均以国外为主导,打破发达国家在常用计算软件的垄断地位具有一定难度。根据国内超算 TOP100 发布的近三年数据显示,大数据与机器学习所占份额最高,其次是科学计算与工程计算,随后是信息服务 (如图2 所示)。其中,科学计算与工程计算的应用领域主要分布在和模拟、复杂电磁环境、飞行棋设计与优化、复杂工程与重大装置优化设计、全球气候变化与天气预报、地球环境与资源勘探、生命科学、材料科学等方向。
表2 日本高性能计算机系统及应用领域发展历程Table2 Development of high performance computer systems and applications in Japan
表3 2020 地平线计划中部分有关高性能计算应用项目统计数据Table3 Part of the 2020 horizon project statistics on HPC applications
为打破我国高性能计算应用偏弱的局面,“十二·五”期间,国家“863 计划”、“高性能计算机研制和应用服务环境”重大项目各应用领域部署了一系列高性能计算应用课题,如高性能计算应用支撑软件框架体系研制、新药研发与蛋白质折叠数值模拟软件系统及应用、真实飞机外形全流场和优化设计数值模拟等,期望通过项目的实施提高我国高性能计算软件的应用水平,从技术上推动我国相关领域的科技实力。
自 2016年开始,科技部按照“十三·五”的规划要求,启动“高性能计算”重点专项 2016年度项目。本专项围绕E级高性能计算机系统研制、高性能计算应用软件研发、高性能计算环境研发等三个创新链 (技术方向)部署 20 个重点研究任务,专项实施周期为 2016-2020年。主要研究内容为E级计算机总体技术及评测技术与系统,高性能应用软件研发与推广应用机制,重大行业高性能数值装置和应用软件,E 级高性能应用软件编程框架及应用示范,国家高性能计算环境服务化机制与支撑体系,基于国家高性能计算环境的服务系统等重大共性关键技术与应用示范研究,以及新型高性能互联网络、适应于百亿亿次级计算的可计算物理建模与新型计算方法等基础前沿研究。这些国家重点研究项目计划充分体现了国家正在逐步加大高性能计算应用研究的支持力度,也充分意识到对于应用驱动发展的战略意义。
图2 中国超算 TOP 100 应用领域占比分析(2016年-2018年)Fig.2 Analysis of the proportion of China’s TOP 100 supercomputing applications (2016-2018)
从历年获得“戈登·贝尔”奖的应用领域相关统计数据分析可以看出,美国在高性能计算模型及算法方面一直处于领先地位,中国在这一奖项上早些年虽有落后,但近年来呈现赶超态势。2016年,我国凭借在“神威·太湖之光”上运行的“全球大气非静力云分辨模拟”应用获得该奖项,实现了我国高性能计算应用成果在该奖项上零的突破。该研究设计开发了一种新的用于大气动力模拟的高可扩展全隐式求解算法和软件,世界上首次在大规模异构众核系统 (神威·太湖之光)上实现了千万核可扩展的高效并行求解,第一次在有效时间尺度完成了网格分辨率小于 500 米的大气模拟。次年11月,基于我国超级计算机“神威·太湖之光”的应用“非线性地震模拟”再次揽获该奖。但是,从历年的获奖国家分布可以看出 (如图3 所示),美国和日本仍然占据该奖项的重要地位,并且美国在加强硬件系统研制的同时,继续加大对高性能计算应用的支持力度,加上美国、日本等发达国家对于高性能计算软件与算法有着较为成熟和完整的更新迭代体系,因此较国内的发展仍然占据重要的优势。
图3 1988-2018年获得“戈登·贝尔”奖国家分布占比情况Fig.3 Distribution proportion of countries that won the Gordon bell prize from 1988 to 2018
通过对 30年间获得“戈登·贝尔”奖计算模型的统计数据进行分析我们可以发现,获奖最多的计算模型依次为偏微分方程、N 体问题、量子分子动力学和分子动力学、量子蒙特卡罗、量子色动力学、多物理、流体动力学模拟、地幔流体模型、全隐式计算方法、非线性地震模拟、天气模拟和混合精度遗传算法等。
随着高性能计算的发展,其应用的领域也变得越来越广,获奖模型变得越来越多样化。从最初的几乎完全集中在偏微分方程和 N 体问题到后来随着超级计算系统计算能力和水平的提高也出现了多种多样的模型,这表明高性能计算的进步支持了更多应用的发展,反过来,应用方面对高性能计算的需求也倒逼了高性能计算的飞速发展。
回顾过去 30年间全球超级计算五百强 TOP 500 榜单中应用领域的发展态 势,信息进程服务、数据库、机械动力学、化学、地理、天气变化与气候研究等呈现逐年缩减的趋势;安全防御、能源、航空航天、基础科学研究等领域应用数量虽有增加,但整体比例呈现缩减趋势;榜单上越来越多未给出具体领域的应用占据重要份额,此项数据统计显示当前国际上大多数高性能计算应用的研究已趋于多元化,并呈现出学科交叉的特色 (如图4 所示)。
(1)面向世界科技前沿,强调先进模型与算法的创新核心技术融合发展。
高性能计算应用的关键在于先进的模型与算法,同时操作系统、编译系统、并行程序开发环境、科学计算可视化系统等也成为超级计算机软件应用环境的重要组成部分。据了解,美国能源部 (Department of Energy,DOE)虽然拥有世界上最先进的计算平台系统,但实际花费在硬件上的投资不到总投资的 1/6,大部分预算都花在了物理建模、算法研究和软件研制方面。
我们所处的信息社会、智能社会的支撑之本是计算,最初计算机的诞生就是面向科学计算的。当前,人工智能计算、云计算、边缘计算、物联网、雾计算、认知计算等各种新技术层出不穷,发展态势迅猛,尤其是高性能计算与人工智能的融合已经成为一种趋势。如何创新地使用这些新的技术来挖掘高性能计算新的应用领域,在解决重大科学问题上持续发力,在世界科技前沿的核心算法与模型研究领域融合发展,成为高性能计算应用驱动发展中值得深入思考的一点内容。
此外,未来 HPC 的使用模式也可能更改。科学家不仅可以从台式机或笔记本电脑访问 HPC 资源,还可以从平板电脑、智能手机甚至传感器设备访问 HPC 资源。我们今天看到的 HPCE 大多在网络空间内。我们可能会看到将 HPC 环境扩展到物质世界的趋势。事实上,目前已经存在环境科学应用,比如将传感器设备与 HPCE 一起使用,收集和分析鸟类迁徙模式的数据等。这是一个基本的人机物三元计算场景:传感器和无线通信技术将 HPCE 基础设施扩展到物质世界,后端超级计算机执行数据分析,科研人员协调并指导现场研究和后端计算任务。
图4 1998-2018年TOP 500 应用领域超级计算机表现分布Fig.4 Distribution of supercomputer performance in TOP500 application fields from 1998 to 2018
到 2035年,我们能否拥有一个无缝的人机物三元计算环境?在这样的无缝环境中,科研人员、网络空间和物质世界都成为新的 HPCE 中的资源和研究目标。我们可以预测,到 2035年,某种无缝智能将用于科学研究。这种无缝的创新核心技术高度融合的环境不仅有利于高端科学研究,也有利于高中和大学的学生进行普通的科学和工程实验[9]。
(2)面向经济主战场,加速促进国产自主可控的应用软件产业化。
高性能计算产生的原始创新和高端技术会影响下游产业的发展,因此美国、日本、欧盟等在这方面均有大量的投入,包括资金和人力,以确保其技术始终保持着领先地位。反观我国,当前大型科学计算的应用软件基本上都依靠进口,国内大多数应用领域依然需要使用国外的开源软件和商业软件,自主研发的软件相对匮乏或不太成熟。比如,材料科学、生命科学和大气科学多使用国外的开源软件;计算机辅助工程、计算流体力学多为国外大型商业软件,国内开源软件适用范围还不大;量子动力学则主要以自主研发的程序为主[10]。
我国的高性能计算经费用于应用软件开发的还不到 10%,美国相应的投入资金约为中国的 6 倍,并且国内高性能计算的应用场所主要仍在高校、科研院所,企业所用超算极少,而应用领域也多分布在传统的科学大数据分析、工程计算等方面[11]。
因此,以面向经济主战场为目标,加速促进生产批量化的国产自主可控应用软件,并投入市场接受市场的检验,以此形成应用软件的产业化是实现高性能计算应用驱动生态良性发展的又一点值得深入思考的内容。
(3)面向国家重大需求,注重交叉学科深入研究,切实与社会发展紧密结合。
从国家战略发展层面看,国产的超级计算机系统须要配备国产的自主可控的应用软件。要发挥高性能计算机的高速硬件优势,必须要有适用的算法和调优的应用程序来实现大规模计算作业之间的并行。高性能计算应用的发展和进步需要数学、计算科学、应用领域等学科的深度交叉融合。
此外,高性能计算应用软件的研制有其特殊性,对学科交叉、物理建模、共性算法研究、应用软件研制等也有着全面的要求。因此,如何准确系统的把握国家的重大需求及其客观规律,切实将高性能计算技术与学科应用领域的内在需求和关联紧密结合,成为高性能计算应用驱动发展的第三点值得深入思考的内容。
我国《“十三五”国家科技创新规划》(国发〔2016〕43 号)明确提出“发展先进计算技术,重点加强 E 级 (百亿亿次级)计算、云计算、量子计算、人本计算、异构计算、智能计算、机器学习等技术研发及应用”[12]。其中,在介绍有关高性能计算的发展规划中,特别强调要“研发一批关键领域/行业的高性能计算应用软件,建立若干高性能计算应用软件中心,构建高性能计算应用生态环境。”因此,在部署高性能计算机研制的时候,我们对应用软件、算法的部署应一并跟上,而且要侧重做一些突破性的投入和研发,以应用为驱动力,以满足实际应用需求来发展中国的高性能计算产业、技术和学术,并设立长期稳定的科学目标。围绕该目标,开展长期、持续的应用软件研发[13]。高性能计算的软、硬件环境需要做到一体化的生态发展,只有这样才能真正提高国家高性能计算的整体实力,也只有这样才能更好的为国民经济服务,促进实现国家的繁荣发展。