想象你管理着一座城市快递网络。AI 大模型训练,就像几百分拣站(GPU)合力拆解一个巨大包裹:每个分拣站算一小块,然后反复把结果告诉伙伴。如果站与站之间的路太窄、太堵,哪怕每个站的工人手速再快,整体进度也会被“传纸条”卡住。在这个比喻里,NVLink 就是给两座分拣站之间修的专用高速传送带——点对点、不共享、极快;NVSwitch 则是一座中央转运枢纽——所有分拣站只需一根管道接入枢纽,就能和任意其他站快速互传,不必两两修路。GPU 集群的性能密码,一半在芯片算力,另一半就在这条“互连道路”上。从最早的环形小路,到今天的全互联高速网,再到用 InfiniBand 打通城市与城市,这篇文章带你从零看懂 NVLink 与 NVSwitch 到底是什么、如何演进、以及工程师如何在成本与带宽之间做权衡,把一张张 GPU 织成真正能打仗的算力集群。

岗位关联

对 AI 从业者来说,理解卡间互连是设计大模型训练集群、估算算力成本和诊断训练性能瓶颈的底层能力——这决定了你的集群是“满血输出”还是“望路兴叹”。

目录
  1. 可视化演示
  2. 初识NVLink:GPU间的专用快车道
  3. NVSwitch枢纽:全互联的中央交换台
  4. 拓扑结构:道路怎么修
  5. 带宽代际:传动带一代比一代宽
  6. DGX与HGX:整机装配的智慧
  7. 组网成本:带宽与钱包的博弈
  8. InfiniBand配合:跨机城际高速
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

演示NVLink点对点连接、NVSwitch全互联拓扑、PCIe vs NVLink带宽对比三大场景,点击步骤切换互连模式。

本节配有交互动效(进入视口后自动加载,约 3KB)。

NVLink点对点互联 GPU间直连高速通道,跳过PCIe瓶颈 每条NVLink带宽远超PCIe 4.0 BW = links × per_link_bw P2P模式下非全联通,需NVSwitch补充

初识NVLink:GPU间的专用快车道

假设你管着一座城市的快递网络,仓库 A 和仓库 B 每天要对账海量包裹。以前走普通马路(PCIe),路窄车多,高峰期堵得水泄不通。于是你给 A、B 之间修了一条专属传送带——不跟别人共享,想传就传。这就是 NVLink 的雏形:GPU 与 GPU 之间的专用快车道。

在 AI 服务器里,一张 GPU 卡就是一个“仓库”,大模型训练时它们要频繁交换中间结果和梯度。PCIe 是通用的“马路”,所有设备共享总线;而 NVLink 是 NVIDIA 私有的点对点直连协议,只服务 GPU 之间,占用独立通道、延迟极低,不会和其他设备抢带宽。

连接 A、B 两仓的传送带到底有多宽?NVLink 采用高速差分信号,每根物理链路可以同时双向收发。H100 单卡集成了 18 条 NVLink 链路,每条单向速率 25GB/s,双向翻倍后,这张卡与外界通信的总带宽达到惊人的 900GB/s——大约是 PCIe 5.0 x16 的 14 倍。

回到快递比喻,这条专用传送带让 A、B 两仓的对账从“堵在路上几小时”变成“几分钟完事”。这就是大模型训练离不开 NVLink 的原因——单卡算得再快,卡间传不动,训练就会在原地空转。

BW总=L×R×2=18×25 GB/s×2=900 GB/s\mathrm{BW}_{\text{总}} = L \times R \times 2 = 18 \times 25\ \mathrm{GB/s} \times 2 = 900\ \mathrm{GB/s}
这条公式的本质是“车道数 × 每条车道每秒能跑的车数 × 双向”,H100 用 18 条双向车道凑出了 900GB/s 的天花板。
  1. 链路数 LGPU 上 NVLink 物理通道的条数,H100 集成了 18 条。
    L=18L = 18
  2. 单链路单向速率 R每条通道一个方向每秒能传输的数据量,NVLink 4.0 为 25GB/s。
    R=25 GB/sR = 25\ \mathrm{GB/s}
  3. 双向乘 2每根链路可同时收发,所以总带宽要在单向基础上翻倍。
    18×25×2=900 GB/s18 \times 25 \times 2 = 900\ \mathrm{GB/s}

