用途:profiling-analysis 是一套用于分析华为昇腾NPU Profiling数据的技能集,当用户提供Profiling文件或目录路径时使用,可自动识别计算、通信、下发等性能瓶颈并给出优化建议。
主要能力与流程:输入目标文件夹路径后递归查找所有 step_trace_time.csv 文件,未找到则报错终止;解析文件并提取计算、通信、空闲等指标,计算各阶段耗时占比(保留两位小数),跳过读取失败、字段缺失或总耗时为0的文件;汇总所有文件的平均耗时占比并识别占比最高文件;按优先级判定瓶颈:空闲占比大于20%为下发问题,计算占比大于85%为计算问题,通信占比大于10%为通信问题,均在正常范围则无明显瓶颈。判定后自动调用对应子技能深入分析:profiling-analysis-hostbound 分析Host侧下发,profiling-analysis-computing 筛选高耗时算子并解析关键算子形状,profiling-analysis-communication 分析集合通信性能。最终输出包含文件扫描结果、单文件分析数据、全局统计、瓶颈结论和子技能结果的报告。
使用方式:通过AI工具调用,调用 skill "profiling-analysis" 分析 "input_path" 中的性能数据,input_path 支持单个Profiling文件路径或含多个文件的文件夹路径,为必填参数。也可独立调用子技能,如 调用 skill "profiling-analysis-computing" 分析 "input_path" 中的高耗时算子;同理可调用 communication 与 hostbound 子技能。
支持数据格式:step_trace_time.csv、op_statistic.csv、kernel_details.csv、op_summary.csv、analysis.db。
限制与依赖:需要 Python 3.8+,依赖 pandas、numpy,matplotlib 为可选。其他平台、价格或效果信息暂未提供。