邀请嘉宾图灵奖得主唐加拉Jack Dongarra 博士出席会议
发布时间:2025-03-18,浏览量:152
Jack J. Dongarra 于 1950 年出生于芝加哥的一个西西里移民家庭。他记得自己是一个平淡无奇的学生,背负着未确诊的阅读障碍。直到高中时,他才开始将他的科学课程与他对拆解机器和修补机器的热爱联系起来。Dongarra 在芝加哥州立大学主修数学,他认为这将与教育课程很好地结合,为他的高中教学生涯做好准备。他是家里第一个上大学的人,他住在家里,在一家披萨店工作以支付费用。
EISPACK 公司
1972 年,Dongarra 开始在附近的阿贡国家实验室进行本科实习。Dongarra 由年轻的研究人员 Brian Smith 监督,他当时主要关注的是 EISPACK。矩阵特征值计算在科学计算和建模的许多领域都至关重要,从力学和地质学到 Google 的 PageRank 算法。James H. Wilkinson 最近因与 Christian H. Reinsch 合作开发针对电子计算机优化的新矩阵方法而获得图灵奖。但是新方法很复杂,而且数学上很微妙,因此大多数程序员仍然会使用他们以前的大学教科书中给出的方法。EISPACK 是一个项目,旨在生成准确、健壮、高效、文档齐全且可移植的 FORTRAN 子例程,这些子例程实现了矩阵特征值和特征向量计算的新方法。可以根据需要从科学家和工程师编写的程序中调用此代码,以解决问题。
Dongarra 被迫通过 EISPACK 运行测试问题并向其开发人员报告错误。这段经历让 Dongarra 对计算产生了兴趣,并点燃了对数值方法的兴趣。他搁置了攻读物理学硕士学位的计划,向伊利诺伊理工学院 (Illinois Institute of Technology) 的计算机科学课程提交了一份迟到的申请。他继续在阿贡工作,每周工作一天,Brian Smith 是他硕士论文的导师。
EISPACK 于 1974 年发布。那时 Dongarra 已经在 Argonne 全职工作。正如他回忆起他在那里的经历时:“从我第一次作为本科生到我离开那里,这是一次非常非常积极的经历......工作环境很棒,非常丰富和刺激。然而,他很快意识到他需要博士学位才能在他的新职业中取得进展。他请假参加了新墨西哥大学的数学博士课程,与 Cleve Moler 一起工作。在新墨西哥州学习期间,Dongarra 兼职工作,以调整现有方法和算法,以便在洛斯阿拉莫斯 Cray 1 计算机的新型矢量架构上有效运行。
LINPACK 公司
EISPACK 紧随其后的是 LINPACK,用于求解线性方程和线性最小二乘问题的互补活动。该项目由 GW “Pete” Stewart 发起,他与 Cleve Moler 和 Jim Bunch 这三位与阿贡社区有联系的学者合作。Dongarra 最初的主要职责是开发一个框架来测试包及其组件。设计团队每年夏天都会在阿贡重新开会,以测试和集成学年中产生的代码。根据 Stewart 的说法,到项目结束时,“Jack 表现出了非凡的潜力”,这说服了他们“给他一个机会,让他成为主要作者”。
LINPACK 很快成为那个时代最重要的数学软件包之一。它在 1980 年代科学家和工程师使用的几乎所有计算机型号上都证明了自己,从超级计算机到 Unix 工作站和 IBM 个人计算机。这种非凡的灵活性在很大程度上来自它对 BLAS (基本线性代数子程序) 的使用。BLAS 的想法起源于 1972 年左右,由 NASA 喷气推进实验室的 Charles Lawson 和 Richard Hanson 提出。BLAS 规范定义了一组简单的向量作,每个作都有一个标准的调用序列。LINPACK 是第一个承诺使用 BLAS 的主要软件包,这两个项目建立了共生关系。
LINPACK 附带了一份内容丰富的用户指南。“在那本书的附录中,”Dongarra 回忆道,“我收集了一些关于各种机器的时间信息。我们的想法是让用户知道如果使用我们的软件,他们需要多少时间来解决他们的问题。对于示例问题,他选择了最大的一个矩阵,该矩阵可以在列表中的所有十几台机器上处理。这个性能时间列表不断增长,并作为机器浮点性能的标准衡量标准而独立存在。计算机供应商自豪地引用基准测试分数并调整他们的产品以优化性能。该列表逐渐增加到包含数百个结果,然后是数千个结果。即使在 LINPACK 因所有其他目的而被取代很久之后,TOP500 项目仍然使用该基准测试来创建被广泛引用的超级计算机性能排行榜。
网络库
Dongarra 在 1980 年代的其他项目之一是创建数学软件库 NETLIB。Dongarra 在斯坦福大学读研究生期间结交的朋友包括著名的数值分析家 Gene Golub 和一位名叫 Eric Grosse 的年轻学生。Golub 提出了一个软件电子存储库的想法,以确保学生作为研究的一部分编写的代码可以被其他人找到和重用。1985 年左右,当时在贝尔实验室工作的 Dongarra 和 Grosse 决定将这个想法变为现实。在早期版本中,NETLIB 通过电子邮件工作——程序将从传入的电子邮件中提取请求,并使用编码消息进行回复,从中可以重新组合请求的代码。. Grosse 和 Dongarra 担任编辑,决定哪些软件值得收录。来自许多现有集合的代码(例如,来自 ACM 的 Transactions on Mathematical Software 的例程)最终被合并到 NETLIB 中。
田纳西大学
1989 年,Dongarra 离开阿贡,接受了田纳西大学诺克斯维尔分校杰出教授和附近橡树岭国家实验室杰出科学家的双重任命。Dongarra 认为,“这将使我能够成为一名教授,拥有学生,并做其他在实验室可能不那么容易做的事情。一开始,他的团队只由一名研究生助理组成。到 2004 年,创新计算实验室已经发展到包括“大约 50 人,包括研究教授、博士后、研究助理、研究生、本科生、程序员、艺术家、秘书人员、维护我们计算机的人以及我们的支持人员”。除了 Dongarra 本人之外,整个团队还得到了 NSF、DARPA 和能源部等组织的资助和研究合同的支持。
LAPACK 和 BLAS
尽管 LINPACK 非常灵活,但它无法充分利用矢量处理超级计算机和共享内存并行机的强大功能,其中最重要的分别是 Cray-1 及其多处理器稳定伙伴 Cray X-MP。Dongarra 的下一个主要项目 LAPACK 用针对新架构优化的功能取代了 LINPACK 和 EISPACK。加州大学伯克利分校的 Dongarra 和 James Demmel 是主要设计师。第一次公开发布于 1992 年,随后在 1994 年和 1999 年发布主要版本。到 2000 年代初期,Cray 机器曾经具有异国情调的架构功能,例如长指令管道、矢量处理能力和共享内存多核架构,正在成为个人计算机的标准功能。
LAPACK 是与新的 BLAS 规范并行开发的。最初的 1 级 BLAS 仅涵盖标量、向量和向量-向量运算(即,最多处理两个矩阵中的单个列的运算)。这迫使应用程序程序员进行重大更改,以针对特定的矢量处理、高速缓存或多处理器架构进行优化。新的 BLAS 实现涵盖了组合矩阵和向量(级别 2)和两个矩阵(级别 3)的标准作。这种更高级别的抽象是 LAPACK 能够在各种架构上高效运行的关键。
虽然 BLAS 是高性能便携式软件的基础,但并非所有计算机制造商都为其机器提供高质量的实施。由 Dongarra 的学生承担的 ATLAS 项目为特定计算机架构自动创建了高度优化的 BLAS。在探测运行它的机器的功能后,ATLAS 会生成每个 BLAS 例程的许多不同版本,并通过实验确定其中哪些版本可提供最佳性能。
分布式计算
Dongarra 一直在努力应对新的计算机架构给线性代数带来的挑战。LAPACK 与具有少数处理器共享公共内存的计算机配合得很好。但超级计算架构不断发展,出现了大规模并行的超级计算机和联网的个人计算机集群。由数千个廉价处理器构建的超级计算机的想法很有吸引力。尽管如此,现有的应用程序、算法和软件工具只能解锁硬件理论性能的一小部分。
挑战在于将一个大作业拆分为许多独立的小任务,然后找到一种有效的方法来通过在进程之间交换消息来协调它们的作。ScaLAPACK(可扩展 LAPACK)于 1993 年首次发布,针对分布式内存计算机进行了优化。它依赖于 PVM(并行虚拟机),这是 Dongarra 团队开发的一种标准机制,用于为应用程序提供虚拟并行计算机,使其与正在运行的集群的详细信息隔离开来。许多其他科学计算项目很快采用了 PVM。
Dongarra 在创建用于分布式计算的消息传递接口 (MPI) 方面也发挥了至关重要的作用。Dongarra 集团于 1994 年同意了该标准的第一版。他回忆说:“MPI 是由一个由来自商业环境、学术机构、研究中心和供应商的 20 人组成的委员会设计的,他们都将自己的想法倾注到这个包中......”MPI 很快被广泛采用,成为多种语言的应用程序程序员的标准接口,用于控制分布式进程之间的通信和同步。
近期工作
大多数数值算法都使用浮点数。现代处理器通常为 32 位和 64 位数字表示提供算术功能。使用 64 位数字表示形式更准确;使用 32 位数字表示法通常要快得多。在 2006 年超级计算大会的论文《利用 32 位浮点运算的性能获得 64 位精度》中,Dongarra 展示了如何创造性地结合这些功能,在不牺牲精度的情况下最大限度地提高速度。他引入的技术很快成为机器学习系统的标准做法,大幅减少了内存使用量并大大提高了性能。
到 2010 年代,超级计算正在发生另一次架构转变。生成逼真的 3D 图形需要大量的计算能力。视频游戏玩家的需求推动了越来越复杂的显卡的诞生,其处理能力很快就超过了传统处理器芯片的处理能力。每个高端图形芯片都包含数百个并行工作的处理器内核,并且可以重新编程以处理对科学计算和人工智能至关重要的任务,以及它们所针对的图形渲染作。超级计算机并行运行数千个这样的芯片。Dongrarra 在他 2016 年的论文《Performance and design and autotuning of batched GEMM for GPUs》中描述了一种新方法。它的核心是将大型矩阵计算自动划分为可以独立处理的小块。新方法在 MAGMA 和 SLATE 软件库以及 BLAS 的另一种重新制定中实现:批处理 BLAS 标准。
Dongarra 继续主要在田纳西大学工作,并于 1990 年获得大学杰出教授的职称,并在橡树岭大学工作。他还作为曼彻斯特大学的图灵研究员和莱斯大学的高性能计算研究人员建立了长期的合作关系。自 1992 年以来,他一直担任 International Journal of High Performance Computing Applications 的主编,并创立了工业与应用数学协会的超级计算兴趣小组。
在 Dongarra 漫长的职业生涯中,发生了很多变化,但他帮助创建的软件比以往任何时候都更加重要。他已成为超级计算用户社区的公众形象。科学计算用户通常不再在每次需要运行新计算时都编写 FORTRAN 代码,但 Dongarra 项目中的代码已被整合到 MATLAB、Maple、Mathematica 和 R 编程语言等工具中。高效的矩阵运算是我们日常依赖的许多计算服务的基础,从高性能视频游戏到由人工智能算法提供支持的在线服务,再到准确的天气预报。
邀请嘉宾出席会议,比如邀请图灵奖得主唐加拉Jack Dongarra 博士出席会议,请联系我们:15101084294,专业邀请嘉宾十余年,积累丰富嘉宾资源,值得信赖!