第四代NVSwitch芯片解析

科技   2024-11-22 17:39   北京  

大会预告

12月5-6日,2024中国生成式AI大会(上海站)将举办,30+位嘉宾已确认参会演讲。其中,上海交大副教授、无问芯穹联合创始人兼首席科学家戴国浩,GMI Cloud 亚太区总裁King.Cui,英飞流创始人张颖峰,Jina AI联合创始人兼首席技术官王楠,中昊芯英芯片软件栈负责人朱国梁将在AI Infra峰会带来分享,欢迎报名~


NVLINK 本身的动机是出于对带宽和GPU的协同操作的需求,有如下特点


GPU运行特性符合NVLink规范

  • 线程块执行结构高效支持并行化的NVLink架构。

  • NVLink端口接口尽可能与L2的数据交换语义匹配。


比PCIe更快


  • 每通道带宽:100Gbps(NVLink4) vs 32Gbps(PCIe Gen5)。

  • 多个NVLink可“组合”以实现更高的总通道带宽。


比传统网络开销更低


  • 目标系统扩展规模(如256个Hopper GPU)允许将复杂功能(如端到端重试、自适应路由、数据包重新排序)用更高的端口数量来权衡。

  • 简化的应用层、表示层、会话层功能,使其可以直接嵌入CUDA程序或驱动程序中。

NVLink4.0这一代,1条差分对带宽由50 Gbit/s再次翻倍提升至100 Gbit/s,此时编码变为PAM4,虽然带宽翻倍了,但是奈奎斯特频率仍然与NVLink3.0一样,也就是50Gbaud。而此时H100从A100的12条通道提升至18条,因此在NVLink信号线数目减少的情况下将带宽增加至900GB/S。
  • A100 是 2 lanes/NVSwitch * 6 NVSwitch * 50GB/s/lane= 600GB/s 双向带宽(单向 300GB/s)。注意:这是一个 GPU 到所有 NVSwitch 的总带宽;

  • A800 被阉割了 4 条 lane,所以是 8 lane * 50GB/s/lane = 400GB/s 双向带宽(单向 200GB/s)。

第四代NVLINK4 增加了新的Feature:

NVLink网络支持


  • PHY电气接口兼容400G以太网/InfiniBand标准。

  • OSFP支持(每个笼子4个NVLink),配备定制固件以支持主动模块。

  • 提供额外的前向纠错(FEC)模式,以提升光缆的性能和可靠性。


带宽翻倍


  • 每差分对支持100Gbps(50Gbaud PAM4)。

  • 双倍NVLink配置和每个NVSwitch支持64条NVLink(内部双向带宽达1.6TB/s)。

  • 使用更少的芯片实现更高带宽。

支持SHARP集合操作/多播

  • NVSwitch内部数据复制,避免源GPU进行多次访问。

  • 嵌入式ALU允许NVSwitch代表GPU执行AllReduce(或类似)计算。

  • 在AI应用中对通信密集型操作的数据吞吐量大约翻倍


AllReduce属于多对多的通信原语,具有多个数据发送者,多个数据接收者,其在集群内的所有节点上都执行相同的Reduce操作,可以将集群内所有节点的数据规约运算得到的结果发送到所有的节点上。AllReduce操作可通过在主节点上执行Reduce + Broadcast或ReduceScatter + AllGather实现,如下图所示:先在主节点上执行reduce得到规约累加和,再把这个累加和 broadcast到其他的节点,这样整个集群内,每个节点的数值就都保持一致。在这里,第四代NVLINK Switch 应该是把Brodcast 都做了,甚至是代表GPU  做All Reduce 计算,这个极大的offload GPU的负担。
第四代NVSWITCH芯片

有史以来最大的NVSwitch


32个PHY通道

  • 工艺技术:TSMC 4N

  • 晶体管数:251亿

  • 芯片面积:294mm²

  • 封装尺寸:50mm × 50mm(2645颗焊球)


史上最高带宽

  • NVLink4端口:64个(每个NVLink包含2个通道)

  • 全双工带宽:3.2TB/s

  • 信号传输:50Gbaud PAM4差分对信令


