程序员|偶然当程序员却拿下图灵奖 超算榜单之父讲述人生开挂经历

40年前偶然走上程序员道路的Jack Dongarra,是今年的图灵奖得主 。
奖项设立机构美国计算机协会(ACM)表示,Dongarra的算法与软件成果推动了高性能计算(HPC)的发展 。
正是他在数值算法和库上的开创性贡献,使得过去40年里,高性能计算软件追上了指数级硬件发展的节奏 。
程序员|偶然当程序员却拿下图灵奖 超算榜单之父讲述人生开挂经历
文章图片

这位老爷子,还弄出了个TOP500的超算排行榜,每年两次帮超算跑跑分啥的 。
刚刚,今年71岁的老爷子还参加了中国计算机学会举办的CNCC 2022,做了次特邀报告演讲 。
演讲的主题,也与高性能计算息息相关 。
为什么人类需要超算?
高性能计算 ,是指通过聚合计算能力来提供比传统计算机和服务器更强大的计算性能 。
再通俗点来讲,就是用超级计算机来并行处理复杂问题 。
为什么要用上超算?Jack Dongarra举了个例子 。
他提到,科学和工程都通过理论和实验来推进,但两者常常遭遇限制,尤其是实验部分 。
会遭遇的“拦路虎”非常多,有可能是制造仪器很难搞,有可能是所观察的事物发展太过迅猛,又或者是没有办法在实验室里完成实验 。
比如,假设有两个星系会发生碰撞,这个过程会是什么?
与其只靠漫长的观测,不如在计算机上进行仿真模拟 。
计算科学增强着当下的种种理论和实验,最快的超级计算机能为仿真模拟提供非常好的保真度和准确性,更重要的是,超算能够覆盖和支持仿真模拟过程中巨大的计算量 。
这就不得不提到超算的结构 。
超算由一堆CPU、GPU等异构芯片提供算力 。
此外,它拥有一个高度并行的系统和分布式内存 。为超算编程时,会用到MPI(用于编写并行计算机的跨语言通讯协议),以及用于共享内存并行系统的多线程程序设计方案OpenMP 。
美国橡树岭国家实验室的超级计算机Frontier取得了斐然的成绩:在2022年第59届国际超算Top500名单中位居榜首 。
Frontier大约有800万个核,9408个节点,它在负载下的电力是21兆瓦 。
Jack Dongarra打了个顽皮的比方 。
他说,在美国,如果他家用掉1兆瓦的电力,一年得给电力公司缴纳100万美元的电费 。
也就是说,单是电费,Frontier一年就要花掉2100万美元呢!
程序员|偶然当程序员却拿下图灵奖 超算榜单之父讲述人生开挂经历
文章图片

Frontier的最高性能是每秒2 x 1018次浮点运算 。
这是一个难以置信的计算量 。如果现在全球所有人停下手里的工作,开始每秒做一次计算,昼夜不停、不眠不休地计算四年,才能达到1018次浮点运算 。然而,这样庞大的运算量,超算一秒就能完成 。
除了计算,超算还涉及异构数据在不同芯片间的搬运,Jack Dongarra称之为移动数据(data moving)
Jack Dongarra指出,现在的超算对已经对浮点运算做了大量优化,移动数据的成本已经比计算成本还高 。
降低移动数据的成本,将成为未来重点的研究方向 。
此外,AI for Science已经在很多科学领域发挥重要作用,譬如DeepMind旗下的Alpha系列,如Alpha Zero、AlphaStar、AlphaTensor……
今年推出的Alphafold2,其蛋白质结构数据库揭开了蛋白质宇宙,有人因此戏称“结构生物学家要失业了” 。
超算的另一个发展方向,就是更适合做AI计算 。
AI有很多方面,有ML、NLP、专家系统、CV、语音、机器人等 。
Jack Dongarra给出了超算适合做AI计算的理由 。