
前言显存带宽是衡量GPU计算性能的关键指标之一直接影响模型训练和推理的效率。本文在海光BW1100 DCU上使用NVIDIA CUDA Samples中的bandwidthTest工具进行显存带宽测试验证DCU在内存带宽方面的能力。测试环境项目配置硬件平台海光BW1100GPUBW1101操作系统Ubuntu 22.04容器镜像pytorch:2.9.0-ubuntu22.04-dtk26.04-py3.10DTK版本26.04CUDA Samplesv12.5测试准备1. 拉取容器镜像dockerpull harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.9.0-ubuntu22.04-dtk26.04-py3.102. 下载CUDA Sampleswget-Ov12.5.tar.gz https://codeload.github.com/NVIDIA/cuda-samples/tar.gz/refs/tags/v12.5tar-xzfv12.5.tar.gz3. 启动容器dockerrun-it\--networkhost\--namebandwidthTest\--privileged\--device/dev/kfd\--device/dev/dri\--device/dev/mkfd\--cap-addSYS_PTRACE\--security-optseccompunconfined\-uroot\-v/opt/hyhal/:/opt/hyhal/:ro\-v/data:/bandwidthTest\-v/data/home/cuda-samples-12.5/:/cuda-samples-12.5\-w/cuda-samples-12.5/Samples/1_Utilities/bandwidthTest\harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.9.0-ubuntu22.04-dtk26.04-py3.10bash关键参数说明--device/dev/kfd --device/dev/dri --device/dev/mkfd映射DCU设备节点-v /opt/hyhal/:/opt/hyhal/:ro只读挂载海光HAL库-w设置容器启动后直接进入bandwidthTest目录4. 配置环境source/opt/dtk-26.04/env.shsource/opt/dtk-26.04/cuda/env.sh5. 编译bandwidthTestcdSamples/1_Utilities/bandwidthTest/makecleanmake编译完成后执行./bandwidthTest测试结果[CUDA Bandwidth Test] - Starting... Running on... Device 0: BW1101 gfx938:sramecc:xnack- Quick Mode Host to Device Bandwidth, 1 Device(s) PINNED Memory Transfers Transfer Size (Bytes) Bandwidth(GB/s) 32000000 21.9 Device to Host Bandwidth, 1 Device(s) PINNED Memory Transfers Transfer Size (Bytes) Bandwidth(GB/s) 32000000 37.9 Device to Device Bandwidth, 1 Device(s) PINNED Memory Transfers Transfer Size (Bytes) Bandwidth(GB/s) 32000000 1293.8 Result PASSbandwidthTest会分别测试以下三种传输模式Host to Device (H2D)CPU内存 → GPU显存带宽21.9 GB/sDevice to Host (D2H)GPU显存 → CPU内存带宽37.9 GB/sDevice to Device (D2D)GPU显存内部拷贝带宽1293.8 GB/s结果分析1. D2D带宽表现优异Device to Device带宽达到1293.8 GB/s这反映了DCU显存内部的高带宽能力。在大模型训练中权重更新、梯度同步等操作大量依赖D2D拷贝高D2D带宽意味着这些操作不会成为性能瓶颈。2. H2D与D2H带宽差异H2D为21.9 GB/sD2H为37.9 GB/sD2H略高于H2D约73%。这种差异在GPU架构中较为常见可能与数据传输的DMA引擎调度策略有关。对于推理场景模型加载阶段主要受H2D带宽影响21.9 GB/s的带宽对于常规模型加载是足够的。3. 实际应用影响训练场景大模型训练中DDP多卡通信、梯度同步主要依赖D2D带宽1293.8 GB/s的高带宽对分布式训练友好推理场景模型权重加载受H2D带宽限制对于7B级别模型约14GB参数理论加载时间约0.64秒可接受数据预处理数据从CPU到GPU的传输受H2D带宽影响批量数据加载时需注意pipeline设计总结海光BW1100 DCU在bandwidthTest测试中表现良好D2D带宽达到1293.8 GB/s展现了显存内部的高带宽能力对大模型训练场景友好。H2D/D2H带宽分别为21.9/37.9 GB/s满足常规模型加载和数据传输需求。在实际使用中建议关注数据传输pipeline的设计尽量减少CPU-GPU之间的频繁数据拷贝充分利用DCU高D2D带宽的优势。相关链接CUDA Samples: https://github.com/NVIDIA/cuda-samples/releases/tag/v12.5海光DCU开发者社区: https://developer.sourcefind.cn/