DCU BW产品特性深度解读
国产GPGPU踩坑实录:从卡间互联拓扑到软件栈,聊聊新一代加速卡的真实表现
搞大模型训练的都知道,卡间互联带宽不够,多卡并行就是灾难。最近上手了一款国产GPGPU加速卡的新一代产品,把互联拓扑、训练推理性能、软件生态完整跑了一遍,这里做个复盘。
一、先看硬件底子
新一代加速卡有几个关键升级:
| 维度 | 上一代产品 | 新一代产品 |
|---|---|---|
| FP64 精度 | 不支持 | 支持(国产唯一) |
| 显存容量 | 64GB | 64GB |
| 显存带宽 | ~900GB/s | ~1.8TB/s |
| CPU-GPU互联 | PCIe 4.0 x16 | PCIe 5.0 x16 |
| GPU-GPU互联 | PCIe 4.0 | 自研高速互联链路 |
| 功耗 | 350W | 800W |
| 形态 | PCIe全高全长 | PCIe & OAM |
两代之间跨度很大。上一代只支持到 FP32,做科学计算基本没戏。新一代补齐了 FP64,显存带宽直接翻倍。
8 卡服务器节点规格(基于新一代加速卡):
- CPU:2 × 自研 x86 处理器
- GPU:8 × 新一代加速卡
- 显存总量:512GB
- 显存总带宽:~14.4 TB/s
- 卡间互联:自研交换芯片全互联拓扑
- GPU-GPU 单链路带宽:~448 GB/s
- 节点内总带宽:~3584 GB/s
- 对分带宽:~1792 GB/s
- 机间互联:8 × 200G IB / RoCE
—个
二、互联拓扑:Fullmesh vs Switch Clos,差距有多大?
2.1 8 卡 Fullmesh 的尴尬
业界很多方案用的是 8 卡 Fullmesh(全互联)。这方案的好处是简单,坏处是——每张卡只有 1 条 P2P 链路连到其他卡。
单链路带宽一般 50-60GB/s,P2P 双向带宽就是这么多。节点内总链路数 28 条,链路总带宽大约 1500-1600GB/s,对分带宽也就 800-900GB/s。
这个数字放在大模型 AllReduce 场景里,Ring 算法跑起来,busBW 直接被对分带宽卡脖子。
2.2 Switch Clos 全互联怎么破局
新一代方案不走 Fullmesh,而是在 8 卡之间插入自研交换芯片,走 Clos 全互联:
每张加速卡挂 7 条链路到交换芯片,单链路双向带宽 64GB/s,单卡 P2P 总带宽 = 7 × 64 = 448GB/s。7 个交换芯片聚合后:
| 维度 | Fullmesh | Switch Clos | 提升 |
|---|---|---|---|
| P2P 链路数 | 1 | 7 | 7× |
| P2P 双向带宽 | ~56GB/s | 448GB/s | 8× |
| 链路总带宽 | ~1568GB/s | 3584GB/s | 2.3× |
| 对分带宽 | ~896GB/s | 1792GB/s | 2× |
| AllReduce busBW | ~112GB/s | 224GB/s | 2× |
这意味着什么?AllReduce 通信不再是对分带宽瓶颈,Ring 算法在 8 卡内能把 7 条 Ring 全跑起来。
2.3 大模型 TP 并行场景实测对比
Tensor Parallelism(TP)是大模型训练里最吃通信的并行策略。TP=8 时每组 8 卡做 AllReduce。
| TP 规模 | 指标 | Fullmesh 类方案 | Switch Clos |
|---|---|---|---|
| TP=2 | Ring 数 | 1 | 7 |
| TP=2 | AR BusBW | ~28-56 GB/s | 224 GB/s |
| TP=4 | Ring 数 | 1-3 | 7 |
| TP=4 | AR BusBW | ~28-56 GB/s | 224 GB/s |
| TP=4 | AR AlgBW | ~18-37 GB/s | ~149 GB/s |
| TP=8 | Ring 数 | 1-3 | 7 |
| TP=8 | AR BusBW | ~28-168 GB/s | 224 GB/s |
| TP=8 | AR AlgBW | ~18-96 GB/s | 128 GB/s |
7 条 Ring 打 1 条 Ring,TP=8 时算法带宽差距拉到了数倍。这在千亿参数模型训练里就是能不能跑起来的区别。
三、多节点 Scale-Out:PXN 的价值
单节点内互联再强,跨节点还是要走 IB/RoCE。这里有个容易踩的坑——PCIe 上行带宽。
如果 Scale-Out 链路走 PCIe → PCIe Switch → 网卡,PCIe 5.0 x16 的单向带宽就是硬上限,多节点 AllReduce 的 busBW 被卡在 ~64GB/s。
新一代方案支持 PXN(Peer eXchange Network),跨节点 AllReduce 不走 PCIe Switch,而是走加速卡直连交换芯片 → 网卡:
PXN 的关键在于:多机 AllReduce 的瓶颈从"PCIe 上行速率"变成了"加速卡到交换芯片的速率",理论上限从 ~64GB/s 跳到 ~224GB/s。
| 规模 | 不走 PXN(理论上限) | 走 PXN(理论上限) |
|---|---|---|
| 2 节点 16 卡 | ~64 GB/s BusBW | ~224 GB/s BusBW |
| 4 节点 32 卡 | ~64 GB/s | ~224 GB/s |
| 128 节点 1024 卡 | ~64 GB/s | ~224 GB/s |
多机场景下这个差距是致命的。不走 PXN 的方案,加再多节点 AllReduce 带宽也涨不上去。
四、训练性能:拿真实模型跑一圈
4.1 跨代对比
用同一模型、同一节点、同一超参做全参数训练,新一代产品对比上一代的单节点吞吐(TGS):
新一代在各类模型上训练吞吐普遍达到上一代的 300%+,跨代提升显著。
4.2 与国际主流产品对比
与某国际主流训练卡的对比(同一并行策略 + 同一精度):
结论:基本达到国际主流产品的 95%-105%,精度一致的前提下性能持平。
与另一国际旗舰产品对比,MoE 类模型大致在 75%-85%,Dense 类模型在 65%-105%,仍在持续优化中。
五、推理性能:MoE 和 Dense 分开看
推理这边分两种场景:
5.1 大模型推理
以某主流推理卡为基准,DeepSeek 671B BF16、TPOT ≤ 100ms、TTFT ≤ 30s 条件下,新一代产品的并发处理能力:
- MoE 模型:达到上一代国产方案的 150%-300%
- Dense 模型:达到上一代国产方案的 350%-500%
对比国际主流推理卡,MoE 模型约 75%-85%,Dense 模型约 65%-105%。
5.2 中小模型推理延迟
512 输入 1024 输出场景下,New Card 对比国际主流推理卡的 Prefill/Decode 性能比:
小模型场景下 Prefill 优势更明显,大模型逐渐趋于持平。Decode 阶段的表现也呈类似趋势。
六、软件栈:从 DTK 到 OpenDAS
硬件再强,软件不行也是白瞎。这套方案的软件栈分三层:
6.1 DTK:CUDA 兼容层
DTK(DCU Toolkit)走的是 HIP(Heterogeneous-compute Interface for Portability)路线。HIP 是一个开源的 C/C++ 异构并行编程模型,同时兼容 CUDA、ROCm 和 DTK。
| CUDA 生态 | DTK 生态 | 说明 |
|---|---|---|
| cuBLAS | rocBLAS/hipBLAS | 基础矩阵运算 |
| cuDNN | MIOpen | 深度学习基础库 |
| NCCL | RCCL | 集合通信 |
| cuRAND | hipRAND | 随机数 |
| cuSPARSE | hipSPARSE | 稀疏矩阵 |
| cuFFT | rocFFT/hipFFT | 快速傅里叶变换 |
| CUB | hipCUB | 基础算法库 |
| Thrust | rocThrust | 并行算法库 |
术语对照:
| NVIDIA | DCU | 描述 |
|---|---|---|
| SM (Streaming Multiprocessor) | CU (Compute Unit) | 计算单元 |
| Warp (32 threads) | Wavefront (64 threads) | 硬件执行线程束 |
| Thread | Work-item / Thread | 执行单元 |
| Block | Work-group / Block | 线程块 |
写 CUDA 代码的老哥上手 HIP 基本没门槛——核函数语法一模一样,Runtime API 高度兼容。DTK 目前兼容 CUDA 10.2 和 11.8 的 API,还支持 CMake 构建系统,工程迁移成本很低。
6.2 DAS:AI 全栈平台
DAS(DCU AI Software Stack)在 DTK 之上集成了大量 AI 框架和工具:
- 训练框架:PyTorch、DeepSpeed、Megatron-LM、Colossal-AI、FastMoE
- 推理框架:vLLM、LMDeploy、TGI、SGLang、Llama.cpp、FastLLM
- 微调工具:LLaMA-Factory、HF PEFT、xFormers、FlashAttention
- AI4Science:AlphaFold2、DeepMD-kit、UniFold、OpenFold 等
PyTorch API 覆盖度 98%+,vLLM API 覆盖度 99%+,主流模型的适配已经比较成熟。
6.3 OpenDAS 开源生态
OpenDAS 把整套工具链开源了出来,包括:
- AI 编译器(Triton、XLA、TVM、AITemplate)
- 推理框架(ONNX Runtime、MIGraphX)
- PyTorch 套件(TorchVision、TorchAudio 等)
- PaddlePaddle 全套件
- AI4Science 套件
- MMCV 系列
6.4 科学计算生态
这个容易被忽略,但这套方案在科学计算领域的积累相当扎实:
分子动力学、计算化学、工业仿真、气象环境、天体物理、生信基因——覆盖了几乎所有科学计算主流软件。
七、CUDA→HIP 迁移实操
从 CUDA 切到 HIP,代码改动量有多小?直接看 DAXPY 示例:
CUDA 版本:
__global__ void add(int n, double *x, double *y) {
int index = blockIdx.x * blockDim.x + threadIdx.x;
int stride = blockDim.x * gridDim.x;
for (int i = index; i < n; i += stride) {
y[i] = x[i] + y[i];
}
}
HIP 版本:
__global__ void add(int n, double *x, double *y) {
int index = blockIdx.x * blockDim.x + threadIdx.x;
int stride = blockDim.x * gridDim.x;
for (int i = index; i < n; i += stride) {
y[i] = x[i] + y[i];
}
}
一模一样。Kernel 语法完全一致,Runtime API 做简单的命名映射即可。DTK 还提供了 GPUFusion 工具,对已有 CUDA 程序做自动编译测试,Amber、NAMD、GROMACS、MAGMA、XGBoost 等大量科学计算软件均通过编译测试。
八、总结
这套国产 GPGPU 方案的核心竞争力,个人跑下来觉得有三点:
-
互联拓扑架构领先:自研交换芯片 + Clos 全互联,P2P 带宽 448GB/s,对分带宽 1792GB/s,对比 Fullmesh 方案有 2-8 倍的差距。大模型 TP 并行和多机 Scale-Out 场景优势明显。
-
软件生态兼容性好:HIP 编程模型 + DTK 数学库做到了 CUDA 兼容,PyTorch/vLLM 等主流框架覆盖度 98%+,迁移成本低。
-
全场景覆盖:从 AI 训练推理到科学计算(分子动力学、计算化学、气象环境),从单卡到万卡集群,一套方案打全场。
当然也有一些需要持续关注的方面——Dense 模型推理性能还在爬坡,部分小众框架的适配仍需时间。但以当前迭代速度,这些问题都在快速改善。
本文基于公开技术资料整理,具体性能数据已做脱敏处理,仅供参考。
更多推荐


所有评论(0)