📔读「大模型时代的基础架构:大模型算力中心建设指南」
type
Post
status
Published
date
Jan 27, 2026
slug
summary
category
LLM
tags
LLM
笔记
icon
password
AI summary
Blocked by
Blocking
Category
第1章 AI与大模型时代对于基础架构的需求
机器学习的核心认知
机器学习算法(尤以大模型、AI 为代表),本质是通过叠加多个线性幂函数,逼近现实世界的数学模型;计算这些函数的核心过程是调参,该过程涉及海量乘加运算,因此具备并行乘加能力的 GPU、TPU 等专用硬件,在该场景下的性价比远高于通用 CPU。
机器学习的核心流程可分为两步:
- 训练:先构建参数待定的高次线性方程模型,输入海量训练样本(模型的自变量、因变量值),由计算机求解出模型参数(即权重);
- 推理:基于训练得到的成熟模型,输入自变量即可计算出因变量,实现对未知场景的判断与输出。
为何 CPU 不适合重复的向量计算?
CPU 不适合向量运算的核心原因是架构为通用计算设计,对简单重复的向量运算存在天然效率瓶颈,核心限制有两点:
- 运算单元串行执行:单个 CPU 核心仅有 1 个 ALU(算术逻辑单元),处理向量卷积等简单重复运算时,只能串行执行指令,无法并行处理批量数据,运算效率极低;
- SIMD 并行能力有限:即便 CPU 通过 SIMD(单指令多数据)单元实现并行加速,但其寄存器位宽(如早期 SSE 的 128bit)受硬件设计限制,单次并行运算的数量(加速比)难以突破 16,无法满足向量运算对大规模并行的需求。
简言之,CPU 的设计初衷是处理复杂、多变的通用计算任务,而非简单、重复、批量的向量运算,硬件架构的天然特性使其在该场景下的效率远不及 GPU、TPU 等专用协处理器。
第2章 软件程序与专用硬件的结合
CUDA 并行计算编程框架核心梳理
CUDA 是原生为并行计算设计的编程框架,核心价值是为开发者屏蔽 GPU 并行计算的底层复杂操作,实现对 GPU 海量计算单元的简单易调。
对程序员而言,CUDA 工作流程完全透明化:仅需按 CUDA 规范编写代码,使用支持 CUDA 运行时库的编译器,即可生成可执行的并行计算代码,无需关注 GPU 数据传输、指令执行等底层细节 —— 这些操作均由 CUDA 内置的
libcudart.so 等动态链接库,调用 GPU 的 KMD(内核模式驱动)统一实现。
要实现 GPU 有效计算,需解决数据传输、代码下发、指令执行、结果回传四大核心问题,CUDA 将其封装为标准化的 4 步工作流程,实现 CPU(系统主内存)与 GPU 之间的协同计算:
- 数据入 GPU:GPU 发起 DMA(直接内存访问),将系统主内存中的计算数据复制到 GPU 专属内存中,为并行计算做数据准备;
- 指令注入:CPU 向 GPU 下发计算指令,明确 GPU 需执行的运算逻辑;
- 并行执行:GPU 调度内部多个计算线程,并行执行接收到的 GPU 指令,充分利用海量计算单元的并行能力;
- 结果回传:GPU 计算完成后,再次发起 DMA,将 GPU 内存中的运算结果搬运回系统主内存,供 CPU 后续处理或调用。
CUDA 本质是CPU-GPU 并行计算的 “中间桥梁”,通过封装底层驱动调用、DMA 数据传输、线程调度等操作,让开发者无需掌握 GPU 硬件细节,即可高效开发并行计算程序,是充分发挥 GPU 并行算力、适配 AI / 大模型等海量乘加 / 向量运算场景的关键框架。

第3章 GPU硬件架构剖析
NVIDIA H100 笔记(Hopper 架构)

基本规格

- 芯片:GH100
- 工艺:TSMC 4N
- 晶体管数:800 亿
- Die 大小:814 mm²
- 主流变体:H100 SXM(重点) vs H100 PCIe vs H100 NVL(94 GB HBM3e 版本)
H100 SXM 核心参数(主流训练/推理版本)