新功能
  • 提供400GFLOPS FP32 SHARP计算能力(支持其他数值格式)。

  • 集成NVLink网络管理、安全和遥测引擎。

  • 所有端口均支持NVLink网络功能。


下面简要介绍一下AllREDUCE 操作在AI Training中的作用
AllReduce 是一种在分布式计算中用来 聚合数据 的通信操作。它的核心作用是:
将多个计算节点(比如 GPU)产生的数据(比如梯度)汇总到一起,然后分发给所有节点,以便同步计算结果。
基本的例子:
假设有一个团队在统计不同地区的销量数据:
  • 每个人(节点/GPU)负责一个地区,统计出自己地区的销量数据(梯度)。

  • 最后,通过团队的协调(AllReduce 操作),每个人将数据加总到一个统一的总数,并分享给每个人。

对于 AI 训练,AllReduce 的作用类似:
  1. 每个 GPU 都会处理一部分输入数据(比如图片Batch),计算出 局部梯度。

  2. 使用 AllReduce,把每个 GPU 的梯度汇总起来(相当于“团队开会统计总销量”)。

  3. 汇总后的梯度被分发回各个 GPU(保证每个 GPU 都能看到总结果)。

  4. 每个 GPU 用同样的总梯度更新模型参数,从而保持模型一致性。


传统 AllReduce 的计算过程


  • 数据交换过程复杂:

1. 每个 GPU 在交换阶段需要与其他所有 GPU 互相通信。
2. 数据分成部分(Partials)传递,然后逐步求和(Reduce),最终通过广播(Broadcast)分发结果
3. 多阶段的通信流程导致 GPU 间通信复杂且带宽需求高。
  • 带宽效率低:

1.每个 GPU 需要执行多次发送和接收操作,通信流量较大(例如:N次发送 和 N次接收)。
2. 通信延迟和带宽利用率限制了整体性能。

NVLink Switch(SHARP 加速)的计算改进


SHARP 的全称是 Scalable Hierarchical Aggregation and Reduction Protocol,即可扩展分层聚合与归约协议。
  • 步骤优化:

             Step 1:GPU 将部分梯度(Partials)发送到 NVLink Switch,Switch 内部直接完成“Reduce”操作(求和)。这避免了 GPU 间的直接多对多通信,减轻了通信压力。
            Step 2:Switch 使用多播(Multicast)功能,将 Reduce 结果同时发送给所有 GPU。大幅减少广播阶段的重复操作。
  • 计算嵌入:

    1.NVLink Switch 集成了计算单元,可以在交换数据的同时完成 Reduce 运算,从而减少通信环节。
  • 通信优化:

    1. 相比传统 AllReduce 的多次传输,NVLink SHARP 减少了 GPU 的通信次数(仅需 N+1 次发送 和 N+1 次接收),提升通信效率
     2. 有效带宽近乎翻倍。

NVLink Switch 加速的主要优点


高效利用带宽:
减少了通信数据流量(约为传统方案的一半)
提高了 NVLink 的有效带宽,使系统整体通信性能更接近硬件带宽上限。
降低延迟:
  • Switch 内部完成计算,GPU 的通信开销显著减少。

  • 减少了全局同步操作的复杂性,提升了 AI 训练的整体速度。


支持大规模集群:
  • NVLink SHARP 的设计使其更适合在超大规模 GPU 集群(如 256+ GPUs)中使用,避免通信成为性能瓶颈。


简化 GPU 操作:
  • GPU 只需专注于发送和接收简化数据,Switch 处理复杂的计算和数据分发任务。

    

总结来说,NVLink Switch 的引入极大优化了 AllReduce 的通信流程,将计算和通信有机结合,减少了通信开销,并在大规模分布式 AI 训练中提供了显著的加速效果。
未完待续。。。

—END—


点击下方名片


即刻关注我们


算力猩
隶属于智猩猩,关注计算芯片创新,解读中国算力突破。
 最新文章