当前位置: 首页 > article >正文

CANN HCCL-COMM 通信拓扑感知:16卡训练时为什么 rank3 总是最慢的那张

### CANN HCCL-COMM 通信拓扑感知16卡训练时为什么 rank3 总是最慢的那张去年搭了一台 8 卡 Atlas 800 服务器做 LLaMA 预训练一切顺利。后来集群扩到 3 台共 24 卡单卡吞吐从 1.2 tokens/s 掉到 0.7。不是线性下降是断崖式下跌。查了一圈发现不是算力的问题——HCCL 在做跨机 AllReduce 的时候rank3 到 rank8 的 RoCE 链路走的交换机端口被别的业务占了实际带宽只有标称的 30%。HCCL-COMM 是 HCCL 的通信拓扑管理模块。它负责发现 NPU 之间的物理连接关系构建通信拓扑图然后基于这个图选择最优的通信路径。你不用手写拓扑HCCL-COMM 会自动探测。但如果自动探测的结果跟实际物理环境不一致性能就会出问题。HCCL-COMM 怎么发现“谁和谁连着”HCCL-COMM 启动的时候会做一次链路探测每张 NPU 向其他所有 NPU 发探测包。记录每条链路的类型HCCS/RoCE、带宽、延迟。构建一个完整的拓扑图。基于拓扑图选择 AllReduce/AllGather 的最优路径。拓扑探测示例# hccl-comm 的拓扑探测结果fromhccl_commimportTopologyInspector inspectorTopologyInspector()# 查看所有链路linksinspector.get_all_links()forlinkinlinks:print(f{link.src}→{link.dst}: f{link.type},{link.bandwidth}Gbps,{link.latency}us)# 单机8卡输出类似# rank0 → rank1: HCCS, 100Gbps, 0.8us# rank0 → rank2: HCCS, 100Gbps, 0.9us# rank0 → rank3: HCCS, 100Gbps, 0.8us# ...# rank0 → rank8: RoCE, 100Gbps, 5.2us ← 跨机了# rank0 → rank9: RoCE, 100Gbps, 5.1us单机内HCCS 的拓扑不是全互联很多人以为单机 8 卡的 HCCS 是全互联任意两卡直连。实际上不是——达芬奇架构的 HCCS 是一种混合拓扑相邻卡之间有直连链路不相邻的卡需要中转。Atlas 800 的典型 HCCS 拓扑是“环形 对角”rank0 — rank1 — rank2 — rank3 | | | | rank7 — rank6 — rank5 — rank4横向链路是直连的延迟 1μs纵向和对角线需要经过中间卡中转延迟 1.5-2μs。HCCL-COMM 探测到这个拓扑之后在做 Ring AllReduce 时会优先选横向链路构建 Ring避免走中转。Ring 顺序优化示例# 让 hccl-comm 打印它选择的 ring 顺序fromhccl_commimportTopologyInspector inspectorTopologyInspector()ringinspector.get_ring_order(num_cards8)# 理想的 ringrank0→rank1→rank2→rank3→rank4→rank5→rank6→rank7→rank0# 每一步都是横向直连没有中转print(ring)# [0, 1, 2, 3, 4, 5, 6, 7]# 如果 hccl-comm 选错了 ring可能出现中转# 比如选了 0→3→6→1→4→7→2→5→0# rank0 到 rank3 没有直连链路要经过 rank1 或 rank2 中转# 每步多花 1μs8步就多 8μs# allreduce 一次多花 64μs一个 training step 调 20 次 allreduce 1.28ms# 看起来不多但累积下来每个 step 多花 5-8% 的时间跨机RoCE 的拓扑坑更多跨机通信走 RoCERDMA over Converged Ethernet链路情况比 HCCS 复杂得多。交换机型号、网线类型、网卡驱动版本都会影响实际带宽。RoCE 链路质量检测fromhccl_commimportRoCEInspector inspectorRoCEInspector()# 查看 rank0 到所有其他机器上的 rank 的链路质量forrankinrange(8,24):linkinspector.get_link(0,rank)actual_bwinspector.measure_bandwidth(0,rank,size_mb64)utilactual_bw/link.negotiated_bandwidthprint(frank0 → rank{rank:2d}: fnegotiated{link.negotiated_bandwidth}Gbps, factual{actual_bw:.1f}Gbps, futilization{util:.0%})# rank0 → rank 8: negotiated100Gbps, actual97.2Gbps, utilization97%# rank0 → rank 9: negotiated100Gbps, actual95.8Gbps, utilization96%# rank0 → rank10: negotiated100Gbps, actual31.4Gbps, utilization31% ← 异常# rank0 → rank11: negotiated100Gbps, actual98.1Gbps, utilization98%rank10 的利用率只有 31%说明链路有问题。常见原因交换机端口速率协商失败本应跑 100Gbps实际降级到了 25Gbps。网卡 NUMA 绑定错误RoCE 网卡绑到了错误的 CPU NUMA 节点跨 NUMA 访存增加延迟。物理连接问题光模块脏了、光纤弯折角度过大。快速检查命令# 快速检查网卡状态ibstat# 看 rate 一列是不是 Negotiated 100Gbps# 如果是 25Gbps 或 10Gbps说明协商降级了# 检查 NUMA 绑定lscpu|grepNUMA# 确认 NPU 和 RoCE 网卡在同一个 NUMA 节点上# 如果不在用 numactl 重新绑定进程手动指定拓扑自动探测不靠谱的时候有时候自动探测的结果跟你预期的不一样比如它以为两条链路都是 HCCS但实际有一条走了 PCIe 中转。这时候可以手动指定拓扑手动拓扑配置文件hccl_topology.json{version:1.0,devices:[{rank:0,device_id:0,node_id:0},{rank:1,device_id:1,node_id:0},{rank:2,device_id:2,node_id:0},{rank:3,device_id:3,node_id:0},{rank:4,device_id:0,node_id:1},{rank:5,device_id:1,node_id:1},{rank:6,device_id:2,node_id:1},{rank:7,device_id:3,node_id:1}],links:[{src:0,dst:1,type:HCCS,bandwidth_gbps:100},{src:0,dst:2,type:HCCS,bandwidth_gbps:100},{src:0,dst:4,type:RoCE,bandwidth_gbps:100},{src:1,dst:5,type:RoCE,bandwidth_gbps:50}]}启动训练时指定拓扑文件exportHCCL_TOPOLOGY_FILE/path/to/hccl_topology.json手动拓扑在两种场景下特别有用集群网络环境复杂多种交换机混用。物理环境跟默认配置不一致比如某个 HCCS 端口坏了降级走了 PCIe。Hierarchical AllReduce大规模集群必须用的策略当集群规模超过 8 卡2台机器简单的 Ring AllReduce 不再是最优选择。HCCL-COMM 会自动切换到 Hierarchical 策略先做单机内的 AllReduceHCCS再做跨机的 AllReduceRoCE。两层的算法可以分别优化。Hierarchical 策略配置与性能对比fromhccl_commimportHierarchicalConfig# 24卡集群3台机器各8卡configHierarchicalConfig(num_nodes3,cards_per_node8,intra_node_algorithmring,# 机内用 ringHCCS 快inter_node_algorithmring,# 机间也用 ringintra_node_linkHCCS,# 100Gbps延迟 1μsinter_node_linkRoCE,# 100Gbps延迟 ~5μs)# hierarchical allreduce 的执行过程# 第1阶段每台机器内部做 ring allreduce得到局部结果# 8卡 ringHCCS 链路32MB 数据 → 0.82ms# 第2阶段3台机器之间做 allreduce聚合局部结果# 3节点 ringRoCE 链路32MB 数据 → 2.56ms# 第3阶段每台机器内部再广播跨机结果# 8卡 broadcastHCCS 链路32MB 数据 → 0.41ms# 总计3.79ms# 对比 naive ring allreduce24卡一个大环# 24步 ring混合 HCCSRoCE 链路 → 6.2ms# hierarchical 快了 40%调优清单大规模分布式训练遇到通信瓶颈按这个顺序排查# 1. 拓扑是否正确fromhccl_commimportTopologyInspector TopologyInspector().print_topology()# 检查 HCCS/RoCE 分配是否符合物理实际# 2. Ring 顺序是否最优topoTopologyInspector()print(topo.get_ring_order(num_cards24))# 确认跨机跳跃最少# 3. 链路利用率是否正常forrankinrange(24):bwtopo.measure_bandwidth(0,rank,size_mb64)ifbw80:# 低于 80Gbps 就有问题print(f⚠ rank0 → rank{rank}: only{bw}Gbps)# 4. hierarchical 是否启用configtopo.get_hierarchical_config()ifconfig.num_nodes2andnotconfig.enabled:print(⚠ 多机集群没有启用 hierarchical allreduce)HCCL-COMM 是昇腾多卡训练里最容易出问题但最不容易被发现的模块。因为它大部分时候工作正常只有当集群规模扩大或者网络环境变化时才会暴露问题。建议每次扩容集群之后都跑一遍上面的检查。仓库地址https://atomgit.com/cann/hccl

