Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Ascend Cluster Fast Slow Rank Detector

ASecurity

专门用于 Ascend 集群 Profiling 性能数据的“快慢卡”诊断专家技能。当用户提供【集群性能数据目录/路径】并要求分析【快慢卡】、【慢节点】、【负载不均衡】或【集群瓶颈】时,必须触发此技能。该技能会自动接收集群路径,调度相关工具输出快慢卡的宏观定性与微观根因(如 Host 下发瓶颈、算子计算劣化)。

31 stars
0 votes
0 copies
0 views
Added 9/23/2026
datapythonbashapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add kali20gakki/msAgent --skill ascend-cluster-fast-slow-rank-detector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ascend Cluster Fast Slow Rank Detector?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Ascend Cluster Fast Slow Rank Detector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kali20gakki-ascend-cluster-fast-slow-rank-detector/badge)](https://www.skillsdirectory.com/skills/kali20gakki-ascend-cluster-fast-slow-rank-detector)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: ascend-cluster-fast-slow-rank-detector
description: 专门用于 Ascend 集群 Profiling 性能数据的“快慢卡”诊断专家技能。当用户提供【集群性能数据目录/路径】并要求分析【快慢卡】、【慢节点】、【负载不均衡】或【集群瓶颈】时,必须触发此技能。该技能会自动接收集群路径,调度相关工具输出快慢卡的宏观定性与微观根因(如 Host 下发瓶颈、算子计算劣化)。
---

# 集群快慢卡诊断

## 1. 技能目标
在 Ascend 多卡/集群场景下,利用msprof-analyze命令工具结合专家规则,自动识别因计算、通信或 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 的耗时与间隙差异。
* **【纯计算快慢卡】**
    * **现象**:各卡 `Free Time` 普遍较短且均匀,但某卡 `Compute Time` 显著大于均值。
    * **定性**:计算型慢卡。若单算子调用次数 (`count`) 不同,为负载切分不均;若次数相同但平均耗时 (`avg_time`) 激增,为算子硬件劣化或动态 Shape 导致。
    * **动作**:调用 `scripts/compare_op_stats.py` 对比算子执行差异。
* **【通信/慢链路瓶颈】**
    * **现象**:各卡通信带宽远低于理论值(如 SDMA < 2GB/s)。
    * **定性**:通常为小包通信(ZeRO3 切分过细)、SDMA 地址未对齐或硬件问题。

## 3. 标准操作流程 (SOP)
请严格按照以下流程执行:

1. 输入数据类型判断

先判断用户提供的路径或文件属于哪一类,并把后续分析所需证据统一整理为“集群级宏观证据”和“Rank 级明细证据”两类:

(1)明确当前输入数据的类型
* 路径下若存在Profiling数据:
  * 共识别到多少个 Rank;
  * Profilng数据的类型是DB or Text,若路径下存在ascend_pytorch_profiler_{rank_id}.db文件,则为 DB 类型数据,否则为 Text;
  * 各 Rank 的 profiling 文件夹是否齐全。
* 路径下是否已存在 `msprof-analyze` 的分析结果目录`cluster_analysis_output`:若存在,输出已包含哪些内容
* 告知用户,当前数据类型、Rank数量等信息

(2)路由后续操作
* 用户给的输入数据是 text 格式:请参考 `skills/ascend-msprof-analyze-cli` SKILL 的能力二:专家建议分析 (Advisor) 部分进行分析,然后直接进入流程 3 基于证据做快慢卡判定
* 用户给的输入数据是 db 格式,判断是否已经存在`cluster_analysis_output` 结果文件夹:
  * 若存在,检查是否包含 `cluster_time_summary`、`compute_op_sum`、`hccl_sum`、`slow_rank`、`slow_link`、`cann_api_sum` 等结果。记录缺失项,直接进入流程 2 调用 `msprof-analyze` 集群分析能力补齐;如果结果已完整,直接进入流程 3 基于证据做快慢卡判定
  * 不存在,直接进入流程 2 调用 `msprof-analyze` 集群分析能力
* 用户输入只存在 `cluster_analysis_output` 结果文件夹:直接进入流程 3 基于证据做快慢卡判定

2. 调用 `msprof-analyze` 集群分析能力
流程 2 只负责生成分析结果,不负责直接下结论。  
必须调用 `msprof-analyze` 执行集群分析。请参考 `skills/ascend-msprof-analyze-cli` SKILL 中 “集群综合分析 (Cluster)” 的部分
**要求不是只跑 `all`,而是将 README 中与集群分析相关的 `-m` 能力逐项跑全**,至少覆盖下列能力:

| 分析能力 | 介绍 |
|--|--------|
| all | 组合能力,可作为补充,但**不能替代逐项执行**。 |
| cluster_time_summary | 提供集群训练过程中迭代耗时拆解,作为判断 Free/Compute/Communication/Wait 异常的宏观入口。 |
| compute_op_sum | 汇总 device 侧计算类算子,用于定位计算型慢卡和负载切分不均。 |
| hccl_sum | 汇总通信类算子,用于定位通信型慢卡、慢链路和通信带宽异常。 |
| slow_rank | 展示各 Rank 的快慢卡影响次数和慢卡候选原因。 |
| slow_link | 分析集群异常耗时链路,用于辅助识别慢链路或通信瓶颈。 |
| cann_api_sum | 汇总 CANN 层 API,用于定位 Host 下发、同步点和 launch 间隙问题。 |

命令示例:
```bash
msprof-analyze -m cluster_time_summary -d ./cluster_data -o ./output/cluster_time_summary
```

如环境允许,优先为每个 `-m` 能力使用独立输出目录,避免不同分析结果互相覆盖。若某项能力执行失败,必须记录失败命令、错误摘要和缺失影响,后续结论中不得把该项当成已验证证据。

3. 基于证据做快慢卡判定

流程 3 只在证据集可用后执行。agent 不能只引用单项指标直接给结论,必须综合流程 1/2 得到的宏观证据和必要的 Rank 级明细证据,明确回答以下问题:

(1)**是否存在快慢卡现象**;  
(2)**真正的慢卡 Rank ID 是谁**,以及候选快卡 Rank ID 是谁;  
(3)**问题属于哪一类**:
   * Host 下发慢 / 调度瓶颈;
   * 计算型慢卡;
   * 通信型慢卡 / 慢链路;
   * 负载不均衡;
   * 多种问题叠加;
   * 证据不足,暂不能判定。

(4)**判定依据是什么**:至少引用 `cluster_time_summary`、`slow_rank` 或 `slow_link` 中的一类宏观证据;若涉及计算型或 Host 下发瓶颈,还应继续调用流程 4 中的对比脚本,用 `compare_op_stats.py` 或 `compare_api_stats.py` 给出微观证据。


4. 快卡vs慢卡比对

对比脚本统一存放在本技能目录的 `scripts/` 文件夹中,支持自动发现集群目录或手动指定文件(优先 CSV,次选 DB)。

**核心命令模板:**
```bash
# 【计算类瓶颈】调用算子对比脚本(将 <本技能目录> 替换为 get_skill 返回中的路径)
python <本技能目录>/scripts/compare_op_stats.py <集群数据根目录> <慢卡RankID> <快卡RankID> [--top N]

# 【下发类瓶颈】调用 API 对比脚本
python <本技能目录>/scripts/compare_api_stats.py <集群数据根目录> <慢卡RankID> <快卡RankID> [--top N]
```
参数说明:
* cluster_path: 集群数据根目录(包含 profiler_info_{rank}.json)。 
* slow_rank / fast_rank: 慢卡与快卡(基准)的 Rank ID。 
* --top N: (可选)输出差异最大的前 N 条,默认 20。 
* --slow-path / --fast-path: (可选)当集群自动发现机制报错时,用于手动指定慢/快卡的 *.csv 或 *.db 绝对路径。 
* --json: (可选)以 JSON 格式结构化输出。

5. 对慢卡目录执行 advisor,并给出调优建议(可选)

当流程3已锁定慢卡 Rank ID 后,必须进入该慢卡对应的 profiling 文件夹,再执行:

```bash
msprof-analyze advisor all -d <slow-rank-profiling-dir>
```

然后基于 advisor 输出,给出该慢卡的**针对性调优建议**。建议内容必须与瓶颈类型对应,例如:

* Host 下发慢:排查下发线程绑核、同步点、launch 间隙、CPU 饥饿、数据准备阻塞;
* 计算型慢卡:排查算子 count 不一致、动态 shape、算子劣化、融合缺失、AICore 利用率问题;
* 通信型慢卡:排查小包通信、并行切分策略、链路带宽、通信域配置、SDMA/HCCL 异常;
* 负载不均衡:排查数据切分、专家负载、pipeline stage 分配、rank 侧 workload 偏斜。

若 advisor 输出与流程3的集群判断不一致,必须显式指出这一点,并说明以哪类证据为主、为什么。

Attribution

kali20gakkikali20gakki
View sourceMore from kali20gakki →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Rank Tracker

This skill helps you track, analyze, and report on keyword ranking positions over time. It monitors both traditional SERP rankings and AI/GEO visibility to provide comprehensive search performance insights.

1821 votes

Youtube Competitor Analyzer

Find and analyze YouTube competitor channels using YouTube Data API v3. Discover competitors through keyword search, category matching, content similarity, and related channel discovery. Compare metrics, content strategies, and market positioning. Use when users want to (1) Find competitors for their YouTube channel, (2) Analyze competitor performance metrics, (3) Compare their channel against competitors, (4) Identify content gaps and opportunities, (5) Benchmark against similar creators, (6...

31 votes

Twitter Algorithm Optimizer

Analyze and optimize tweets for maximum reach using Twitter's open-source algorithm insights. Rewrite and edit user tweets to improve engagement and visibility based on how the recommendation system ranks content.

742580 votes

Weather Fetcher

Instructions for fetching current weather temperature data for Karachi, Pakistan from wttr.in API

662880 votes

Weather

Get current weather and forecasts (no API key required).

484900 votes
View all in data →