NVSwitch枢纽:全互联的中央交换台

仓库从 2 个变成 8 个之后,你不可能给每两个仓库都修一条专线——算一下就知道要 28 条,占地又费钱。更聪明的做法是建一个中央转运枢纽:每个仓库只接一根管道进来,由枢纽内部负责把包裹转到目标仓库。NVSwitch 扮演的正是这个角色。

NVSwitch 是 NVIDIA 专门设计的 NVLink 交换芯片,内部集成了庞大的交叉开关(crossbar),可以把来自多个 GPU 的 NVLink 信号按需互相转发。GPU 不需要两两直连,只要连到 NVSwitch,就能和域内任意一张 GPU 通信。以 HGX H100 主板为例:8 张 GPU 各通过 18 条 NVLink 接到 4 颗 NVSwitch 芯片上,任意两张 GPU 之间互通都只需“一跳”,既没有中间转发损耗,也不经过 PCIe 的瓶颈。

如果不用交换机,8 张卡两两直连到底要多少根线?这个数字就是高中就学过的组合数。

中央枢纽建好后,8 个仓库之间互传包裹都只需“进枢纽、出枢纽”一步,这就是全互联(all-to-all)的威力。大模型训练里最频繁的“全卡同步梯度”操作,正是依赖这种一跳直达才跑得动。

C82=8×(8−1)2=28C_{8}^{2} = \frac{8 \times (8-1)}{2} = 28
8 张卡两两配对需要 28 条专线,而 NVSwitch 只用 8 条进枢纽的管道就实现了同样的互联效果。
  1. 组合数含义8 张卡中任取 2 张配对,每一对都要一条直连线。
    C82C_{8}^{2}
  2. 公式展开组合数等于 N(N-1)/2,8 卡要 28 条两两直连。
    8×72=28\frac{8 \times 7}{2} = 28
  3. 枢纽改造后每张卡只连交换机,链路数从 28 降为 8,任意通信仍一跳直达。
    L交换=8L_{\text{交换}} = 8

拓扑结构:道路怎么修

修路有不同修法。最早 NVLink 一代的时候,GPU 像一座小城的环线公交:每站只能连接相邻两站,这就是环形拓扑。要从一站去对角那站,得绕大半个城,既慢又占路。

后来链路变多了:V100 每个 GPU 有 6 条 NVLink,能修成更高维的网格;到了 A100/H100 时代,NVSwitch 把拓扑升级成“星型+全互联”——每个 GPU 到中心只有一跳,但中心内部等效于全连接。除此之外,机房级组网常用胖树(fat-tree):每一层往上带宽逐层加宽,像一棵越往上越粗的树,避免上层成为瓶颈。

不同修路方案的成本和延迟差异很大。环形拓扑只要 N 条线路,但数据平均要绕 N/4 跳;全连接拓扑任何两台都直达,但线路数按组合数暴涨。

“道路怎么修”直接决定了通信延迟。对训练来说,每步迭代都要做一次全局同步,少一跳就是实打实的时间节省,这也是 NVSwitch 全互联能显著加速大模型训练的根本原因。

L全连接=N(N−1)2=28,L环=N=8L_{\text{全连接}} = \frac{N(N-1)}{2} = 28, \qquad L_{\text{环}} = N = 8
修路方案决定成本与延迟:环形省路但绕路,全连接费路但一跳直达。
  1. 环形链路数N 台设备首尾相接,只需 N 条线。
    L环=8L_{\text{环}} = 8
  2. 全连接链路数两两相连需要 N(N-1)/2 条线。
    L全连接=8×72=28L_{\text{全连接}} = \frac{8 \times 7}{2} = 28
  3. 平均跳数对比8 卡环形平均要绕 2 跳,全连接固定 1 跳。
    H环=84=2,H全连接=1H_{\text{环}} = \frac{8}{4} = 2, \quad H_{\text{全连接}} = 1

带宽代际:传动带一代比一代宽