相关文章:

CANN HCCL-COMM 通信拓扑感知:16卡训练时为什么 rank3 总是最慢的那张

### CANN HCCL-COMM 通信拓扑感知:16卡训练时为什么 rank3 总是最慢的那张 去年搭了一台 8 卡 Atlas 800 服务器做 LLaMA 预训练,一切顺利。后来集群扩到 3 台共 24 卡,单卡吞吐从 1.2 tokens/s 掉到 0.7。不是线性下降,是断崖式…...

神作《盲视》,最硬核的反人类科幻,二十年前预言了AI的冰冷本质

哎呀好久不更新了,半夜睡不着起来随便写点,免得账号被回收了。《盲视》是是加拿大科幻作家彼得沃茨的一部硬科幻经典,入围雨果奖、轨迹奖、坎贝尔奖。但它也是一本阅读门槛很高阅读体验很差的小说。其不适感一部分来自它晦涩的文风和叙事方式…...

【论文阅读】ManiFlow: A General Robot Manipulation Policy via Consistency Flow Training

快速了解部分 基础信息(英文): 1.题目: ManiFlow: A General Robot Manipulation Policy via Consistency Flow Training 2.时间: 2025.09 3.机构: University of Washington, UC San Diego, Nvidia, Allen Institute for AI 4.3个关键词: Fl…...

