GPU 进阶笔记(四):NVIDIA GH200 芯片、服务器及集群组网

大家读完觉得有意义记得关注和点赞!!!

  • 1 传统原厂 GPU 服务器:Intel/AMD x86 CPU + NVIDIA GPU
  • 2 新一代原厂 GPU 服务器:NVIDIA CPU + NVIDIA GPU
    • 2.1 CPU 芯片:Grace (ARM)
    • 2.2 GPU 芯片:Hopper/Blackwell/…
    • 2.3 芯片产品(命名)举例
      • 2.3.1 Grace CPU + Hopper 200 (H200) GPU:GH200
      • 2.3.2 Grace CPU + Blackwell 200 (B200) GPU:GB200
  • 3 GH200 服务器内部设计
    • 3.1 GH200 芯片逻辑图:CPU+GPU+RAM+VRAM 集成到单颗芯片
      • 3.1.1 核心硬件
      • 3.1.2 芯片硬件互连
    • 3.2 CPU 和内存
      • 3.2.1 72-core ARMv9 CPU
      • 3.2.2 480GB LPDDR5X (Low-Power DDR) 内存
      • 3.2.3 三种内存对比:DDR vs. LPDDR vs. HBM
    • 3.3 GPU 和显存
      • 3.3.1 H200 GPU
      • 3.3.2 显存选配
    • 3.4 变种:GH200 NVL2,用 NVLINK 全连接两颗 GH200
    • 3.5 GH200 & GH200 NVL2 产品参数(算力)
  • 4 GH200 服务器及组网
    • 4.1 NVIDIA MGX with GH200:原厂主机及组网
    • 4.2 NVIDIA GH200 NVL32:原厂 32 卡机柜
  • 5 总结
  • 参考资料

1 传统原厂 GPU 服务器:Intel/AMD x86 CPU + NVIDIA GPU

2024 之前,不管是 NVIDIA 原厂还是第三方服务器厂商的 NVIDIA GPU 机器,都是以 x86 CPU 机器为底座, GPU 以 PCIe 板卡或 8 卡模组的方式连接到主板上,我们在第一篇中有过详细介绍,

典型 8 卡 A100 主机硬件拓扑

这时 CPU 和 GPU 是独立的,服务器厂商只要买 GPU 模组(例如 8*A100),都可以自己组装服务器。 至于 Intel/AMD CPU 用哪家,就看性能、成本或性价比考虑了。

2 新一代原厂 GPU 服务器:NVIDIA CPU + NVIDIA GPU

随着 2024 年 NVIDIA GH200 芯片的问世,NVIDIA 的 GPU 开始自带 CPU 了。

  • 桌面计算机时代:CPU 为主,GPU(显卡)为辅,CPU 芯片中可以集成一块 GPU 芯片, 叫集成显卡
  • AI 数据中心时代:GPU 反客为主,CPU 退居次席,GPU 芯片/板卡中集成 CPU。

所以 NVIDIA 集成度越来越高,开始提供整机或整机柜。

2.1 CPU 芯片:Grace (ARM)

基于 ARMv9 设计。

2.2 GPU 芯片:Hopper/Blackwell/…

比如 Hopper 系列,先出的 H100-80GB,后面继续迭代:

  1. H800:H100 的阉割版,
  2. H200:H100 的升级版,
  3. H20:H200 的阉割版,比 H800 还差,差多了。

算力对比:GPU Performance (Data Sheets) Quick Reference (2023)

2.3 芯片产品(命名)举例

2.3.1 Grace CPU + Hopper 200 (H200) GPU:GH200

一张板子:

NVIDIA GH200 芯片(板卡)渲染图。左:Grace CPU 芯片;右:Hopper GPU 芯片 [2]

2.3.2 Grace CPU + Blackwell 200 (B200) GPU:GB200

一个板子(模块),功耗太大,自带液冷:

NVIDIA GB200 渲染图,一个模块包括 2 Grace CPU + 4 B200 GPU,另外自带了液冷模块。 [3]

72 张 B200 组成一个原厂机柜 NVL72:

NVIDIA GB200 NVL72 机柜。 [3]

3 GH200 服务器内部设计

3.1 GH200 芯片逻辑图:CPU+GPU+RAM+VRAM 集成到单颗芯片