传送带也在不断升级。NVLink 1.0 时代是窄带,P100 总带宽只有 160GB/s;V100 提升到 300GB/s;A100 翻倍到 600GB/s;H100 达到 900GB/s;最新的 B200 直接突破到 1.8TB/s。短短几年,一条“传送带”的宽度翻了十倍以上。

每一代的提升来自两个方向:把单根链路加宽(提升单链路速率),或者增加链路数量。A100 是 12 条 × 25GB/s × 2;H100 是 18 条 × 25GB/s × 2;到了 NVLink 5.0,B200 用 18 条 × 50GB/s × 2 冲上 1.8TB/s。总带宽是“双向同时收发”口径下算出来的。

把相邻两代的总带宽放在一起相除,就能看出这条演进曲线的斜率。

传送带越来越宽的背后,是 AI 模型越来越大——训练千亿参数模型时,每次梯度同步的“包裹”多到惊人,带宽永远不嫌多。这也是为什么每代 GPU 都要把互连带宽同步翻倍。

BWt+1BWt∈[1.5,2]\frac{\mathrm{BW}_{t+1}}{\mathrm{BW}_{t}} \in [1.5, 2]
相邻两代总带宽通常增长 1.5~2 倍:V100→A100 翻倍,A100→H100 增长一半,H100→B200 再度翻倍。
  1. 相邻代比值用后一代总带宽除以前一代,V100→A100 得到 2。
    600300=2\frac{600}{300} = 2
  2. 增速区间A100→H100 得 1.5,H100→B200 得 2,总体落在 1.5~2 倍之间。
    900600=1.5,1800900=2\frac{900}{600} = 1.5, \quad \frac{1800}{900} = 2
  3. 代际总增长从 V100 到 B200,带宽从 300GB/s 涨到 1800GB/s,扩大了 6 倍。
    1800300=6\frac{1800}{300} = 6

DGX与HGX:整机装配的智慧

传送带和枢纽修得再好,也得有人把它们组装成标准产品。NVIDIA 提供了两种形态:DGX 是“整机交付”,像买一套精装智能仓——机柜、8 张 GPU、NVSwitch、NVLink、散热全部装好,开箱即用;HGX 则像只卖发动机和底盘给汽车厂,服务器厂商自己配外壳和电源。

DGX H100 是 8 卡一体机:每卡 900GB/s NVLink 接入全互联网络,配合 4 颗 NVSwitch 芯片和工业级散热底座。HGX H100 主板把同样的"8 GPU + NVSwitch"电路做成标准板卡,浪潮、戴尔、超微等厂商把它装进各自的机架,用户因此有了更多选择。

衡量这套系统通信能力有个关键指标:对分带宽(bisection bandwidth)——把 8 卡从中间切成两半,两半之间能同时传输的总带宽。它比“单卡带宽 × 卡数”更真实地反映了全网能跑多快。

整机厂把最复杂的布线做完,用户完全不用关心哪根线连哪儿。正是这种“预制化”思路,让 NVLink/NVSwitch 技术能从实验室走向大规模集群。

BW对分=N2×BW单卡=4×900 GB/s=3600 GB/s\mathrm{BW}_{\text{对分}} = \frac{N}{2} \times \mathrm{BW}_{\text{单卡}} = 4 \times 900\ \mathrm{GB/s} = 3600\ \mathrm{GB/s}
对分带宽衡量“把集群砍成两半,两半之间还能传多快”,是判断交换网络是否通畅的关键指标。
  1. 对半切分8 卡网络从中间切开,分成交替的两组各 4 卡。
    N2=4\frac{N}{2} = 4
  2. 半侧总带宽每一半的 4 张卡各自都能向另一半跑满 900GB/s。
    4×900=3600 GB/s4 \times 900 = 3600\ \mathrm{GB/s}
  3. 单位换算3600GB/s 折合 3.6TB/s,是衡量交换网络通畅度的核心数字。
    3600 GB/s=3.6 TB/s3600\ \mathrm{GB/s} = 3.6\ \mathrm{TB/s}

组网成本:带宽与钱包的博弈

条条大路通罗马,但修路要花钱。全互联最爽,可每加一张卡,直连线路数按组合数暴涨:8 卡要 28 条,16 卡就要 120 条。NVSwitch 把“线路爆炸”变成“每卡一根 + 交换机芯片”,但交换芯片本身很贵、功耗也不低,于是就有了权衡。