Claude中文完整上手指南:官网、API、Claude Code与国内使用一篇讲透

Claude中文完整上手指南:官网、API、Claude Code与国内使用一篇讲透 写在前面 现在再看 Claude,已经不能只把它当成一个聊天工具了。 对普通用户来说,它是一个很强的长文理解、写作整理和复杂问答助手;对开发者来说,…...

libigl 极小曲面(全局优化之二)

文章目录 一、简介 二、实现代码 三、实现效果 参考资料 一、简介 二、实现代码 #include <numeric>//igl #include <igl/readPLY.h>...

基于DeepSeek模型的IP文案自动化生成工作流设计与实现

基于DeepSeek模型的IP文案自动化生成工作流设计与实现 1. 项目背景与目标 在数字化营销和品牌建设过程中,IP(Intellectual Property,知识产权/品牌形象)文案扮演着至关重要的角色。高质量的IP文案能够有效传递品牌价值、塑造用户认知、提升转化率。传统的文案撰写依赖人工…...

AI驱动的模拟电路设计:MOBO优化与工程实践

1. AI如何重塑模拟电路设计范式模拟电路设计长期以来被视为电子工程领域最具挑战性的工作之一。传统设计流程中&#xff0c;工程师需要手动调整晶体管尺寸、偏置电压等数十个参数&#xff0c;通过反复仿真迭代来满足增益、带宽、噪声等相互制约的性能指标。这种"试错法&qu…...

VHDL代码智能解析:基于大模型的硬件设计辅助实践

