3 月 19 日下午 2 点,锁定 NVIDIA AI 网络中文专场。立即注册观看
数据中心/云端

NVIDIA Grace CPU 与 Arm 软件生态系统集成

NVIDIA Grace CPU 将节能高效的性能提升到了新的高度,正在改变数据中心的设计。Grace CPU 专为数据中心规模打造,旨在处理要求严苛的工作负载,同时降低功耗。

NVIDIA 相信利用 GPU 加速各种工作负载的好处。但是,并非所有工作负载都得到加速。对于涉及复杂的分支代码 (例如图形分析) 的工作负载尤其如此,这些代码通常用于欺诈检测、运营优化和社交网络分析等热门用例。

随着数据中心面临越来越大的功率限制,加速尽可能多的工作负载并在尽可能高效的计算上运行其余工作负载变得至关重要。Grace CPU 经过优化,可处理加速任务和仅使用 CPU 的任务,在功耗与传统 CPU 相同的情况下提供高达 2 倍的性能。

Grace CPU 配备 72 个高性能、高能效的 Arm Neoverse V2 核心,由 NVIDIA Scalable Coherency Fabric (SCF) 连接。这种高带宽结构可确保在 CPU 核心、缓存、内存和系统 I/O 之间实现流畅的数据流,并提供高达 3.2 TB/s 的对分带宽,是传统 CPU 带宽的两倍。

Grace CPU 还采用具有服务器级可靠性的高速 LPDDR5X 内存,提供高达 500 GB/s 的内存带宽,而能耗仅为传统 DDR 内存的五分之一。

在本文中,我们想分享 Grace CPU 如何在现有 Arm 生态系统的基础上构建,同时利用大量 NVIDIA 软件和工具。

标准软件基础架构

Grace CPU 被设计为平衡型通用 CPU,与其他 CPU 一样工作。在 Grace CPU 上运行软件的工作流与在任何 x86 CPU 上使用的工作流相同。标准 Linux 发行版 (Ubuntu、RHEL、SLES 等) 和任何多平台开源编译器 (GCC、LLVM 等) 都支持 Grace CPU。

如今,大多数开源软件已经支持 Arm,因此 Grace CPU 也支持这些软件。同样,在 Grace CPU 上完成的任何软件优化和移植也适用于 Arm Neoverse 软件生态系统的其余部分。

NVIDIA 将继续与 Arm 生态系统中的开发者和合作伙伴合作,并致力于确保开源编译器、库、框架、工具和应用充分利用基于 Arm Neoverse 的 CPU (例如 Grace CPU)。

许多云原生和商用 ISV 应用已经为 Arm 提供了优化的可执行文件。Arm 开发者中心展示了适用于 AI、云、数据中心、5G、网络和边缘的精选软件包。该中心还提供了有关 如何将应用程序迁移到 Arm 的指导

此生态系统由 Arm 标准提供支持,例如 Arm Server Base System Architecture(SBSA)和 Arm SystemReady 认证计划的 Base Boot Requirements(BBR)。

NVIDIA 软件支持 Arm 生态系统

数十年来,Arm 一直在软件生态系统方面进行投资。您可以不断创新,并且知道该软件不仅有效,还针对 Arm 进行了优化:NVIDIA 软件生态系统还利用数十年来在加速计算方面的工作成果,现已针对 Arm 进行了优化:

  • NVIDIA HPC SDK 和每个 CUDA 组件都具有 Arm 原生安装程序和 容器
  • NVIDIA 容器生态系统的 NVIDIA NIM 微服务和 NGC 提供深度学习、机器学习和 HPC 容器,优化为 Arm。NVIDIA NIM 可增强推理性能,实现高吞吐量和低延迟的大规模 AI。

NVIDIA 还在扩展面向 Arm CPU 的软件生态系统。NVIDIA 之前为 Arm CPU 推出了一套新的高性能数学库,称为 NVIDIA Performance Libraries (NVPL)。这些库实现了标准 API,因此在链接阶段采用这些 API 可以轻松替代 x86,

同样, Arm 的性能库(ArmPL) 等数学库也进行了调整,以更大限度地提高 Grace CPU 以及任何其他 Arm CPU 的性能。例如,Arm 分享了如何以与 x86 类似的方式使用 ArmPL Sparse。ArmPL 具有与 x86 数学库类似的 API ,这意味着开发包装器只需要更改代码中的几个 API 即可。

NVIDIA 积极参与开源软件社区,例如 GCC 和 LLVM 编译器社区。如果您不想等待这些常规版本的发布,并且想要构建在 Grace CPU 上以最佳性能执行的代码,您还可以通过 Clang 发行版获得最新的优化。

将您的软件无缝迁移到 Arm

Arm 软件生态系统规模庞大且不断发展,已有数百个开源项目和商业 ISV 支持 Arm 架构。如果应用程序尚不受支持,您可能需要重新编译源代码。有多种工具可帮助您实现这一目标:

有关应用程序移植和优化的更多信息,请参阅 NVIDIA Grace Performance Tuning Guide 。其中包含有关在 NVIDIA Grace CPU 上设置和优化性能的说明。它还为开发者提供有关 Arm SIMD 编程、Arm 内存模型和其他详细信息的高级指导。使用本指南帮助您实现特定 NVIDIA Grace 系统的最佳性能。

A diagram shows an arrow with four steps: Reuse (NGC, Linux distros); ID Dependencies & Recompile (GCC, LLVM, NVIDIA Compiler, Spack or EasyBuild); Run (high-core count, threads-per-process, update tests); and Optimize (NVPL, NVIDIA Nsight, ArmPL/ArmCL, Arm Forge, Perf, PAPI, TAU, Score-P, and so on).
图 1、在 Grace CPU 上运行软件会使用与任何其他 CPU 相同的流程进行优化

总结 

NVIDIA Grace CPU 专为现代数据中心而设计,拥有 72 个高性能 Arm Neoverse V2 核心,这是 NVIDIA 设计的高带宽 SCF,可更大限度地提高性能和高带宽低功耗内存。与领先的传统 x86 CPU 相比,它可以在相同的功率范围内提供高达 2 倍的性能。

NVIDIA Grace CPU 是基于标准的 Arm SBSA 设计,其工作方式与任何其他 CPU 相同,并且与广泛的 Arm 软件生态系统完全兼容。

有关软件和系统设置的更多信息,请参阅 NVIDIA Grace CPU

 

标签