小规模场景(4-8 卡)用 NVSwitch 性价比很高;再往上,几十上百卡需要多颗 NVSwitch 分级互连,或者引入 InfiniBand 做机间扩展;而小模型的推理场景,PCIe 也许就够。工程上还要看实际通信模式:张量并行(TP)要求高带宽低延迟,适合放 NVLink;数据并行(DP)的梯度同步量固定且可流水化,对带宽上限没那么敏感。买什么配置,先回答“我的负载到底怎么通信”。

把两种方案的线路成本写出来,权衡点一目了然。

好的架构师就像精明的城市规划师:不追求每条路都是八车道,而是让最堵的主干道满足峰值,把钱花在刀刃上。

C全互联=28 c链路,C交换=8 c链路+c交换芯片C_{\text{全互联}} = 28\,c_{\text{链路}}, \qquad C_{\text{交换}} = 8\,c_{\text{链路}} + c_{\text{交换芯片}}
全互联的线路成本按组合数爆炸,交换式则是“线性线路 + 一颗枢纽芯片”,谁划算取决于规模。
  1. 全互联成本28 根直连线乘以单根成本,线路越多越贵。
    C全互联=28 c链路C_{\text{全互联}} = 28\,c_{\text{链路}}
  2. 交换式成本8 根到枢纽的线,加上 NVSwitch 芯片的成本。
    C交换=8 c链路+c交换芯片C_{\text{交换}} = 8\,c_{\text{链路}} + c_{\text{交换芯片}}
  3. 规模拐点GPU 超过约 6 张时,交换式的综合成本开始优于全互联。
    拐点≈N=6\text{拐点} \approx N = 6

InfiniBand配合:跨机城际高速

一座城市再大,也装不下全国的包裹。当训练集群要扩展到几十台服务器时,必须靠城际高速把一座座“智能仓”连起来。这张城际网,就是 InfiniBand(简称 IB)。

NVLink/NVSwitch 管的是“服务器内部”(scale-up),InfiniBand 管的是“服务器之间”(scale-out)。两者不是替代关系,而是分工协作:单机内用 NVLink 全互联,机间用 IB 组网,形成分级路由——就像仓库内用传送带,城市之间走高速。

以 DGX H100 为例,每台配有 8 个 400Gbps 的 IB 端口,单向聚合带宽是 400GB/s,比单卡 NVLink 的 900GB/s 少一半多,说明“跨机通信依然是短板”。因此工程师会做通信与计算重叠(如梯度分桶、异步流水),尽量把跨机流量藏到计算后面。

大模型训练就像全国物流:仓库内部用传送带(NVLink),仓库之间靠城际高速(InfiniBand),分级路由、逐层接力,才能支撑起万亿参数的庞然大物。

BW出口=P端口×S单口=8×50 GB/s=400 GB/s\mathrm{BW}_{\text{出口}} = P_{\text{端口}} \times S_{\text{单口}} = 8 \times 50\ \mathrm{GB/s} = 400\ \mathrm{GB/s}
8 个 400Gbps 的 IB 端口聚合出 400GB/s,仍不及单卡 NVLink 的 900GB/s——跨机通信依旧是短板。
  1. 单端口速率NDR InfiniBand 单端口 400Gbps,除以 8 得到 50GB/s。
    400 Gbps÷8=50 GB/s400\ \mathrm{Gbps} \div 8 = 50\ \mathrm{GB/s}
  2. 端口聚合一台 DGX H100 配 8 个 IB 端口,单向总出口 400GB/s。
    8×50=400 GB/s8 \times 50 = 400\ \mathrm{GB/s}
  3. 与 NVLink 对比400GB/s 不到单卡 NVLink 900GB/s 的一半,跨机仍是瓶颈。
    400 GB/s<900 GB/s400\ \mathrm{GB/s} < 900\ \mathrm{GB/s}

AI 应用场景

大模型训练集群组网设计

阶段:集群基础设施规划(训练前)