1. 项目背景与核心挑战在当今高性能处理器设计领域&#xff0c;VHDL作为硬件描述语言(HDL)的重要成员&#xff0c;因其严格的类型检查和结构化语法特性&#xff0c;被广泛应用于航空航天、汽车电子等关键行业。然而&#xff0c;随着芯片设计复杂度呈指数级增长&#xff0c;设计…...

ARM SVE向量化技术解析与性能优化实践

1. ARM SVE向量化技术解析 1.1 SVE架构设计理念 ARM可扩展向量扩展(Scalable Vector Extension, SVE)是ARMv8-A和ARMv9-A架构引入的长向量指令集&#xff0c;其核心创新在于向量长度无关(Vector Length Agnostic, VLA)的设计哲学。与传统固定长度的SIMD指令&#xff08;如x86的…...

长期使用Taotoken Token Plan套餐的成本控制感受分享

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken Token Plan套餐的成本控制感受分享 1. 从按量计费到套餐订阅的转变 在开始使用Taotoken平台时&#xff0c;我们…...

ARM架构随机数生成机制与安全应用实践

1. ARM架构随机数生成机制深度解析 在计算机安全领域&#xff0c;高质量的随机数生成是加密算法、密钥生成和安全协议的基础支撑。ARMv8/v9架构通过FEAT_RNG&#xff08;Random Number Generation&#xff09;特性提供了硬件级的随机数生成支持&#xff0c;其设计遵循严格的密码…...

LangChain-Chatchat 开发与应用(十) 企业级部署方案-Docker-Compose-K8s集群化实践

企业级部署方案&#xff1a;Docker Compose / K8s 集群化实践标签&#xff1a;Docker | Kubernetes | 高可用 | 生产部署 | DevOps一、从"单机玩具"到"生产系统" 前面九篇&#xff0c;咱们从 0 到 1 搭起了 Chatchat&#xff0c;做了二次开发&#xff0c;优…...

LangChain-Chatchat 开发与应用(九) 性能优化实战-从能用到好用的调优之路

性能优化实战&#xff1a;从"能用"到"好用"的调优之路 标签&#xff1a;性能优化 | 并发 | 显存 | 缓存 | 监控 | 调优 一、性能问题的"众生相" 你的 Chatchat 系统是不是遇到过这些情况&#xff1f; 一个人用挺快&#xff0c;三个人同时问就卡…...

观察Taotoken在多模型聚合调用下的稳定性与路由表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken在多模型聚合调用下的稳定性与路由表现 1. 引言 在构建依赖大模型能力的应用时&#xff0c;服务的连续性与稳定性是开…...

HDLxGraph:图数据库与LLM在硬件设计中的应用

1. HDLxGraph&#xff1a;当硬件设计遇上图数据库与LLM 在芯片设计领域&#xff0c;硬件描述语言&#xff08;HDL&#xff09;如Verilog和VHDL是工程师们将电路构想转化为可执行代码的核心工具。然而&#xff0c;随着现代芯片设计复杂度的爆炸式增长&#xff0c;一个中等规模的…...

单神经元动态记忆机制及其神经形态计算应用

1. 动态记忆的神经实现范式革新在神经科学与类脑计算领域&#xff0c;动态记忆&#xff08;或称工作记忆&#xff09;一直被视为认知功能的基础模块。传统理论认为&#xff0c;这种能够短暂保持神经活动状态的功能必须依赖于神经元群体构成的递归网络——通过兴奋性神经元间的相…...

大模型推理优化:激活稀疏性技术解析与实践

1. 大模型推理优化的核心挑战与机遇在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;的推理效率已成为制约其广泛应用的关键瓶颈。以GPT-3 175B为例&#xff0c;单次推理需要约350GB显存和数千亿次浮点运算&#xff0c;这对硬件资源提出了极高要求。传统…...

2026年免费去水印工具哪个好用?免费好用的去水印工具对比推荐

在2026年&#xff0c;无论是自媒体运营者、内容创作者还是普通用户&#xff0c;去水印都是日常高频操作。但面对市场上琳琅满目的去水印工具&#xff0c;要找到一款免费好用的去水印工具着实不易。本文将从多个维度对免费去水印工具对比 2026的各类产品进行详细评测&#xff0c…...

