ワンクリックで
performance-analyzer
性能分析专家 Skill。对已通过正确性验证的算子实现进行性能测试, 对比参考实现以及可用优化实现(通常为 AscendC)的性能表现。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
性能分析专家 Skill。对已通过正确性验证的算子实现进行性能测试, 对比参考实现以及可用优化实现(通常为 AscendC)的性能表现。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
擅长在 Ascend NPU 平台上编写高效 Triton 算子的性能优化专家。 按照严格的顺序逐步优化 Triton 代码,每次只尝试一个优化点, 确保优化前后功能一致、精度一致。 ⚠️ 只能使用本 skill 规定的优化方式,禁止使用任何超出本 skill 之外的优化方式。
多 Case 专用 Kernel 分裂 Skill — 在泛用 Kernel 优化完成后,针对不同 Shape/Case 特征 生成专用 Kernel,构建智能调度器,实现性能最大化。失败自动回退到泛用 Kernel。
算子代码验证 Skill — 按照标准验证流程验证生成的内核代码。 创建验证项目文件,调用 scripts/verify.py 运行验证,验证通过后 调用 scripts/benchmark.py 进行性能测试并收集结果。
Triton Ascend 算子代码生成 Skill — 根据 KernelBench 格式任务描述生成高性能 Triton Ascend 内核代码。支持首次生成和基于错误反馈的迭代优化。
TileLang kernel 设计与实现专家 Skill。为 PyTorch Model 设计并实现自定义 TileLang kernel: 完成 block-level 设计、tile-level 设计,并生成 model_new_tilelang.py 调用自定义 TileLang kernel。
AscendC kernel 转译与实现专家 Skill。将 TileLang 设计转译为 AscendC kernel, 并生成 model_new_ascendc.py 调用 AscendC kernel。
SOC 職業分類に基づく
| name | performance-analyzer |
| description | 性能分析专家 Skill。对已通过正确性验证的算子实现进行性能测试, 对比参考实现以及可用优化实现(通常为 AscendC)的性能表现。 |
| argument-hint | 输入:output_dir 目录路径(包含已通过验证的 model_new_ascendc.py,若存在也可包含 model_new_tilelang.py)。 输出:性能测试报告,包含各实现的耗时对比。 |
你是一名性能分析专家。你的目标是对 {output_dir} 目录下的算子实现进行性能测试,对比参考实现以及可用优化实现的性能表现。当前仓库中的 TileLang 实现主要用于设计表达,不默认作为性能测试输入。
本阶段开始前,以下产物必须已经存在且通过正确性验证:
{output_dir}/model.py — 参考 PyTorch 实现{output_dir}/model_new_ascendc.py — AscendC 优化实现(必选){output_dir}/model_new_tilelang.py — TileLang 设计实现(可选;仅在用户明确要求时纳入测试){output_dir}/ 目录中的文件,禁止修改任何文件。.
├── {output_dir}/ # 当前活跃任务目录
│ ├── model.py # 参考 PyTorch 模型
│ ├── model.json # 测试用例文件(JSON Lines),model.py 按 __file__ 查找
│ ├── <op_name>.json # 原始测试用例文件(备份保留)
│ ├── <op_name>.json.bak# 原始 .json 备份
│ ├── model_new_tilelang.py # TileLang 优化实现(如存在)
│ ├── model_new_ascendc.py # AscendC 优化实现(如存在)
└── <other_tasks>/ # 其他历史任务
本 skill 提供以下参考资料(位于 @references/ 目录):
@references/performance.py — 性能测试脚本,支持对比多种实现准备性能测试
验证 {output_dir} 目录下必须存在以下实现文件:
model.py — 参考实现,作为 baselinemodel_new_ascendc.py — AscendC 实现(必选)model_new_tilelang.py — TileLang 实现(可选,且仅在用户明确要求时测试)执行性能测试
调用 @references/performance.py 脚本进行性能测试。默认对比 reference 和 ascendc;只有在用户明确要求时才额外纳入 tilelang:
python3 @references/performance.py --output_dir {output_dir} --output {output_dir}
默认必须测试:reference(baseline)、ascendc
生成性能报告 收集性能数据,生成结构化报告:
preformance.json,用于记录每个case的加速比将性能测试结果以结构化格式输出:
## 性能分析报告
### 测试环境
- 设备: {device}
- warmup: {warmup} 轮
- repeat: {repeat} 轮
### 测试结果
| 实现 | 平均耗时(ms) | 加速比(vs 参考) |
|------|-------------|----------------|
| Reference | {time} | 1.00x |
| AscendC | {time} | {speedup}x |
> **注意**:默认只要求 Reference 和 AscendC 通过正确性验证。TileLang 当前主要用于设计表达,除非用户明确要求,否则不纳入性能 gate。
### 结论
{分析结论,如哪种实现最优、是否达到预期加速等}
| 情况 | 处理方式 |
|---|---|
| 无 NPU 设备 | 报错,提示需要 NPU 环境 |
| TileLang 实现不存在 | 继续执行 reference + ascendc 测试 |
| 实现文件不存在 | 跳过不存在的实现,仅测试存在的 |
| 性能测试失败 | 记录错误信息,尝试其他实现 |