解决的问题:传统以太网组网带宽低、延迟高,多卡并行训练时通信成为瓶颈。用 NVLink + NVSwitch 做机内全互联,配 InfiniBand 做机间扩展,把通信延迟压到最低。

具体案例:某团队要建 32 台 DGX H100(共 256 卡)集群训练千亿参数 MoE 模型。机内用 NVSwitch 保证 8 卡一跳直达,机间用 400Gbps InfiniBand 胖树组网,再按专家并行把通信频繁的卡放在同一 NVLink 域内,实测训练吞吐比“全以太网 + PCIe 互连”方案提升约 40%。

分布式训练性能调优

阶段:训练与调优

解决的问题:GPU 利用率低,大量时间花在梯度同步上。通过 NVLink 带宽利用率定位通信热点,再调整并行策略。

具体案例:训练 7B 模型时发现 nvidia-smi 中 NVLink 利用率长期在 90% 以上,而 GPU 算力只用了 60%。工程师把张量并行度从 2 提到 4,让高频通信留在 NVLink 域内,同时用梯度压缩减少跨机 InfiniBand 流量,每步迭代时间缩短了 35%。

算力采购与成本核算

阶段:成本规划

解决的问题:NVLink 和 NVSwitch 价格不菲,是否值得投入。需要按通信负载建模,对比 PCIe、NVLink、InfiniBand 不同组合的性价比。

具体案例:云服务商评估“8 卡 PCIe 机型”与“8 卡 NVLink 机型”:后者整机贵约 30%,但大模型预训练吞吐高出一倍;而对小模型推理场景,PCIe 绰绰有余。最终按业务画像分池采购,把钱花在真正吃带宽的工作负载上。

Python 演示

python27 行
def avg_hop_ring(n_gpu):    # 环形拓扑平均跳数: N 台围成环, 任意两台平均走 N/4 跳    return n_gpu / 4.0 def transfer_time(data_gb, bw_gb_s, hop):    # 通信时间 = 数据量 * 跳数 / 每跳带宽 (单位: 秒)    return data_gb * hop / bw_gb_s def main():    n_gpu = 8    data_gb = 24.0        # 一次梯度同步的数据量 (GB)    bw_ring = 160.0       # NVLink 1.0 环形拓扑每卡总带宽 (GB/s)    bw_switch = 900.0     # H100 NVSwitch 全互联每卡总带宽 (GB/s)     hop_ring = avg_hop_ring(n_gpu)    hop_switch = 1.0     t_ring = transfer_time(data_gb, bw_ring, hop_ring)    t_switch = transfer_time(data_gb, bw_switch, hop_switch)     print(f"GPU 数量: {n_gpu}, 同步数据量: {data_gb} GB")    print(f"环形拓扑 (平均 {hop_ring:.2f} 跳, {bw_ring} GB/s): {t_ring:.4f} 秒")    print(f"NVSwitch 全互联 (1 跳, {bw_switch} GB/s): {t_switch:.4f} 秒")    print(f"新方案提速: {t_ring / t_switch:.2f} 倍") if __name__ == "__main__":    main()
目的:用跳数和带宽两个变量,模拟“老式环形拓扑 + 低带宽”与“NVSwitch 全互联 + 高带宽”在梯度同步上的耗时差异,直观量化组网升级的收益。
  1. def avg_hop_ring(n_gpu):定义环形拓扑的平均跳数估算函数,把“绕路程度”变成数值。
  2. return n_gpu / 4.0环形网络里任意两台平均相距 N/4 跳,8 台就是 2 跳。
  3. def transfer_time(data_gb, bw_gb_s, hop):定义通信耗时函数,把数据量、带宽、跳数三者关系表达出来。
  4. return data_gb * hop / bw_gb_s时间 = 数据量 × 跳数 ÷ 带宽,跳数越多、带宽越小,耗时越长。
  5. bw_ring = 160.0模拟老一代环形拓扑的单卡带宽,只有 160GB/s。
  6. bw_switch = 900.0模拟 H100 + NVSwitch 全互联的带宽,900GB/s。
  7. hop_switch = 1.0交换拓扑任何两卡一跳直达,跳数为 1。
  8. t_switch = transfer_time(data_gb, bw_switch, hop_switch)计算 NVSwitch 方案需要多少秒。
  9. print(f"新方案提速: {t_ring / t_switch:.2f} 倍")输出提速倍数,量化拓扑与带宽升级的收益。

