硬件特性 Hardware
NVLink 驱动代码覆盖从 1.0 到 5.0 共六个代际,支持 5 种端点类型(GPU、NVSwitch、EBridge、IBM NPU、TegraShim)。系统最大支持 NVLINK_MAX_SYSTEM_LINK_NUM = 624 条链路,可构建超大规模 NVSwitch Fabric 拓扑。
链路状态机包含 30 种离散状态,分为核心状态(OFF/HS/SAFE/FAULT/RECOVERY)、电源管理状态(SLEEP/ENABLE_PM/DISABLE_PM)、训练序列状态(INITPHASE1/INITNEGOTIATE/INITOPTIMIZE/ALI)以及预/后活动状态。TX/RX 子链路各自独立管理状态,各有 14 种状态(TX_HS/TX_LOW_POWER/TX_TRAIN/TX_EQ 等)。
nvlink.h 完整定义 拓扑发现代码微架构参数 Microarchitecture
- 训练超时:OFF 1ms → SAFE 70ms → HS 7000ms(7秒)→ ACTIVE_PENDING 2000ms
- 重试机制:SAFE 最多 7 次重试,发现包最多 4 次重试,训练种子 6 个
- Inband 重试超时:
KNVLINK_INBAND_RETRY_TIMEOUT_US = 4000000(4秒) - ALI 训练超时:
linkTrainingTimeout = 15000000(15秒) - Inband 消息最大尺寸:5120 字节
Inband 协议定义了 10+ 种消息类型(GPU_PROBE_REQ/RSP、MC_TEAM_SETUP_REQ/RSP、GPU_PROBE_UPDATE_REQ 等),Fabric Manager 通过 Probe Response 下发 gfId、GPA/FLA 地址范围、cliqueId、fabricHealthMask 等关键参数。
Inband 消息定义 寄存器定义 common_def芯片代际差异 Generation
| 特性 | Pascal GP100 | Volta/Turing | Ampere GA100 | Hopper GH100 | Blackwell GB100 |
|---|---|---|---|---|---|
| NVLink 版本 | 1.0 | 2.0/2.2 | 3.0/3.1 | 4.0 | 5.0 |
| 训练方式 | Legacy PRBS | Legacy | ALT 训练 | ALT + ALI 固件 | ALI 固件驱动 |
| NVSwitch 映射 | 8K×16GB | 8K×16GB Willow | 2K×64GB Limerock | 2K×512GB | 64 项 GPA 重映射表 |
| Fabric 地址对齐 | - | 34-bit (16GB) | 36-bit (64GB) | 39-bit (512GB) | 42-bit (4TB) |
| Peer Reset 范围 | 所有 Peer | 所有 Peer | 单 Peer | 单 Peer | 单 Peer |
| NVLink 加密 | 无 | 无 | 无 | NVLE (FSP) | NVLE (ALID/CLID) |
| EGM 支持 | 无 | 无 | 无 | 有 | 有 (HW WAR) |
| 自适应带宽 | 无 | 无 | 无 | 1Hz Callback | 有 |
| RBM 模式 | 无 | 无 | 无 | Full/Off/Min/Half/3Q | 按链路数 (0-12) |
| 子链路 SW 控制 | 完整 | 完整 | 完整 | 完整 | 旁路 (HW/FW) |
驱动实现算法 Algorithm
链路训练(三套算法):
- Legacy(NVL<3.0):PRBS 发生器 → TX_HS → 轮询两端 RX_HS(7s 超时)→ PRE_HS → HS → TRAFFIC_SETUP → ENABLE_PM
- ALT(NVL≥3.0):INITOPTIMIZE → POST_INITOPTIMIZE → PRE_HS → HS → TRAFFIC_SETUP → ENABLE_PM
- ALI(NVL≥4.0):固件驱动 — INITPHASE1 → 逐链路训练 → 轮询两端 postRxDetLinkMask → 获取 SID 信息
L2 退出训练(11 步):RESET → INITPHASE1 → RESTORE_STATE → RX_INIT_TERM → TX_COMMON_MODE → RX_RXCAL → TX_COMMON_MODE_DISABLE → TX_DATA_READY → SAFE(轮询两端)→ INITNEGOTIATE → ALT/Legacy 训练
拓扑发现:AN0 包注入 + 令牌匹配。NVL<3.0 由 SW 写入发现令牌;NVL≥3.0 由 Minion 固件处理,SW 直接获取 SID 值。
自适应带宽管理(Hopper+):1Hz 回调检测 P2P 空闲状态,空闲时暂停/更新 Fabric Probe,以新的 RBM 模式恢复。支持 Full/Off/Min/Half/3Quarter 五种模式(直连),NVSwitch 仅支持 Min/Full。
训练算法源码 初始化序列 电源管理状态机