【新智元导读】2021年图灵奖揭晓!高性能计算先驱、超算Top500创始人之一Jack Dongarra获奖,独享100万美元奖金。
20世纪70年代末,一位阿拉贡国家实验室的年轻研究员参与编写了名为「Linpack」的计算机代码,这段代码也让那些被后世称为超级计算机的系统可以运行复杂的数学计算。
20世纪90年代初,还是这位研究员,和他的同事们利用「Linpack」,又创造出了一种用于衡量超级计算机能力的全新测试,也就是测试超算每秒能进行多少次计算。
这个人就是Jack Dongarra,2021年ACM图灵奖的获得者。
改变世界的计算方式
美国计算机协会(ACM)提名田纳西大学教授Jack J. Dongarra为2021年图灵奖获得者,以表彰他在数值算法和库方面的开创性贡献,他的工作让高性能计算软件在过去40多年里跟上了硬件的指数式改进。
除了一个漂亮的银碗外,该奖项还包括完全由谷歌资助的100万美元奖金,这笔钱直接归Dongarra所有。
Dongarra的算法和软件推动了高性能计算的发展,并对从人工智能到计算机图形的许多计算科学领域产生了重大影响。
图灵奖被称为 「计算机界的诺贝尔奖」,是目前全球计算机科学领域的最高奖项,奖金为100万美元,由谷歌提供支持。该奖以现代计算机之父、英国数学家阿兰·图灵命名。
Dongarra通过对线性代数操作的高效数值算法、并行计算编程机制和性能评估工具的贡献,引领了高性能计算的世界。
近四十年来,摩尔定律使硬件性能呈指数式增长。在同一时期,大多数软件性能未能跟上这些硬件的进步,但高性能数值软件却跟上了。这在很大程度上是由于Dongarra的算法、优化技术和生产质量的软件实现的。
ACM主席Gabriele Kotsis表示:
「高性能计算一直是科学发现的一个主要工具。高性能计算领域的创新早已影响了许多不同的计算领域,推动了我们整个领域的发展。Dongarra在引导这一领域的成功轨迹方面发挥了核心作用。」
Dongarra的主要贡献在于创建了开源软件库和标准,这些软件库采用线性代数作为中间语言,可供各种应用使用。
这些库已经为单处理器、并行计算机、多核节点和每个节点的多个GPU编写。Dongarra的库还引入了许多重要的创新,包括自动调谐、混合精度算术和批量计算。
Dongarra的开拓性工作可以追溯到1979年,他至今仍是HPC社区中最重要和积极参与的领导者之一。毫无疑问,他的职业生涯配得上图灵奖对于「具有持久重要性的重大贡献」的认可。
Jack Dongarra和他的算法
Jack Dongarra自1989年以来一直是田纳西大学的大学特聘教授和橡树岭国家实验室的特聘研究人员。自2007年以来,他还担任过英国曼彻斯特大学的图灵研究员。
他在芝加哥州立大学获得数学学士学位,在伊利诺伊理工大学获得计算机科学硕士学位,并在新墨西哥大学获得应用数学博士学位。
Dongarra此前就已经荣誉满身,包括IEEE计算机先锋奖,SIAM/ACM计算科学和工程奖,以及ACM/IEEE肯尼迪奖。
他是ACM、电气和电子工程师协会(IEEE)、工业和应用数学协会(SIAM)、美国科学促进会(AAAS)、国际超级计算会议(ISC)和国际工程和技术研究所(IETI)的研究员,还是美国国家工程院院士和英国皇家学会的外籍会员。
现在,Dongarra的论文引用量已经超过了11万。
过去50年里,Dongarra一直在帮助推进数值算法和软件、并行计算编程和性能基准测试,这些都是创建超大规模超级计算机所必需的。
今天,小到寻常家庭的笔记本电脑,大到全世界最快的超算上,都有Dongarra杰出贡献的影子。
在Dongarra创建的开源软件库中,包含很多深度技术创新,比如自动调谐、混合精度运算,以及批量计算。
自动调谐(Autotuning):
Dongarra在2016年的全球超级计算大会上的ATLAS项目中,研究了一种新方法,用于自动找出能生成线性代数内核的算法参数,该线性代数内核在效率上是接近最优的。
这种算法参数一般来说比厂家提供的代码性能还要好。
混合精度运算(Mixed Precision Arithmetic):
在Dongarra2006年递交给全球超级计算大会的论文中,他提出了要「利用32位浮点算法获得64位精度的性能」。他开创了一种办法,可以利用浮点计算的多倍精度来更快输出精确的解决方案。
这项研究慢慢地在机器学习应用中越来越基础,最近的例证就是HPL-AL Benchmark,它在全球最先进的超算上实现了前所未有的性能。
批量计算(Batch Computations):
Dongarra开创了一种范式,用来分割开大密度矩阵的运算,在模拟、建模、数据分析等领域应用非常广泛。该范式可以将大密度矩阵的运算分成包含更小任务量的更多计算,可以各自独立地同时运算。
他参与创建的各种标准,包括MPI、LINPACK Benchmark等,为各类不同的计算任务奠定了基础,如天气预测、气候变化,再到分析大规模物理实验数据等等。
目前衡量超级计算机性能的最权威榜单Top 500,背后的评测软件算法就是Dongarra开发的。
哪怕抛开刚刚获得的图灵奖不算,Dongarra也已经算是功成名就了。而图灵奖相当于在他的非凡履历上增添了最亮丽的一笔。
国内专家怎么看?
Dongarra获奖的消息公布后,国内多位计算机领域的大佬纷纷表示祝贺,同时提出了自己的看法。
中国科学院计算技术研究所研究员包云岗表示:「第一感受是惊喜」。
包教授也是个业内大佬。除了研究员的身份,他还是中国科学院大学的岗位教授,中国科学院先进计算机系统研究中心的主任。他的主攻方向就是计算机体系结构和开源芯片方向的前沿研究。
包教授如此激动的原因有两个。一个是高性能计算这个如此重要的领域终于轮上了图灵奖。Dongarra这次的获奖,可以说是高性能计算领域迟到的图灵奖。
为什么说是「迟到」呢?
上个世纪同样有一位在高性能计算领域有突出贡献的伟大科学家——Seymour Cray。
1958年,Cray设计建造了世界上第一台基于晶体管的超级计算机,成为计算机发展史上的重要里程碑。同时也对RISC高端微处理器的产生有重大的贡献。
然而可惜的是,1996年9月22日,Cray在一场意外的车祸中重伤不治,于同年10月5日去世,享年71岁。如果Cray教授还在世的话,想必以他的成就,可能也会摘得图灵奖。
另一个原因是,Jack Dongarra其实是中国高性能计算界的老朋友了。在疫情之前,他每年都要来中国好多趟,穿梭于中国的各个超算中心。国内很多业内大佬都和Dongarra有很深的交情。
除了前文提到的Dongarra的贡献,包教授还另外补充了一点,那就是:Matlab的诞生。
包教授讲到,「Matlab的起源是什么呢?新墨西哥大学的Moler教授在上个世纪70年代开发了几个软件,其中一个就是Linpack。后来他为了方便教学,才写了一个叫Matlab的小工具把它们封装起来。」
而Dongarra的导师正是Moler教授,他博士期间做的工作也正是开发LINPACK。所以从某种意义上来说,Matlab的出现,离不开Dongarra。
包教授总结到:「做难事,必有所得。」
再次祝贺Dongarra教授,高性能计算领域的图灵奖,虽迟但到!