SuperAPI AI 工具集

npu-op-benchmark

测试与质量

查看项目

更新于 10-15 17:19

技能介绍

用途:在昇腾 NPU 环境中对单个算子做可复现的延迟测试。执行前先向使用者收集信息:服务器 IP、账号、密码;版本要求(CANN、torch,没有可不写);测试环境(conda 环境名、docker 容器名、CANN 目录);demo 方案(我生成 / 我提供)。缺少服务器 IP、账号、密码时直接中断,不猜测环境。

CANN 检查优先使用使用者提供的 CANN 目录;未提供时按 cann 检索常见路径:CANN < 8.5 常见路径 /usr/local/Ascend/ascend-toolkit/latest,CANN >= 8.5 常见路径 /usr/local/Ascend/cann/latest。填写 conda 环境名时优先走 conda 方案;填写 docker 容器名时优先检查该容器;两者都为“无”时先查 conda 候选环境,用户不接受再查容器候选。无论 conda 还是容器,都须先把环境名、torch/torch_npu 版本、CANN 版本返回给使用者确认,再执行 benchmark。

demo 方案只接受“我生成”或“我提供”两种值;选择“我提供”时优先使用使用者提供的 demo 或算子补充信息。assets/config_template.yaml、scripts/bench_repeat_interleave.py、scripts/bench_op.py 中的 repeat_interleave 只是示例,不代表只支持该算子。未提供额外用例时,agent 可据目标算子性能测试原则自行设计 demo,设计完成先返回给使用者。执行时优先复用环境原有 torch 和 torch_npu,不重复安装。

限制:缺少目标 CANN、torch_npu 不可用或算子执行报环境错误时立即停止,不修环境,要求提供新的可用环境;不自动安装 CANN,不自动修复 conda 或容器,不启用回退安装流程。必须创建文件时放到隔离测试目录,结束后删除;benchmark 结束后直接返回完整结果,不额外生成报告文件。

返回结果至少包括:CANN 版本、torch 版本、torch_npu 版本、测试环境、环境名称(conda 名或容器名)、测试方法、目标算子、tensor shape、demo 代码、性能数据。环境不满足或执行失败时按统一模板返回:环境不满足,已停止当前测试。请提供新的可用环境。并列出 torch 版本、torch_npu 版本、当前引用的 CANN 版本、demo.py 内容、input/output tensor shape、执行失败报错。入口:scripts/cann_detect.sh(CANN 检测)、scripts/find_docker_cann.sh(Docker 容器检查)、scripts/bench_op.py(通用算子基准)、scripts/bench_repeat_interleave.py(repeat_interleave 示例包装脚本)。更多说明见 usage、docker、conda、cann、troubleshooting。