GPU|NVIDIA RESEARCH 为多个多芯片 GPU 引擎设计了一个课程( 三 )


无论如何 , 根据针对 AI 工作负载的配置 , GPU-N 设备上有 60 MB 的 L2 缓存 , 可以在 FP16 下产生非常可观的 779 teraflops , 并且 HBM 带宽为 2.7 TB/秒 。 AI引擎和HPC引擎看起来很受人尊敬 , 对吧?
没那么快 。 英伟达表示 , 根据其在 GPU-N 上的模拟 , 没有足够的内存带宽会影响 AI 训练和推理工作负载的执行时间 , 并且基于一系列 HPC 基准测试的任何带宽增加“都将在很大程度上未被充分利用”在同时针对 HPC 和 AI 工作负载的融合 GPU 设备上 , 例如 Nvidia GP100、GV100 和 GA100 GPU 。 如果将 GPU-N 设备的带宽减少 25% , HPC 作业只会减慢 4% , 如果将其减半——低于 A100 加速器提供的 1.55 TB/秒——HPC 应用程序只会减慢下降了 14% 。
为了提高 HBM 内存的带宽利用率并减轻其压力 , 英伟达模拟了添加更大 L2 缓存的效果 , 大约 1 GB 到 2 GB 的缓存最适合 AI 工作负载 。 唯一的问题是你不能在 GPU 芯片上放置那么多 L2 缓存 。 那么 GPU 供应商该怎么做呢?将内存控制器和 L3 缓存小芯片添加到 GPU 包中 , 并根据 HPC 和 AI 工作负载的要求混合和匹配容量 。 像这样:

有很多不同的方法可以通过分解可能存在于一个巨大的单片芯片上的功能然后将它们粘合在一起来创建 GPU 小芯片组件 , 并且 GPU-N 模拟采用了多种分解方法 , 如下所示:

这种架构有一个定制的内存系统模块或 MSM , 用于特定的工作负载 , 无论是 HPC 还是 AI , 而且很可能会有 AI 训练和 AI 推理的变体 , 具体取决于需要 。 像 P100、V100 和 A100 这样的单片 GPU 显示在上图的左侧 。 在一种方法中 , 将流式多处理器 (SM) 连接在一起的片上网络保留在计算小芯片上 , 并且一些快速 I/O 管道从 GPU NOC 连接到包含 L2 缓存和内存控制器的小芯片 。 输出到 HBM 内存 。 在中间方法中 , GPU NOC 在缓存和内存控制器小芯片上移动 , SM 上的 L1 缓存直接链接到外部 GPU NOC 。 在第三个选项中 , GPU NOC 和 L2 缓存留在计算小芯片上 , L2 缓存链接到 MSM 中的外部 L3 缓存和内存控制器 , 后者又链接到 HBM 内存 。 Nvidia 考虑了这些选项 , 并在 GPU-N 模拟的右侧选择了选项三 , 主要是因为将 GPU 连接到 NOC 需要数十 TB/秒的带宽 , 并且需要大量能量 。
现在我们已经找到了分解组件的方法 , 我们必须找到一种方法将它们重新拼接在一起 , 并且有许多 2.5D 和 3D 选项 , Nvidia 概述了这些选项:

同样 , 左侧是今天 Nvidia GPU 引擎的构造方式 , GPU 芯片上的内存控制器以及 GPU I/O 和电源以及内存控制器通过中介层连接到 HBM 。 英伟达用 GPU-N 设备模拟的第一个选项是在 GPU 和中介层之间放置一个 L3 缓存 , 并将 HBM 内存控制器放在同一个小芯片上 , 在 GPU 小芯片和内插器之间使用短的 3D 超高带宽链接 。MSM 上的 L3 缓存和内存控制器 。 具有 3D 封装的芯片边缘限制了您可以为芯片配置的 HBM 内存量 。
使用中间封装选项 , 一对 MSM 位于 GPU 计算的左侧和右侧 , 并通过四条链路链接到中介层上 , 链接到 L3 缓存和 MSM 上的内存控制器 , 后者又链接到HBM 内存 。 这实质上是未来的 HPC GPU 电机 。 对于第三个选项 , MSM 加载了 L3 缓存 , 并使用 2.5D 封装将组件链接在一起 。 我们认为 , 这将是未来 Nvidia AI GPU 电机的样子 。 当然 , 两者都在概念上 。 关键是 , 使用单独的 MSM , 您可以在 GPU 内核和 MSM 之间放置快速管道 , 以保持它们接收数据 , 但也可以增加边缘长度以添加更多 HBM 内存 , 如选项三所示 。 对于右边的第三个选项 , 英伟达表示它可以在其 MSM 上创建 10 个 HBM 站点 , 如果使用一个更胖的站点 , 它最多可以创建 14 个 HBM 站点 。 那是更多的内存容量和带宽 。 多少取决于 HBM 的容量和速度 , 但对于未来 GPU 的 AI 版本 , 它可能是我们在 A100 加速器上看到的 2 到 3 倍——也许更高 。 GPU-N 模拟有 100 GB , 考虑到经过改进的 A100 已经有 80 GB , 这并不令人印象深刻 。 Nvidia 模拟了具有 1.9 GB 三级缓存和 167 GB HBM 内存、总带宽为 4.5 TB/秒的 GPU-N 以及具有 233 GB HBM 内存和 6.3 TB/秒带宽的 GPU-N 。 运行一套 MLPerf 训练和推理测试的最佳设计是 960 MB L3 缓存和 167 GB HBM 内存 , 带宽为 4.5 TB/秒 。 通过添加 L3 缓存并提高 HBM 内存的速度和容量 。 来自 GPU-N 模拟的一个有趣的花絮 , 在 3D 封装场景中 , 通过 UHB 链路提供 14.7 TB/秒的带宽只需要不到 4% 的硅 , 并且消耗不到 2 瓦;2.5D UHB 链路占用 6% 的硅并消耗 9 瓦 。