NCCL在GH200/GB200架构中的GPUDirect优化实践
背景介绍
NVIDIA的NCCL(NVIDIA Collective Communications Library)是一个针对多GPU通信优化的库,广泛应用于深度学习训练等高性能计算场景。在最新的GH200和GB200架构中,由于采用了创新的C2C NVLink连接方式,关于GPUDirect技术的适用性引发了技术讨论。
GH200/GB200架构特点
GH200和GB200采用了创新的芯片到芯片(C2C)NVLink连接技术,这与传统的PCIe连接方式有显著不同。这种架构设计带来了更高的带宽和更低的延迟,但也对通信优化提出了新的挑战。
GPUDirect技术的作用
GPUDirect技术原本设计用于绕过CPU,实现网络接口卡(NIC)与GPU之间的直接数据传输。在传统架构中,这可以显著减少数据传输延迟并提高带宽利用率。但在GH200/GB200架构中,由于C2C NVLink的存在,其价值需要重新评估。
性能测试发现
通过实际测试对比发现,在GH200平台上启用GPUDirect(通过设置NCCL_NET_GDR_LEVEL=SYS)仍能带来显著的性能提升:
- All_Reduce操作性能提升约20%
- AlltoAll操作性能提升约13.2%
- All_Gather操作性能提升约14.9%
特别值得注意的是,启用GPUDirect后,测试结果显示接近800Gbps的理论网络带宽上限,这一表现甚至超过了PCIe 5.0 x16的理论带宽。
技术实现细节
当前NCCL版本中,GH200/GB200默认禁用GDRDMA(GPUDirect RDMA),因为初步测试显示其与传统CPU访问方式的带宽相同。然而,最新测试表明,特别是在All-to-All通信模式下,启用GDRDMA确实能带来性能优势。
最佳实践建议
对于使用GH200/GB200架构的用户,建议:
- 在NCCL配置中明确设置NCCL_NET_GDR_LEVEL=SYS以启用GPUDirect
- 关注NCCL的版本更新,后续版本可能会默认优化GH200/GB200的GPUDirect支持
- 针对特定应用场景进行性能测试,选择最优配置
未来展望
随着NCCL的持续优化,预计未来版本将更好地利用GH200/GB200架构的特性,进一步发挥C2C NVLink和GPUDirect的组合优势。开发者应保持对新技术发展的关注,及时调整优化策略。
通过本文的分析可以看出,即使在创新的C2C NVLink架构下,GPUDirect技术仍然有其应用价值,能够为高性能计算应用带来显著的性能提升。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C081
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python056
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0135
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00