常见误区

误区我一直以为 NVLink 是像以太网一样的网络设备,插上网线就能把多台服务器连起来组集群。

正解NVLink 是服务器内部的 GPU 点对点直连链路,物理距离只有几十厘米,协议也是 NVIDIA 私有协议;它不负责跨机器通信。机器之间得靠 InfiniBand 或以太网。好比专用传送带只在仓库内部运转,城市之间的货物还要靠城际高速公路。

为何常见:两者都叫“连接”,加上厂商宣传都在讲“高速互联”,初学者很容易把机内互连和机间网络混为一谈。

误区H100 每卡 900GB/s,8 张卡就是 7200GB/s,整个集群的总带宽听起来巨大无比。

正解900GB/s 是单卡 NVLink 的双向总带宽,指的是“这张卡同时能收发的总和”。多卡并发通信时,交换网络是共享的,不能简单把单卡数字相加。衡量全网能力要看对分带宽——DGX H100 是 3.6TB/s,而不是 7.2TB/s。

为何常见:厂商宣传页只标单卡数字,用户容易用“单卡 × 卡数”做直觉外推,忽略了网络共享特性。

误区多加几颗 NVSwitch,集群带宽就应该成倍增长,性能问题就都能解决。

正解NVSwitch 解决的是“能不能全互联”和端口数量问题,总带宽还受每卡链路数、链路速率和功耗散热限制;而且 NVLink 域有规模上限,跨域必须走网卡与 InfiniBand。更多交换机只提升端口密度,不等于线性提升每张卡的可用带宽。

为何常见:把“更多硬件 = 更快”的直觉用在拓扑工程上,忽略了共享链路和真实瓶颈的位置。

误区PCIe 5.0 x16 双向也有 64GB/s,感觉大模型训练用 PCIe 完全够用。

正解大模型 3D 并行每步要同步 GB 级梯度,PCIe 的 64GB/s 只有 NVLink 900GB/s 的约 1/14;更关键的是 PCIe 是多设备共享总线,8 卡同时通信会互相争抢,而 NVLink 每条链路独享带宽。用 PCIe 做大规模训练,通信一定成为绝对瓶颈。

为何常见:只看规格表峰值,没考虑多卡并发时的共享竞争,也没估算训练的真实通信量。

误区选型时无脑选最高带宽的 NVLink + InfiniBand 组合,预算直接拉满,觉得数字大就稳了。

正解带宽越高成本越高,还要看工作负载的通信模式:小模型或推理可能 PCIe 就够;大模型预训练和 MoE 才需要满血 NVLink + InfiniBand 分级组网。正确做法是先分析通信占比(比如用 profiler 看通信时间比例),再决定把钱花在算力还是网络上。

为何常见:把“性能指标”直接当成“业务收益”,忽略了性价比和实际瓶颈所在的位置。

面试题

Q1. NVLink 的主要定位是什么?

单选题 · easy

  • A.跨数据中心机间互联
  • B.服务器内GPU点对点互联← 正确答案
  • C.显示器视频输出接口
  • D.CPU与硬盘间的存储总线

答案:B。NVLink 是 NVIDIA 私有的 GPU 间点对点高速互联,物理上只存在于服务器内部,不负责跨数据中心,也不连接显示器或硬盘。选择 B 是因为它准确描述了“服务器内 + 点对点直连”两个关键特征。

Q2. NVSwitch 的核心作用是什么?

单选题 · easy

  • A.让多GPU实现全互联交换← 正确答案
  • B.提升GPU浮点计算峰值
  • C.负责服务器间的数据通信
  • D.替代CPU执行通用计算

答案:A。NVSwitch 是一颗 NVLink 交换芯片,让多张 GPU 经它实现全互联,任意两卡一跳直达。它不参与计算,也不负责跨服务器通信(那是 InfiniBand 的职责),因此选 A。

Q3. H100 SXM 的 NVLink 双向总带宽约为多少?