- GPC:8
- TPC:66
- SM:132
- FP32 CUDA Core:16,896(每个 SM 128 个)
- 第4代 Tensor Core:528(每个 SM 4 个)
- L2 Cache:50 MB(支持压缩/解压)
- 显存:80 GB HBM3,带宽 3.35 TB/s
- PCIe 版:80 GB HBM2e,带宽 ≈2.0 TB/s
- NVL 变体:94 GB HBM3e,更高带宽(≈4.8 TB/s 部分场景)
关键新特性
- Transformer Engine:动态 FP8/FP16 混合精度切换,专为 LLM 优化
- TMA(Tensor Memory Accelerator):异步张量内存访问
- Thread Block Cluster:多 SM 协作共享内存,提升并行效率
- DPX 指令:动态规划加速(基因序列等场景提升显著)
- 第2代 MIG:最多 7 个实例
- Confidential Computing:硬件级可信执行环境
CUDA Core vs 第4代 Tensor Core 对比
项目 | CUDA Core (FP32 主力) | 第4代 Tensor Core |
数量 (SXM) | 16,896 | 528 |
主要计算 | 通用标量/向量运算(激活、Norm、循环等) | 矩阵乘累加(GEMM、注意力、卷积等) |
支持精度 | FP64/FP32/FP16/BF16/INT 等 | FP8/FP16/BF16/TF32/FP64/INT8 |
全卡峰值性能 (约) | FP32 ~67 TFLOPS | FP8 ~3958 TFLOPS<br>BF16/FP16 ~1979 TFLOPS<br>TF32 ~989 TFLOPS |
大模型算力占比 | 辅助(5–15%) | 主力(85–95%+) |
核心结论:H100 的 AI 性能天花板主要由 Tensor Core + FP8 + Transformer Engine 决定,而非 CUDA Core 数量。
多卡互联体系(核心定位与差异)
总纲
H100 互联采用分层、互补设计:
- NVLink 4.0 → 节点内 GPU 点对点高速基础
- NVSwitch → 节点内全互联无阻塞(HGX 平台专用)
- PCIe Gen5 → 通用兜底 + CPU/外设通信
- NVLink Switch System → 跨节点扩展(256 GPU 域)
- InfiniBand / Ethernet → 超大规模集群节点间互联
形成“节点内紧耦合 + 跨节点松耦合”的完整方案。
1. 第4代 NVLink(点对点高速互联基础)
- 单 GPU 双向带宽:900 GB/s(18 条 × 50 GB/s)
- 对比:A100 的 600 GB/s 提升 50%;PCIe Gen5 x16 仅 128 GB/s(≈7 倍差距)
- 优势:P2P 直连、原子操作、硬件 All-Reduce 支持,延迟极低(微秒级)
- 限制:纯 NVLink 仅支持部分互联,单节点最多高效 4 张 GPU
- 适配场景:H100 PCIe 服务器(2/4 卡轻量训练/推理)、成本敏感部署
2. 第3代 NVSwitch(节点内全互联核心)
- 单芯片:64 端口,每端口双向 50 GB/s,总吞吐 13.6 Tbit/s(≈1.7 TB/s)
- HGX H100 8-GPU 配置:通常 4 个 NVSwitch 级联,实现 8 张 GPU 全互联(任意 GPU ↔ 任意 GPU 均 900 GB/s 双向)
- 节点内总通信带宽:超 25 TB/s(PCIe 的 200 倍+)
- 优势:无阻塞全对全、SHARP 硬件加速集体操作(All-Reduce 提升 3×)
- 硬件要求:NVIDIA HGX/HGX-like 定制平台,成本高
- 适配场景:H100 SXM 8-GPU 节点、大模型单节点训练(追求 90%+ 算力利用率)
3. NVLink Switch System(集群级 NVLink 扩展)
- 支持:最多 256 张 H100 全互联(32 节点 × 8 GPU)
- 全-to-all 带宽:57.6 TB/s
- 拓扑:2:1 胖树 + SHARP 加速
- 优势:跨节点 GPU 接近节点内通信性能,实现“数据中心级单一大 GPU”
- 适配场景:千卡~万卡超大规模训练集群(如 xAI Colossus 前期阶段)
4. PCIe Gen5(兜底 + 通用通道)
- 双向带宽:128 GB/s(x16)
- 定位:GPU ↔ CPU/内存、GPU ↔ NIC/SSD、外设交互;无 NVLink 时的低配 GPU 互联
- 短板:带宽低、延迟高(毫秒级),GPU 间互联利用率常 <50%
- 适配场景:通用服务器、低成本部署、非 AI 密集任务
5. 集群级跨节点互联(补充)
- 主流:Quantum-2 InfiniBand NDR 400 Gb/s(双向 50 GB/s)、Spectrum-X Ethernet 800 Gb/s + BlueField-3 DPU
- 标准组网:节点内 NVLink/NVSwitch + 节点间 InfiniBand/Ethernet
三者核心对比表(H100 平台)
维度 | 第4代 NVLink | 第3代 NVSwitch (节点内) | PCIe Gen5 (x16) |
形态 | GPU 片上点对点 | 独立交换芯片全网状 | 通用共享总线 |
单 GPU 双向带宽 | 900 GB/s | 接入 ≈3.2–3.6 TB/s | 128 GB/s |
延迟 | 最低(无转发) | 微秒级(轻微转发) | 毫秒级 |
单节点 GPU 支持 | 高效 2–4 张 | 8–16 张全互联 | 无限制(性能崩) |
硬件成本 | 低 | 高(定制平台) | 极低 |
算力利用率(节点内) | 4 卡 ≈80–90% | 8 卡 ≈95–100% | 4 卡 <50% |
典型平台 | PCIe/SXM 通用 | HGX H100 SXM | 所有版本 |
H100 的极致 AI 效率来自:FP8 + Transformer Engine + 3.35 TB/s HBM3 的单卡算力巅峰,叠加 900 GB/s NVLink 4.0 + NVSwitch 的节点内零瓶颈互联,再通过 NVLink Switch System 扩展到 256 GPU 域、InfiniBand NDR 支撑万卡集群,形成从单卡到超大规模的全场景高性能体系。
同 Node / 跨 Node GPU 通信核心总结
同Node(单服务器)内GPU通信
核心逻辑:无需集群网络,依托服务器内GPU专用桥接硬件/主板总线,数据直传或短路径转发,低延迟、超高带宽、CPU开销极低。
- 主流方案(高端计算卡)
- 核心硬件:NVLink(直连)+ NVSwitch(多卡交换)(H100/A100标配)
- 数据路径:GPU←→NVLink/NVSwitch←→GPU,完全绕开CPU/主机内存
- 核心协议:NVIDIA NCCL(底层适配NVLink硬件协议)
- 性能:延迟微秒级,H100单卡NVLink双向带宽达12.8TB/s,8卡通过NVSwitch实现无阻塞全互联
- 兜底方案(入门卡/消费卡)
- 核心硬件:服务器PCIe 4.0/5.0总线(主板PCIe控制器)
- 数据路径:GPU←→PCIe总线←→主机内存←→PCIe总线←→GPU,必须经CPU/内存转发
- 性能:延迟十微秒级,PCIe4.0 x16双向带宽仅64GB/s,CPU开销高
- 适用场景:单机2/4/8卡分布式训练/推理、大模型算力基础单元
跨Node(多服务器)间GPU通信
核心逻辑:需通过集群专用网络硬件,数据经网卡-交换机转发,延迟/带宽远低于同Node,是分布式GPU任务的主要性能限制,核心为RDMA专用方案,彻底摒弃传统TCP/IP。
- 主流方案(生产/云环境)
- 核心硬件:NVIDIA ConnectX-7/8 RDMA专用网卡(RNIC) + InfiniBand交换机(生产级)/RoCE无损以太网交换机(云/中小集群)
- 数据路径:GPU←→GPUDirect RDMA←→RDMA网卡←→集群交换机←→目标RDMA网卡←→GPU,绕开CPU/操作系统内核,显存直传
- 核心协议:NCCL + RDMA(原生InfiniBand协议/以太网RoCE v2协议)
- 性能:延迟百微秒级(InfiniBand)/毫秒级(RoCE),单端口带宽400Gbps(ConnectX-7)/800Gbps(ConnectX-8),CPU开销几乎为0
- 兜底方案(测试/低算力)
- 核心硬件:普通10G/25G以太网网卡+常规交换机
- 核心协议:TCP/IP
- 性能:延迟毫秒级,带宽低、CPU开销大,会导致GPU空闲等待,完全不适用于大模型训练
- 适用场景:多节点分布式训练/推理、千亿/万亿参数大模型集群部署、K8s跨节点GPU Pod调度
核心差异极简对比表
对比维度 | 同Node内GPU通信 | 跨Node间GPU通信 |
核心硬件 | NVLink/NVSwitch(首选)、PCIe总线 | ConnectX RDMA网卡+InfiniBand/RoCE交换机 |
数据转发核心 | 无CPU/内存参与(NVLink) | 无CPU/内核参与(RDMA显存直传) |
核心协议 | NCCL(NVLink/PCIe底层) | NCCL + RDMA(InfiniBand/RoCE) |
典型延迟 | 微秒级(NVLink)/十微秒级(PCIe) | 百微秒级(InfiniBand)/毫秒级(RoCE) |
典型带宽 | TB级(NVLink)/数十GB/s(PCIe) | 400G/800Gbps(RDMA) |
K8s适配关键 | 暴露NVLink硬件能力,本地Pod调度 | 部署RDMA网络插件,分配RNIC资源,亲和性调度 |
第4章 GPU服务器的设计与实现
第5章 机器学习所依托的I/0框架体系
NVIDIA Magnum IO 介绍
Magnum IO 是 NVIDIA 为现代加速数据中心(GPU加速AI/HPC)设计的I/O子系统架构,全称 Magnum IO(源自 Multi-GPU Multi-Node I/O),旨在消除传统CPU中转带来的数据瓶颈,实现高效、并行、智能的数据移动。
它是机器学习、大模型训练、HPC 等高性能计算场景中关键的I/O加速框架,覆盖从单节点到万卡集群的全栈数据通路。
核心目标
- 绕过CPU:实现 GPU ↔ 存储、GPU ↔ GPU、GPU ↔ 网络 的直接数据路径
- 消除I/O瓶颈:数据加载、shuffle、checkpoint 等环节提速数倍至数十倍
- 支持海量数据:PB级数据集下的高效训练/推理
Magnum IO 四大核心组成部分
类别 | 主要技术 | 核心功能 | 典型收益 |
Network IO | NVLink、NVSwitch、InfiniBand、Ethernet、NCCL、UCX、NVSHMEM | GPU间高速互联、AllReduce/集体通信加速、多节点通信 | 训练吞吐提升 2–9× |
Storage IO | GPUDirect Storage (GDS)、cuFile API | 存储 → GPU 显存 直接DMA(绕过CPU内存拷贝) | 数据加载速度提升 2–10× |
In-Network Compute | SHARP、BlueField DPU offload | 网络交换机/DPU 内完成 Reduce、广播等操作 | 降低网络拥塞,提升集体操作效率 |
IO Management | UFM、NetQ、BlueField DPU telemetry | 网络/存储 fabric 监控、故障预测、QoS、预防性维护 | 数据中心运维效率大幅提升 |
关键技术亮点:GPUDirect Storage (GDS)
- 传统路径:存储 → CPU内存 → CPU拷贝 → GPU显存(多次拷贝、CPU开销大)
- GDS路径:存储 → NIC → GPU显存(直接DMA,零拷贝)
- 支持本地NVMe、远程NVMe-oF、BeeGFS、Lustre、IBM Spectrum Scale 等文件系统
- 已集成进 CUDA Toolkit(11.4+),PyTorch、TensorFlow、DALI、RAPIDS 等框架可直接使用
典型应用场景收益(官方数据参考)
场景 | 技术栈 | 性能提升倍数 |
大模型训练数据加载 | GDS + NCCL + NVLink | 2–10× |
Mixture-of-Experts (MoE) | NVLink + NVSwitch + NCCL | 最高9× |
数据分析 / Spark shuffle | RAPIDS + UCX + GPUDirect RDMA | 显著降低延迟 |
科学模拟 / checkpoint | GDS + BeeGFS / Lustre | 5–20× |
一句话总结
Magnum IO 是 GPU 时代数据中心 I/O 的“高速公路体系”,通过 GPUDirect、NVLink、SHARP 等技术,让海量数据以极低延迟、高带宽直接流入 GPU,彻底解决传统 CPU 中转造成的 I/O 瓶颈,是当今大模型训练、HPC 集群实现极致性能的基石。
第7章 GPU板卡级算力调度技术
基于虚拟化技术的GPU调度(VM)
虚拟化GPU调度以实现虚拟机接近物理机的GPU性能为目标,通过硬件级独占绑定满足高性能计算、专业图形渲染等对性能和隔离性要求极高的场景,主流成熟方案为KVM + PCI-E直通,该方案让虚拟机直接接管物理GPU,是极致性能场景的首选。
其优势显著:性能损耗极小,直连硬件且支持CUDA等完整功能无阉割;隔离性极强,硬件级独占可避免多租户资源抢占和数据泄露,适配金融、政企等高安全场景;宿主机开销极低,仅初始化耗少量资源,后续对CPU、内存占用微乎其微。
同时存在明显局限,单张GPU仅能绑定一个虚拟机,资源利用率低,不适用于多租户共享场景;无法动态调整GPU分配、不支持虚拟机热迁移,灵活性差,难以适配高可用和动态扩缩容业务;依赖VT-d/IOMMU等特定硬件和内核级虚拟化技术,部署门槛高,对运维人员专业能力要求严苛。
基于容器技术的GPU调度(k8s)
目标是让 GPU 资源像 CPU、内存一样,成为 K8s 集群的 “弹性资源”,实现秒级调度、动态分配、高效共享,支撑微服务、AI 推理等云原生业务的快速扩缩容。

