acm-header
登录

ACM通信

最后一个字节

学习新事物,避免障碍


2021年ACM点图灵奖获得者杰克·唐加拉

信贷:亚历山大·伯格

ACM点图灵奖获得者杰克·唐加拉从未打算与计算机打交道。最初,这位田纳西大学(University of Tennessee)的杰出教授、创新计算实验室(ICL)的创始人认为他会成为一名高中科学教师。在阿贡国家实验室(Argonne National Laboratory)的一次实习机会,激发了他对数值方法和软件的终身兴趣——尤其是线性代数,它推动了唐加拉在日益复杂的计算机架构上优化操作的突破性技术的发展。

你在计算机领域的职业生涯开始于一个偶然的机会,在阿贡国家实验室实习了一个学期。

本科时,我做过EISPACK,这是一个用来解决特征值问题的软件包。我的角色是帮助开发测试问题,确保事情正常运行。那是一个美妙的环境。然后,我完成了我的硕士学位,他们给了我一份工作。


“1993年,我与德国的同事Hans Meuer和Eric Strohmaier共同创建了第一届Top500。”


你就是在那个时候开始做LINPACK的。

LINPACK是上世纪70年代末由美国国家科学基金会资助的一个项目,参与的研究人员来自阿贡、新墨西哥大学、加州大学圣地亚哥分校和马里兰大学。他们的目标是设计一套基于最先进算法的求解线性方程组的软件包,该软件包便携、可靠、生产率高,并为当时正在使用的科学计算机体系结构提供高效的解决方案。作为一种衡量效率的方法,我构建了一个基准来衡量计算机运行LINPACK软件时的性能,这就是LINPACK基准。它出现在LINPACK用户指南中的一个表格中。

uf1.jpg
数字“我参与设计的软件包已经找到了解决计算科学问题的方法,”2021年ACM A.M.观察到图灵奖获得者杰克·唐加拉。

这个表格是最强大计算机TOP500榜单的起源。

1993年,我和在德国的同事Hans Meuer和Eric Strohmaier一起编制了第一届TOP500。在那之前,Hans有一个最快的计算机列表,我有一个对这些计算机进行评级的基准测试;Hans找到我,想把它整合起来,并称之为TOP500。

在过去的50年里,您一直在设计软件包。为什么?

我参与设计的软件包已经找到了解决计算科学问题的方法。随着计算机架构的不断发展,从标量到矢量,再到多核,再到分布式内存,再到混合架构,软件包都是最先适应这些变化的。它们必须被重写以适应架构。

您可以在包的演变和开发中看到这一点。EISPACK设计用于标量计算机,LINPACK设计用于向量架构;用于基于缓存和共享内存计算机的LAPACK和BLAS;ScaLAPACK和MPI是为分布式内存架构设计的,PLASMA和MAGMA是为多核和硬件加速器(gpu)的需求而开发的。今天我们正在研究SLATE,它解决了基于百亿亿的计算的挑战。在这个过程中,有必要进行性能评估,这就是基准测试适合的地方。


高性能共轭梯度(HPCG)基准使用操作稀疏矩阵的迭代方法来解决矩阵问题。


多年来,Top500的排名已经发展到不仅包括LINPACK基准,还包括其他测试计算机处理人们需要它们完成的任务的能力的方法。

自20世纪70年代以来,LINPACK基准一直在持续使用。它是出于必要而产生的,因为它可以快速测试向量子例程的性能,这与LINPACK库的其他部分的性能很接近。由于实现的特性,LINPACK基准测试也可以作为其他代码的一阶近似。部分原因是当时的硬件非常均衡,为每一个浮点操作提供了充足的带宽。多年来,摩尔定律破坏了计算机与带宽之间的平衡,造成了一堵记忆墙。

uf2.jpg
数字linpack的作者——从左至右,杰克·唐加拉1978年,“皮特”斯图尔特、吉姆·邦奇和克利夫·莫拉尔在唐加拉的车周围拍摄,地点在伊利诺斯州阿贡国家实验室附近的唐纳树林。图片由Cleve Molar授权使用。

为了重新评估这种新的和不同的硬件制度中的应用需求,值得研究计算模拟。许多计算模拟涉及热扩散、电磁学和流体动力学。与测试原始浮点性能的LINPACK不同,这些真实的应用程序依赖于控制粒子速度、动量等物理量的连续表示的偏微分方程(pde)。这些偏微分方程包含稀疏(非密集)矩阵,这些矩阵代表离散网格的3D嵌入。虽然稀疏数据的大小填满了可用内存,以适应感兴趣的模拟模型,但大多数有助于在密集矩阵计算中达到接近峰值性能的优化技术,在源自偏微分方程的稀疏矩阵计算中仅略有好处。