NVIDIA GH200 芯片(单颗)逻辑图。[2]

3.1.1 核心硬件

如上图所示,一颗 GH200 超级芯片集成了下面这些核心部件:

  1. 一颗 NVIDIA Grace CPU;
  2. 一颗 NVIDIA H200 GPU;
  3. 最多 480GB CPU 内存;
  4. 96GB 或 144GB GPU 显存。

3.1.2 芯片硬件互连

  1. CPU 通过 4 个 PCIe Gen5 x16 连接到主板,

    • 单个 PCIe Gen5 x16 的速度是双向 128GB/s,
    • 所以 4 个的总速度是 512GB/s;
  2. CPU 和 GPU 之间,通过 NVLink® Chip-2-Chip (NVLink-C2C) 技术互连,

    • 900 GB/s,比 PCIe Gen5 x16 的速度快 7 倍;
  3. GPU 互连(同主机扩跨主机):18x NVLINK4

    • 900 GB/s

NVLink-C2C 提供了一种 NVIDIA 所谓的“memory coherency”:内存/显存一致性。好处:

  • 内存+显存高达 624GB,对用户来说是统一的,可以不区分的使用;提升开发者效率;
  • CPU 和 GPU 可以同时(concurrently and transparently)访问 CPU 和 GPU 内存。
  • GPU 显存可以超分(oversubscribe),不够了就用 CPU 的内存,互连带宽够大,延迟很低。

下面再展开看看 CPU、内存、GPU 等等硬件。

3.2 CPU 和内存

3.2.1 72-core ARMv9 CPU

  • 72-core Grace CPU (Neoverse V2 Armv9 core)

3.2.2 480GB LPDDR5X (Low-Power DDR) 内存

  • 最大支持 480GB LPDDR5X 内存;
  • 500GB/s per-CPU memory bandwidth。

参考下这个速度在存储领域的位置:

Fig. Peak bandwidth of storage media, networking, and distributed storage solutions. [1]

3.2.3 三种内存对比:DDR vs. LPDDR vs. HBM

  • 普通服务器(绝大部分服务器)用的是 DDR 内存,通过主板上的 DIMM 插槽连接到 CPU,[1] 中有详细介绍;
  • 1-4 代的 LPDDR 是对应的 1-4 代 DDR 的低功耗版,常用于手机等设备。
    • LPDDR5 是独立于 DDR5 设计的,甚至比 DDR5 投产还早;
    • 直接和 CPU 焊到一起的,不可插拔,不可扩展,成本更高,但好处是速度更快
    • 还有个类似的是 GDDR,例如 RTX 4090 用的 GDDR。
  • HBM 在第一篇中已经介绍过了;

下面列个表格对比三种内存的优缺点,注意其中的高/中/低都是三者相对而言的:

DDRLPDDRHBM
容量
速度
带宽
可扩展性
可插拔不可不可
成本
功耗

更多细节,见 [1]。

例如,与 8-channel DDR5(目前高端 x86 服务器的配置)相比, GH200 的 LPDDR5X 内存带宽高 53%,功耗还低 1/8

3.3 GPU 和显存

3.3.1 H200 GPU

算力见下面。

3.3.2 显存选配

支持两种显存,二选一:

  • 96GB HBM3
  • 144GB HBM3e,4.9TB/s,比 H100 SXM 的带宽高 50%;

在一张板子内放两颗 GH200 芯片,CPU/GPU/RAM/VRAM 等等都翻倍,而且两颗芯片之间是全连接。

例如,对于一台能插 8 张板卡的服务器,

  • 用 GH200 芯片:CPU 和 GPU 数量 8 * {72 Grace CPU, 1 H200 GPU}
  • 用 GH200 NVL2 变种:CPU 和 GPU 数量 8 * {144 Grace CPU, 2 H200 GPU}

3.5 GH200 & GH200 NVL2 产品参数(算力)

NVIDIA GH200 产品参数。上半部分是 CPU、内存等参数,从 "FP64" 往下是 GPU 参数。[2]

4 GH200 服务器及组网

两种服务器规格,分别对应 PCIe 板卡和 NVLINK 板卡。

4.1 NVIDIA MGX with GH200:原厂主机及组网

下图是单卡 node 的一种组网方式:

