超级计算机可以说是科学计算界的奥运冠军。通过数值模拟,超级计算机丰富了我们对世界的理解:无论是宇宙中数光年之外的恒星、地球的天气和气候,还是人体的运作机理。
四十多年来,Jack Dongarra 一直是高性能计算领域的推动者。今年早些时候,2021 年 ACM A.M. 图灵奖授予 Dongarra,以表彰 "他对数值算法和工具库的开创性贡献,让高性能计算软件在四十多年里能够跟上硬件的指数式发展"。
本文作者 Bennie Mols 于 9 月在德国举行的第九届海德堡桂冠论坛期间见到了 Dongarra,并探讨了高性能计算的当下和未来。现年 72 岁的 Dongarra 是田纳西大学的特聘教授,自 1989 年以来一直是美国能源部橡树岭国家实验室的特聘研究人员。Bennie Mols 是驻荷兰阿姆斯特丹的科学和技术作家。
以下是采访内容
Q1:几十年来,您进行科学研究的动力是什么?
A:我主攻的是数学方面的研究,尤其是数值线性代数方面,我所有的工作都源于此。对于诸如物理和化学这类需要计算——尤其是解线性方程组——的学科来说,一款能计算答案的软件无疑是非常重要的。同时,你还必须确保软件的运行与机器的架构相一致,这样才能真正获得机器所能达到的高性能。
Q2:对于在超级计算机上运行的软件来说,最重要的要求是什么?
A:我们希望该软件的计算结果是准确的。我们希望科学界能够使用和理解这个软件,甚至可以对其改进作出贡献。我们希望软件性能良好,可以在不同的机器上移植。我们希望代码是可读的、可靠的。最后,我们希望软件能够提高使用它的人的生产力。
开发满足所有这些要求的软件是一个非同小可的过程。这种级别的工程往往有数百万行的代码,而且大约每隔 10 年,我们就会看到机器架构发生一些重大变化。这将导致我们需要对算法和体现这些算法的软件进行重构。软件跟着硬件走,在超级计算的顶层仍有很大的空间,来达到更好的机器性能。
Q3:目前在高性能计算方面有什么令你兴奋的发展?
A:我们的高性能超级计算机是建立在第三方元件上的,比方说你和我也能买到高端芯片,只是高性能计算机上需要很多。通常我们在高性能计算机上面以 GPU 的形式使用一些加速器。我们将多个芯片开发板放在一个机架上,许多这样的机架一起组成一台超级计算机。我们使用第三方元器件的原因在于它更便宜,但如果你专门设计芯片来做科学计算,你会得到性能更好的超级计算机,这是一个令人兴奋的想法。
事实上,这正是亚马逊、Facebook、谷歌、微软、腾讯、百度和阿里巴巴等公司正在做的事情;他们正在制造自己的芯片。他们可以这样做,因为他们有庞大的资金,而高校的资金是有限的,因此不幸地不得不使用第三方的产品。这与我的另一个担忧有关:我们如何将人才留在科学领域,而不是看到他们去为报酬更高的大公司工作?
Q4:对于高性能计算的未来,还有哪些重要的发展?
A:确实有一些重要的事情。很明显,机器学习已经对科学计算产生了重要影响,而且这种影响只会越来越大。我认为机器学习是一种工具,有助于解决计算科学家想要解决的问题。
这与另一个重要的发展相辅相成。传统上,我们的硬件使用 64 位浮点运算,所以数字也用 64 位表示。但是,如果你使用更少的比特,例如 32、16、甚至 8 比特,你可以加快计算速度。但是加快计算速度,就会失去精度。然而,人工智能的计算看起来往往可以用更少的比特,16 甚至 8 比特来完成。这是一个需要探究的领域,我们需要找出在什么情况下缩减位数效果好,什么情况下效果不好。
另一个研究领域是关于如何从低精度的计算开始,得到一个近似值,然后再使用更高精度的计算来细化结果。
Q5:超级计算机的功耗如何?
A:现在性能最好的超级计算机消耗 20 或 30 兆瓦,以达到每秒百亿亿次浮点运算的速度。如果地球上的每个人每秒钟做一次计算,那么需要四年多的时间才能完成超大规模计算机在一秒钟内完成的工作。可能在 20 年内,我们要达到 zettaflop 的规模,也就是 10 的 21 次方次浮点数运算。然而,功耗可能会成为限制性因素。你将需要一个 100 或 200 兆瓦的机器,目前来看这太耗能了。
Q6:您如何看待量子计算在未来高性能计算中的作用?
A:我认为量子计算能解决的问题是有限的,它不会解决像三维偏微分方程这样的问题,我们在这方面经常使用超级计算机,如气候建模。
在未来,我们将构建一个包含不同类型计算工具的集成工具。我们将有处理器和加速器,我们将有帮助机器学习的工具,我们很可能有以大脑的方式进行神经形态计算的设备,我们将有光学计算机,此外,我们将有量子计算机来解决特定的问题。
原文链接:https://cacm.acm.org/news/265289-there-is-plenty-of-room-at-the-top-of-supercomputing/fulltext