这是为什么呢?

TOP500 LINPACK基准测试可以被描述为执行密集操作的密集矩阵。有效地执行浮点操作的机器在这个基准测试中看起来会很好,尽管大多数实际问题实际上并不需要它。

所以我们开发了一个叫做高性能共轭梯度(HPCG)的基准。HPCG解决矩阵问题的方法不是直接的,不是基于矩阵乘法,如果你有两个大致有序的矩阵n,操作次数为n3.但是移动的数据量只是n2.相反,HPCG使用操作稀疏矩阵的迭代方法,这在实际应用中更好地显示了硬件的特征。

从这个角度来看,如果我在一台计算机上运行TOP500基准测试,我预计性能将达到理论峰值的75%。HPCG基准显示性能为理论峰值的3%。这是我们的“肮脏的小秘密”:大多数应用程序远没有达到这些高性能计算机的理论峰值。尽管如此,这仍然是暴露性能问题并研究如何解决和改进这种情况的好方法。

让我们来谈谈高性能计算领域的新动向。当我们打印出来的时候,所谓的百亿亿次机器——能够执行10次18或者每秒十亿亿次浮点运算可能最终会登上最新的TOP500榜单的榜首。

橡树岭国家实验室(Oak Ridge National Laboratory)正在安装一台名为Frontier的计算机,这将是美国第一台百亿亿次计算机。他们现在正在上面运行基准,我们预计在下一个百亿亿次计算机TOP500榜单出炉时,它将完成。

高性能计算机的经济效益如何?

百亿亿次的机器非常昂贵。我认为橡树岭的这台机器的价格在5亿到6亿美元之间,能源部(DOE)正在参与一个项目,开发三台这样的百亿亿次计算机——此外,他们还投资开发将在这些系统上运行的应用程序和软件。这项计划在七年内的总费用将达到36亿美元左右。

这些超级计算机是强大而精密的科学仪器,就像詹姆斯·韦伯望远镜一样。它们使模拟成为可能,并提供了推动科学前沿的机会。今天,我们使用数值计算来理解和预测科学或技术上重要现象的行为,从而加快创新的步伐。

值得注意的是,每当计算能力大幅提升时,新的好处就会展现在我们面前。百亿亿次计算的好处——从创造新颖、更高效的内燃机和新能源解决方案到医疗保健、生物和风暴预测的进步——可能潜在地影响每个人。百亿亿次计算的好处将来自经典的模拟,但也来自大规模数据分析、深度机器学习,以及通常三种方法的集成。


“值得注意的是,每当计算能力大幅提升时,新的好处就会展现在我们面前。”


从云计算到大规模物理实验,您的工作已经成为大量应用程序的基础。除了工作本身,你还发现了什么令人惊讶或兴奋的事情吗?

在解决当前的问题时,总会有新的东西可以学习和使用。多年来,我一直很幸运地与一个非常有才华的国际社区的人一起工作,开发算法、软件和标准,帮助塑造了计算科学领域。如果没有这些人,这项工作不可能发生。

在这方面,有学生是有帮助的,因为它帮助我们推进和探索多个领域。我们尝试做研究,而不仅仅是发展,这意味着我们需要实验,我们需要失败,因为这是学习过程中很重要的一部分。有时,我们的学生来找我研究问题,当我给他们一个问题时,他们马上告诉我,他们不知道怎么做。我说:“太好了。这就是问题的关键。如果你已经知道怎么做,我就不会给你出问题了。”这就是令人兴奋的地方,学习新事物,克服障碍。

回到顶部

作者

利亚霍夫曼是皮尔蒙特的一名科技作家。纽约,美国。


©2022 0001 - 0782/22/6 ACM

如果您不是为了盈利或商业利益而制作或分发本作品的部分或全部,并在第一页注明本通知和完整引用,则允许您免费制作本作品的部分或全部数字或纸质副本,供个人或课堂使用。本作品的组成部分必须由ACM以外的其他人享有版权。信用文摘是允许的。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org或传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2022 ACM股份有限公司


评论


爱德华•安德森

从左到右,聚集在Jack汽车周围的LINPACK的作者是Jack Dongarra、Cleve Moler、Pete Stewart和Jim Bunch。


显示1评论

Baidu
map