1. 调度器(Scheduler)决策:找到合适的 GPU 节点
- 当你提交一个包含 GPU 资源请求(比如
nvidia.com/gpu: 1)的 Pod 时,Kubernetes 控制面的调度器会介入。
- 调度器会从 API Server 获取全集群节点的资源状态,筛选出那些有可用 GPU(
nvidia.com/gpu资源量 ≥ Pod 请求量)的节点。
- 调度器通过优选策略(比如节点负载、GPU 型号匹配等)选择最优节点,然后通过
bindAPI 将 Pod 绑定到该节点。
- 这个绑定操作会被记录到 etcd 中,同时目标节点的 kubelet 会通过监听 API Server 得知“有一个 Pod 被分配到我这里了”。
2. kubelet 启动容器创建流程,触发设备分配
- 目标节点的 kubelet 监听到 Pod 绑定事件后,开始准备创建容器。
- kubelet 解析 Pod 的资源清单,发现它包含 GPU 这类扩展设备请求,于是将该请求转发给内部的 Device Plugin Manager。
- Device Plugin Manager 向对应的设备插件(比如 nvidia-device-plugin)发起 AllocateRequest(分配请求),传递 Pod 要使用的设备 ID 列表。
3. Device Plugin 执行设备分配,返回资源信息
- 设备插件收到
AllocateRequest后,会实时检查节点上的物理 GPU 状态,找到一个可用的 GPU 设备。
- 设备插件收集该 GPU 的关键信息:
- 设备路径:Linux 下的设备文件路径(比如
/dev/nvidia0) - 环境变量:容器运行时需要的 GPU 驱动环境变量(比如
NVIDIA_VISIBLE_DEVICES) - 挂载信息:驱动文件的挂载路径(比如
/usr/local/nvidia)
- 设备插件将这些信息通过 AllocateResponse 返回给 kubelet 的 Device Plugin Manager。
4. kubelet 配置容器运行时,完成设备隔离与启动
- kubelet 收到
AllocateResponse后,会将 GPU 设备路径、环境变量和挂载信息注入到容器的配置中。
- 为了保证 GPU 独占,kubelet 会将设备路径的 Namespace 与目标容器的 Namespace 进行绑定,这样其他容器就无法访问该设备文件。
- 最后,kubelet 调用容器运行时(比如 containerd),传递完整的容器配置,启动容器。
- 容器启动后,就可以通过注入的设备路径和环境变量,独占使用这块 GPU 了。

第8章 GPU虚拟化调度方案
第9章 GPU集群的网络虚拟化设计与实现
专有词汇
- IOMMU:IOMMU(Input/Output Memory Management Unit,输入输出内存管理单元)是芯片组上的硬件组件,作用是为外设(GPU / 网卡 / 存储等 PCI-E 设备)提供内存地址转换和隔离能力。IOMMU 是实现 GPU 直通的硬件前提,核心解决 “外设如何安全、独立地访问虚拟机内存” 问题,是虚拟化场景下硬件级设备隔离和直通的基础。
Prev
初探 Volcano Scheduler
Next
AI 时代下的 Kubernetes 调度器:架构、挑战与演进路径
Loading...