单选题 · mid

  • A.300GB/s
  • B.600GB/s
  • C.900GB/s← 正确答案
  • D.1.8TB/s

答案:C。H100 有 18 条 NVLink 链路,每条单向 25GB/s,双向翻倍后为 900GB/s。300GB/s 是 V100,600GB/s 是 A100,1.8TB/s 是 B200 的 NVLink 5.0 带宽,注意区分代际数字。

Q4. 8 张 GPU 若不用 NVSwitch,实现两两全互联需要多少条直连线?

单选题 · mid

  • A.需要 8 条直连线
  • B.需要 16 条直连线
  • C.需要 28 条直连线← 正确答案
  • D.需要 64 条直连线

答案:C。两两直连数等于组合数 C(8,2) = 8×7/2 = 28。8 条只是环形拓扑的连线数,16 条和 64 条都不是组合数结果。这正是 NVSwitch 能把“28 条线”压缩成“8 根管道”的原因。

Q5. 下列哪项不属于 NVLink 带来的优势?

单选题 · mid

  • A.相比PCIe带宽更高
  • B.卡间低延迟直接通信
  • C.取代InfiniBand跨机互联← 正确答案
  • D.为并行训练提供高吞吐

答案:C。NVLink 的优势集中在服务器内部的高带宽与低延迟,它无法跨机器传输,跨机互联要靠 InfiniBand 或以太网。因此“取代 InfiniBand 跨机互联”不是 NVLink 的能力,属于常见误解。

Q6. DGX H100 的 NVLink 对分带宽约为多少?

单选题 · hard

  • A.900GB/s
  • B.1.8TB/s
  • C.3.6TB/s← 正确答案
  • D.7.2TB/s

答案:C。对分带宽 = 把 8 卡对半分后,两半之间能同时传输的总带宽 = 4 × 900GB/s = 3600GB/s = 3.6TB/s。900GB/s 是单卡带宽,7.2TB/s 是把单卡数字简单相加的错误算法,3.6TB/s 才是衡量全网能力的正确指标。

Q7. 大模型分布式训练中,GPU 间的“卡间通信”主要是为了什么?

单选题 · easy

  • A.同步梯度更新模型← 正确答案
  • B.渲染画面给用户看
  • C.保存训练的日志文件
  • D.加密传输用户数据

答案:A。并行训练中每步前向反向后,各卡要把梯度汇总并广播,这就是卡间通信的核心目的。渲染、日志、加密都与模型训练梯度同步无关。可以把梯度同步理解成“快递站每天早晨的批量对账”。

Q8. 相比 PCIe,NVLink 的优势包括哪些?

多选题 · mid

  • A.单卡带宽更高← 正确答案
  • B.通信延迟更低← 正确答案
  • C.支持跨服务器组网
  • D.多卡直连不共享带宽← 正确答案

答案:ABD。NVLink 是专用点对点链路,带宽高于 PCIe、延迟更低、且每对通信独享带宽,不会像 PCIe 那样多卡争抢共享总线。但 NVLink 仅限服务器内部,不支持跨服务器组网,所以 C 不选。

Q9. 关于 InfiniBand 与 NVLink 的配合,下列说法正确的是?

多选题 · hard

  • A.NVLink负责服务器内互联← 正确答案
  • B.InfiniBand负责服务器间互联← 正确答案
  • C.两者互相替代完全对立
  • D.分级组网可扩展集群← 正确答案

答案:ABD。标准做法是 NVLink + NVSwitch 做机内 scale-up,InfiniBand 做机间 scale-out,二者分工而非对立。分级组网(机内全互联 + 机间高速网)正是大规模训练集群的通用架构,因此 C 错误。

Q10. 设计 NVLink 集群时,需要权衡哪些因素?

多选题 · hard

  • A.交换机芯片的成本← 正确答案
  • B.每张卡上的链路数← 正确答案
  • C.显卡外壳的颜色
  • D.实际训练的通信模式← 正确答案

答案:ABD。组网成本取决于交换芯片价格与每卡链路数,性能收益取决于实际通信模式(如张量并行吃带宽、数据并行可流水化)。外壳颜色与性能无关。好的方案是在带宽、成本与负载之间找平衡点,而不是盲目堆配置。