NVIDIA GH200 MGX 服务器组网。每台 node 只有一片 GH200 芯片,作为 PCIe 板卡,没有 NVLINK。[2]

  1. 每台 node 只有一片 GH200 芯片(所以只有一个 GPU),作为 PCIe 板卡,没有 NVLINK;
  2. 每台 node 的网卡或加速卡 BlueField-3 (BF3) DPUs 连接到交换机;
  3. 跨 node 的 GPU 之间没有直连,而是通过主机网络(走 GPU->CPU-->NIC 出去)的方式实现通信;
  4. 适合 HPC workload、中小规模的 AI workload。

4.2 NVIDIA GH200 NVL32:原厂 32 卡机柜

通过 NVLINk 将 32 个 GH200 芯片全连接为一个逻辑 GPU 模块,所以叫 NVL32

NVIDIA GH200 NVL32 组网。[2]

  1. NVL32 模块实际形态是一个机柜
    • 一个机柜能提供 19.5TB 内存+显存;
    • NVLink TLB 能让任意一个 GPU 访问这个机柜内的任意内存/显存;

      NVIDIA GH200 NVL32 中 3 种内存/显存访问方式。[2]

    • Extended GPU Memory (EGM)
  2. 多个机柜再通过网络互连,形成集群,适合超大规模 AI workload。

5 总结

本文粗浅地整理了一些 NVIDIA GH200 相关技术知识。

其他:

  • Grace CPU 的测评

参考资料

  1. Practical Storage Hierarchy and Performance: From HDDs to On-chip Caches(2024)
  2. NVIDIA GH200 Grace Hopper Superchip & Architecture, datasheet, 2024
  3. NVIDIA GB200 NVL72 Delivers Trillion-Parameter LLM Training and Real-Time Inference, 2024

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/947216.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vite6+vue3+ts+prettier+eslint9配置前端项目(后台管理系统、移动端H5项目通用配置)

很多小伙伴苦于无法搭建一个规范的前端项目,导致后续开发不规范,今天给大家带来一个基于Vite6TypeScriptVue3ESlint9Prettier的搭建教程。 目录 一、基础配置1、初始化项目2、代码质量风格的统一2.1、配置prettier2.2、配置eslint2.3、配置typescript 3、…

ESLint+Prettier的配置