Polar Sparsity技术:提升LLM推理效率的动态稀疏优化

1. 项目概述&#xff1a;Polar Sparsity技术背景与核心价值 在大型语言模型&#xff08;LLM&#xff09;推理任务中&#xff0c;计算效率始终是制约实际部署的关键瓶颈。传统稀疏化方法&#xff08;如权重剪枝或神经元激活稀疏化&#xff09;虽然在小批量场景下有效&#xff0c…...

UVA12822 Extraordinarily large LED 题解

UVA12822 Extraordinarily large LED 题目描述 Link: https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&category861&pageshow_problem&problem4687 PDF 输入格式 输出格式 输入输出样例 #1 输入 #1 START 09:00:00 SCORE 09:01:05…...

【ChatGPT】锂电卷绕机深度拆解、信息图、爆炸图、C++代码框架

深度拆解信息图...

抖音无水印下载终极指南:douyin-downloader让你轻松保存喜欢的视频

抖音无水印下载终极指南&#xff1a;douyin-downloader让你轻松保存喜欢的视频 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…...

5步搭建私人云游戏服务器:Sunshine游戏串流完全指南

5步搭建私人云游戏服务器&#xff1a;Sunshine游戏串流完全指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾经想过在客厅电视上玩电脑游戏&#xff0c;或者在平板上继…...

DS4Windows终极指南:如何让PlayStation手柄在Windows上完美运行

DS4Windows终极指南&#xff1a;如何让PlayStation手柄在Windows上完美运行 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 想在Windows电脑上畅玩所有游戏&#xff0c;却只有PlayStation…...

Salesforce 扩展“无头”概念至企业数据管理,新架构与系统二季度末或年底推出

分析师提醒分析师表示&#xff0c;此次更新或许能让开发者省去构建 AI 驱动工作流时通常所需的大量集成和定制开发工作&#xff0c;但首席信息官&#xff08;CIO&#xff09;们应警惕成本和准确性方面的问题。“无头”概念扩展Salesforce 似乎正致力于“颠覆”企业软件领域。在…...

Jetson Orin AGX INT4 推理优化实践:super 分支从 9 tok/s 到 24 tok/s

Jetson Orin AGX INT4 推理优化实践&#xff1a;super 分支从 9 tok/s 到 24 tok/s 项目地址&#xff1a;https://github.com/luogantt/LLM-inference-engine 本文总结 jetson-orin-agx-super 分支上的一次端侧大模型推理优化实践。目标设备是 Jetson Orin AGX&#xff0c;目…...

Topit:Mac窗口置顶终极指南 - 三步打造高效多任务工作环境

Topit&#xff1a;Mac窗口置顶终极指南 - 三步打造高效多任务工作环境 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 还在为Mac上频繁切换窗口而烦恼吗&#x…...

7 年评测经验博主发布扫地机器人挑选指南,邀你探讨机器人革命!

评测多款扫地机器人&#xff0c;Matic 脱颖而出博主发布了关于挑选最佳扫地机器人的指南&#xff0c;近期评测了戴森的 Spot & Scrub、鲨客的 Power Detect 以及 Matic。在其 7 年的扫地机器人评测生涯中&#xff0c;Matic 是最有意思的新型扫地机器人。拨开营销迷雾&#…...

ai内容创作团队如何通过taotoken统一管理多个模型的调用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 AI 内容创作团队如何通过 Taotoken 统一管理多个模型的调用 应用场景类&#xff0c;聚焦于 AI 内容生成团队&#xff0c;成员使用不…...

逻辑回归实战:从原理、数值稳定到生产级代码实现

1. 什么是逻辑回归&#xff1a;从医生诊断到快递分拣的真实场景逻辑回归不是教科书里那个干巴巴的“S型曲线”&#xff0c;它是我过去八年带团队做工业质检项目时&#xff0c;每天早上打开监控大屏第一眼就要确认的模型——当产线摄像头拍下第372个电路板&#xff0c;系统在0.8…...