在这个人工智能(AI)和机器学习(ML)成为媒体焦点的时代,高性能计算(HPC)在几个层面上往往是一个无名英雄。它是医疗保健和气候研究等领域革命性突破性研究背后的驱动力,也是尖端技术和计算技术的重要试验场。
随着专用硬件在HPC和行业环境中变得越来越普遍,性能可移植性已成为一个关键挑战。性能可移植性使应用程序能够高效运行跨各种计算系统。这不仅对科学研究至关重要,对需要快速适应新技术和新环境的企业也是如此。对于依赖于性能密集型AI或ML工作负载的企业来说,对性能可移植性的需求将变得越来越普遍。在本文中,我们将超越技术术语,探讨性能可移植性如何改变您的业务,在控制成本的同时实现更快的创新。
从一线解决性能便携性问题,在桑迪亚国家实验室,我们作为R&D的一个单位,共同致力于塑造计算的未来。我们正在孵化的技术不仅能满足国家目标的需求,还能推动下一波商业创新,从人工智能驱动的分析到实时金融建模。
我个人进入这个令人兴奋的领域的旅程始于探索分布式系统、虚拟化和容器以及HPC中的能效的兴趣。作为R&D的一名经理——也是桑迪亚一名经验丰富的研究科学家,是一些最聪明、最敬业的研究人员之一——我对高级计算环境中的挑战和机遇有着坚实的优势。我之前对可伸缩系统软件和虚拟化的研究非常强调软件的可移植性。通过这一切,我们的团队逐渐认识到,传统的“一刀切”策略在当今的异构计算环境中不再适用。进化是必要的。
什么是性能便携性?,多年来,研究机构和企业主要依赖通用计算机。然而,Dennard扩展势头的减弱和摩尔定律的限制已经促进了软件工作负载的多样化和专业化。反过来,这也重塑了硬件格局。技术提供商现在提供一系列加速器、CPU、互连等,每一个都是为特定任务量身定制的。例如,GPU擅长并行数据处理,而TPU则面向机器学习任务。在这个不断发展的生态系统中,重点不仅仅是“性能可移植性”,还包括实现“跨平台效率”和“硬件无关的性能”这些相关的概念强调了确保软件不仅能够运行,而且能够跨不同的计算架构高效运行的重要性。
在这个专门的、通常是完全不同的硬件时代,敏捷的软件方法是必不可少的。传统上,为新系统定制软件可能意味着重写数百万行代码——这是一个既不可持续又耗费时间和人力资源的过程。这就是性能可移植性的用武之地。它允许软件跨不同的架构保持高水平的性能,而不需要大量的重新设计。在当今复杂的计算环境中,跨平台效率不仅仅是一个“美好的愿望”;它已经成为满足未来计算需求的必要条件。
性能可移植性的创新:值得关注,对性能可移植性的追求取决于软件的可重用性,而软件的可重用性又与我们如何为不同的计算环境设计应用程序密切相关。这先锋计划目前是Sandia在跨不同硬件架构的可移植性领域进行创新的主要途径。
Vanguard作为Sandia高级架构测试平台的扩展而诞生,旨在通过识别和解决硬件和软件生态系统中的差距来降低集成未经测试的技术的风险。它是一个重要的环节,将小规模、节点或机架级测试平台与准备部署的大规模系统连接起来。这个项目不仅仅是测试新兴技术;它直接符合性能可移植性的目标。
通过评估真实世界的生产工作负载,Vanguard使软件代码更容易适应新的多样化平台,确保它们在不同的计算架构中高效运行。对于技术供应商,Vanguard还扩大了可行技术选项的范围,促进了竞争,从而推动了硬件无关性能的进步。
Sandia Laboratories和能源部(DOE)的其他机构通过类似于可可科斯生态系统—一套工具,专门用于增强用C++编写的应用程序的跨平台可移植性。可以把Kokkos想象成一个通用的翻译器,确保软件在与它交互的各种平台上有效地运行。当开发并行程序时,开发人员面临着受目标体系结构和其他变量影响的过多选择。Kokkos以模式、策略和空间的形式提供“护栏”,指导应用程序开发团队创建算法。借助Kokkos Core,这些算法和数据结构可以自动映射到不同的架构——无论是基于CPU的系统、带有OpenMP后端的平台,还是围绕NVIDIA或AMD GPUs构建的硬件,甚至是定制的加速器。从本质上讲,Kokkos有助于标准化良好的编码实践,可以很容易地适应不同的架构。
在桑迪亚先锋计划的大框架内,我们采用各种专业工具来实现我们的目标。另一个非常有用的工具是容器,它已经成为简化移植过程的无价资源。即使是简单的代码过渡到新的架构也会消耗大量的时间和资源。容器通过允许创建“清单”来帮助减轻这种负担,清单是一组包含优化应用程序所需的关键步骤和特定库版本的指令。这不仅节省了时间和财务资源,而且使其他团队能够利用现有的专业知识,加快他们的进度,减少试错阶段。这些工具作为Vanguard战略任务中的战术解决方案,确保在多种计算架构中高效部署应用。
在大规模计算环境的复杂性中,不可否认的是,当协作是无缝的时,团队会茁壮成长;我们使用和评估这些工具的很大一部分目标是促进团队合作的力量。这成为我们努力的基石,因为集体努力的力量为开辟新的创新途径铺平了道路。
取得的进展,前面的机遇,虽然我们在性能可移植性方面取得了长足的进步,但我们认为未来的道路充满了创新的机会。有了一个敬业且技术高超的工程团队,移植到新架构的任务为我们的团队提供了一个令人兴奋的挑战,让我们不断参与,推动创新的边界,并培养持续学习和改进的文化。在桑迪亚,我们正在组建专家团队,进行有针对性的努力,不仅为我们,也为整个行业创造令人兴奋的增长机会。这些挑战提供了合作的机会,因为Sandia积极地与工业界、政府和学术界合作,共同开拓新的解决方案。
因此,我们并不孤单。性能可移植性的挑战是普遍的,对HPC和业务部门都有影响。随着行业的发展,适应性软件的重要性只会增加。通过对性能可移植性的投资,科学研究和企业都将受益,使未来的技术迁移更高效、成本更低。在桑迪亚,我们正在积极考虑如何与更广泛的行业分享我们的经验和方法。
SC23:进步的论坛,HPC社区聚集在一起讨论这些挑战并共同探索解决方案的地方之一是SC会议今年将于11月12日至17日在科罗拉多州丹佛市举行。SC会议不仅仅是一次HPC聚会;这是一个来自不同领域的思想的会议,专注于解决普遍的计算挑战。在这里,我们不仅讨论了HPC的未来,还讨论了它与业务创新和敏捷性的直接相关性。像这样的活动是促进合作伙伴关系的平台,展示了Sandia应对全行业计算挑战的协作方法。
就我个人而言,我在SC会议上投入了大量时间,挖掘最新的行业趋势并跟踪创新,这些创新可以极大地帮助我们在Sandia及其他地方的使命。今年在SC23上,我是CANOPIE高性能计算研讨会,重点关注支持HPC的尖端容器技术、虚拟化和操作系统软件。
鉴于其在提高企业敏捷性和帮助控制成本方面的潜力,性能可移植性应该成为每一位技术领导者或业务决策者关注的焦点,他们负责监管需要利用尖端硬件的性能密集型应用。
我鼓励您在SC23上加入我们,成为这场重要对话的一部分,这场对话不仅将塑造计算的未来,还将塑造您的企业在日益复杂和动态的环境中的竞争力。性能可移植性的必要性是科学界和商业界团结起来推动未来计算能力的战斗口号。