ESLintPrettier的配置 安装插件 ​​​​​​ 在settings.json中写下配置 {// tab自动转换标签"emmet.triggerExpansionOnTab": true,"workbench.colorTheme": "Default Dark","editor.tabSize": 2,"editor.fontSize": …

Cyber Security 101-Web Hacking-JavaScript Essentials(JavaScript 基础)

任务1:介绍 JavaScript (JS) 是一种流行的脚本语言,它允许 Web 开发人员向包含 HTML 和 CSS(样式)的网站添加交互式功能。创建 HTML 元素后,您可以通过 JS 添加交互性,例如验证、on…

《机器学习》从入门到实战——逻辑回归

目录 一、简介 二、逻辑回归的原理 1、线性回归部分 2、逻辑函数(Sigmoid函数) 3、分类决策 4、转换为概率的形式使用似然函数求解 5、对数似然函数 ​编辑 6、转换为梯度下降任务 三、逻辑回归拓展知识 1、数据标准化 (1&#xf…

JDK8源码分析Jdk动态代理底层原理

本文侧重分析JDK8中jdk动态代理的源码,若是想看JDK17源码分析可以看我的这一篇文章 JDK17源码分析Jdk动态代理底层原理-CSDN博客 两者之间有着略微的差别,JDK17在JDK8上改进了不少 目录 源码分析 过程 生成的代理类大致结构 本文侧重分析JDK8中jdk…

ZYNQ初识6(zynq_7010)clock时钟IP核

基于板子的PL端无时钟晶振,需要从PS端借用clock1(50M)晶振 接下去是自定义clock的IP核封装,为后续的simulation可以正常仿真波形,需要注意顶层文件的设置,需要将自定义的IP核对应的.v文件设置为顶层文件&a…

深度学习模型格式转换:pytorch2onnx(包含自定义操作符)

将PyTorch模型转换为ONNX(Open Neural Network Exchange)格式是实现模型跨平台部署和优化推理性能的一种常见方法。PyTorch 提供了多种方式来完成这一转换,以下是几种主要的方法: 一、静态模型转换 使用 torch.onnx.export() t…

GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网

记录一些平时接触到的 GPU 知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用 1 术语与基础 1.1 PCIe 交换芯片1.2 NVLink 定义演进:1/2/3/4 代监控1.3 NVSwitch1.4 NVLink Switch1.5 HBM (High Bandwidth Memory) 由…

在Unity中用Ab包加载资源(简单好抄)

第一步创建一个Editor文件夹 第二步编写BuildAb(这个脚本一点要放在Editor中因为这是一个编辑器脚本,放在其他地方可能会报错) using System.IO; using UnityEditor; using UnityEngine;public class BuildAb : MonoBehaviour {// 在Unity编…

【贪心算法】贪心算法七

贪心算法七 1.整数替换2.俄罗斯套娃信封问题3.可被三整除的最大和4.距离相等的条形码5.重构字符串 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#x1f…

(五)人工智能进阶:基础概念解释

前面我们介绍了人工智能是如何成为一个强大函数。接下来,搞清损失函数、优化方法和正则化等核心概念,才能真正驾驭它! 1. 什么是网络模型? 网络模型就像是一个精密的流水线工厂,由多个车间(层&#xff0…

SpringMVC(二)原理

目录 一、配置Maven(为了提升速度) 二、流程&&原理 SpringMVC中心控制器 完整流程: 一、配置Maven(为了提升速度) 在SpringMVC(一)配置-CSDN博客的配置中,导入Maven会非…

2、redis的持久化

redis的持久化 在redist当中,高可用的技术包括持久化,主从复制,哨兵模式,集群。 持久化是最简单的高可用的方法,作用就是备份数据。即将数据保存到硬盘,防止进程退出导致数据丢失。 redis持久化方式&…

【算法】模拟退火算法学习记录

写这篇博客的原因是博主本人在看某篇文章的时候,发现自己只是知道SGD这个东西,但是到底是个啥不清楚,所以百度了一下,然后在通过博客学习的时候看到了退火两个字,想到了本科做数模比赛的时候涉猎过,就上bil…

Visual Point Cloud Forecasting enables Scalable Autonomous Driving——点云论文阅读(12)

此内容是论文总结,重点看思路!! 文章概述 这篇文章介绍了一个名为 ViDAR 的视觉点云预测框架,它通过预测历史视觉输入生成未来点云,作为自动驾驶的预训练任务。ViDAR 集成了语义、三维几何和时间动态信息,有效提升了感知、预测和规划等自动驾驶核心任务的性能。实验表明…

AI 将在今年获得“永久记忆”,2028美国会耗尽能源储备

AI的“永久记忆”时代即将来临 谷歌前CEO施密特揭示了AI技术的前景,他相信即将在2025年迎来一场伟大的变化。AI将实现“永久记忆”,改变我们与科技的互动过程。施密特将现有的AI上下文窗口比作人类的短期记忆,难以持久保存信息。他的设想是…

工控主板ESM7000/6800E支持远程桌面控制

英创公司ESM7000 是面向工业领域的双核 Cortex-A7 高性能嵌入式主板,ESM6800E则为单核Cortex-A7 高性价比嵌入式主板,ESM7000、ESM6800E都是公司的成熟产品,已广泛应用于工业很多领域。ESM7000/6800E板卡中Linux系统配置为linux-4.9.11内核、…

越权漏洞简介及靶场演示

越权漏洞简介及靶场演示 文章目录 一、什么是越权? (一)越权漏洞的概念(二)越权漏洞的分类(三)常见越权方法(四)未授权访问 二、越权漏洞测试过程 (一&…

VIT:视觉transformer|学习微调记录

一、了解VIT结构 vit提出了对于图片完全采用transformer结构而不是CNN的方法,通过将图片分为patch,再将patch展开输入编码器(grid_size网格大小),最后用MLP将输出转化为对应类预测。 详细信息可以看下面这个分享&…

coredns报错plugin/forward: no nameservers found

coredns报错plugin/forward: no nameservers found并且pod无法启动 出现该报错原因 是coredns获取不到宿主机配置的dns地址 查看宿主机是否有dns地址 resolvectl status 我这里是配置正确后,如果没配置过以下是不会显示出dns地址的 给宿主机增加静态dns地址之后将…