服务器交付测试H2D、D2H、D2D、P2P的区别
一、术语定义


H/D 的 H 是 Host(主机内存),D 是 Device(设备显存) —— 在英伟达/昇腾体系里 H 都是指 Host 内存、D 指 NPU 设备。
二、测什么、为什么测
H2D/D2H 测的是数据在主机内存和显存之间搬运的速率。它不是"跑分游戏",而是基础设施的健康体检——因为在 AI 训练/推理中,数据要不停地在这两者之间流动:
模型加载:几百 GB 权重从内存灌进显存
数据预处理:DataLoader 从主机内存喂 batch 到显存
推理输出:结果从显存取回主机
GPUDirect RDMA / GDS:绕过 CPU 直接网卡↔显存,它的前提就是 H2D 通路健康
H2D 慢 = 整个管线被掐住。训练 step time 直接劣化,但往往没有任何报错(没有 XID,GPU 本身是好的)——这就是它必须作为验收项的原因。
三、怎么测
主推工具(2026.10.21日):NVIDIA nvbandwidth(CUDA 官方,现在是 bandwidthTest 的替代者;老的 bandwidthTest 已被移除)
1、列出所有测试项(先列再跑,别凭记忆敲 -t 名)
./nvbandwidth -l
2、H2D 单向,
./nvbandwidth -t host_to_device_memcpy_ce
3、D2H 单向,
./nvbandwidth -t device_to_host_memcpy_ce
4、 严格验收常用参数
./nvbandwidth -t host_to_device_memcpy_ce -b 2048 -i 10 --format json
两种测法必须都跑,结果含义不同:
| 方法 | 原理 | 测出什么 | 验收意义 |
|---|---|---|---|
| CE(Copy Engine) | 硬件 DMA,复制引擎直接搬 | 链路的物理上限 | 判断链路/拓扑是否正常 |
| SM(Streaming Multiprocessor) | 自定义 kernel 走 SM 拷贝 | 应用实际付出的代价 | 反映真实业务性能 |
其他工具的分工(别搞混):
dcgmi diag -r 2 -t pcie—— 快速健康检查p2pBandwidthLatencyTest(cuda-samples)—— 打印 P2P=Enabled vs Disabled 的对照矩阵nccl-tests/all_reduce_perf—— 集合通信,最接近真实训练流量gpu-burn—— 满载压力与散热- Field Diagnostic —— 唯一能定 RMA 资格的权威工具
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)