“我是一个数学家,对我来说,一切都是线性代数,但世界也正在看到这一点,”Jack Dongarra在采访中表示。“这是我们用来建造其它东西的材料。”他说,机器学习和人工智能中的大多数问题都可以追溯到线性代数中的“永恒的计算组件”。
ACM刚刚宣布了2021年图灵奖得主,美国大学田纳西大学电气工程和计算机科学系教授Jack Dongarra,此番获奖主要源于其在数值算法和库方面的开创性贡献,正是他的研究使高性能计算软件在四十多年里与硬件的指数级改进保持同步。Dongarra还在橡树岭国家实验室和曼彻斯特大学担任职务。
ACM A.M.图灵奖奖金为100万美元,由谷歌公司提供支持。该奖以英国数学家阿兰-M-图灵命名,他阐明了计算的数学基础和极限。
Dongarra通过对线性代数操作的高效数值算法、并行计算编程机制和性能评估工具的贡献,引领了高性能计算的世界。近四十年来,摩尔定律使硬件性能呈指数级增长。在同一时期,虽然大多数软件未能跟上这些硬件进步的步伐,但高性能数值软件却做到了——这在很大程度上是由于Dongarra的算法、优化技术和生产质量的软件实现。
这些贡献奠定了一个框架,使科学家和工程师在大数据分析、医疗保健、可再生能源、天气预测、基因组学和经济学等领域做出了重要的发现和改变游戏规则的创新。Dongarra的工作还帮助促进了计算机架构的跨越式发展,并支持了计算机图形和深度学习的革命。
Dongarra的主要贡献在于创建了开源软件库和标准,这些软件库采用线性代数作为中间语言,可供各种应用使用。这些库已经为单处理器、并行计算机、多核节点和每个节点的多个GPU编写。Dongarra的库还引入了许多重要的创新,包括自动调谐、混合精度算术和批量计算。
Dongarra在说服硬件供应商优化这些方法,以及说服软件开发者在他们的工作中使用他的开源库方面处于领先地位。最终,这些努力使得基于线性代数的软件库在从笔记本电脑到世界上最快的超级计算机的高性能科学和工程计算中几乎被普遍采用。这些库对该领域的发展至关重要--允许逐渐强大的计算机来解决计算上的挑战问题。
ACM主席Gabriele Kotsis解释说:"今天最快的超级计算机在一秒钟内进行四百万亿次计算,这令人难以置信,激发了公众的兴趣。但是,除了打破新记录以外,高性能计算一直是科学发现的一个主要工具。高性能计算的创新也溢出了许多不同的计算领域,推动了我们整个领域的发展。杰克-东加拉在引导这一领域的成功轨迹方面发挥了核心作用。他的开拓性工作可以追溯到1979年,而且他至今仍是HPC社区中最重要和积极参与的领导者之一。毫无疑问,他的职业生涯配得上图灵奖对于'具有持久重要性的重大贡献'的认可"。
Jack Dongarra的工作从根本上改变和推进了科学计算,谷歌高级研究员Jeff Dean表示:“他在世界最大量使用的数值库的核心所做的深入而重要的工作是科学计算的每一个领域的基础,帮助推动了从药物发现到天气预报、航空航天工程和其他几十个领域的发展,他对描述各种计算机性能的深入关注带来了非常适合数值计算的计算机架构的重大进展。”
四十多年来,Dongarra一直是LINPACK、BLAS、LAPACK、ScaLAPACK、PLASMA、MAGMA和SLATE等许多库的主要实现者或主要研究者。这些库是为单处理器、并行计算机、多核节点和每个节点的多个GPU编写的。他的软件库几乎被普遍用于从笔记本电脑到世界上最快的超级计算机等机器上的高性能科学和工程计算。
这些库体现了许多深层次的技术创新,例如:
自动调谐:通过他的2016年超级计算大会时间测试获奖的ATLAS项目,Dongarra开创了自动寻找算法参数的方法,这些算法参数产生了接近最佳效率的线性代数内核,往往超过了供应商提供的代码。
混合精度算术:在他2006年超级计算会议的论文《利用32位浮点算术的性能获得64位精度》中,Dongarra开创了利用浮点算术的多个精度来更快地提供精确的解决方案。这项工作在机器学习应用中发挥了重要作用,最近的HPL-AI基准测试就展示了这一点,它在世界顶级超级计算机上达到了前所未有的性能水平。
批量计算:Dongarra开创了将大型密集矩阵的计算(通常用于模拟、建模和数据分析)划分为许多可独立和并发计算的小任务块的计算范式。基于他在2016年发表的论文《用于GPU的分批GEMM的性能、设计和自动调整》,Dongarra领导开发了用于这种计算的分批BLAS标准,它们也出现在软件库MAGMA和SLATE中。
在上述工作中,Dongarra与许多人进行了国际合作,通过不断开发新的技术,使性能和可移植性最大化,同时使用最先进的技术保持数值上的可靠结果,始终扮演着创新驱动力的角色。他领导的其他例子包括消息传递接口(MPI),这是并行计算架构上可移植消息传递的事实标准,以及性能API(PAPI),它提供了一个接口,允许从异构系统的组件收集和合成性能。他帮助创建的标准,如MPI、LINPACK基准和超级计算机的Top500名单,支撑着从天气预测到气候变化到分析大规模物理实验数据的计算任务。