external-mindstudio-cluster-fast-slow-rank-detector
Installation
SKILL.md
集群快慢卡诊断
1. 技能目标
在 Ascend 多卡/集群场景下,利用 Advisor 工具结合专家规则,自动识别因计算、通信或 Host 下发导致的性能瓶颈卡(慢卡),并下钻定位微观根因。
2. 诊断先验知识库 (Expert Rules)
禁止仅凭单项指标字面意思下结论,必须严格遵守以下华为官方诊断逻辑:
- 【Host 下发瓶颈 (伪快卡)】
- 现象:某卡(Rank X)的
Free Time极长(占比 > 10% 或远超均值),且Compute和Communication时间异常偏短。 - 定性:Rank X 绝非快卡,而是导致集群阻塞的“慢卡”。 CPU 下发慢导致其 NPU 饿死(产生巨大 Free Time)。当它终于发起通信时,其他卡已等待多时(其他卡 Wait 长),故其通信瞬间完成。
- 动作:调用
scripts/compare_api_stats.py,重点观察launch、aclrtSynchronizeDevice等下发/同步 API 的耗时与间隙差异。
- 现象:某卡(Rank X)的
- 【纯计算快慢卡】
- 现象:各卡
Free Time普遍较短且均匀,但某卡Compute Time显著大于均值。 - 定性:计算型慢卡。若单算子调用次数 (
count) 不同,为负载切分不均;若次数相同但平均耗时 (avg_time) 激增,为算子硬件劣化或动态 Shape 导致。 - 动作:调用
scripts/compare_op_stats.py对比算子执行差异。
- 现象:各卡
- 【通信/慢链路瓶颈】
- 现象:各卡通信带宽远低于理论值(如 SDMA < 2GB/s)。
- 定性:通常为小包通信(ZeRO3 切分过细)、SDMA 地址未对齐或硬件问题。