news 2026/5/9 12:38:42

CANN/cann-bench脚本工具指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/cann-bench脚本工具指南

Scripts

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

本目录包含评测工程运行脚本和工具脚本。

目录结构

scripts/ ├── run_evaluation.sh # AI算子源码评测(完整流程:编译→安装→评测) ├── run_test.sh # Golden功能验证(CPU/NPU模式) ├── run_ut.sh # 单元测试运行 ├── utils/ │ ├── yaml_to_csv.py # YAML → CSV 转换 │ └── yaml_block_to_flow.py # YAML block → flow 格式转换 └── README.md

run_evaluation.sh

AI 生成算子源码评测脚本,支持完整流程(扫描→编译→安装→评测)。

用法

./scripts/run_evaluation.sh [源码目录] [选项]

命令行选项

操作选项
选项说明
-a, --action <action>操作类型:eval(评测)、list(列表)、info(详情)、config(配置),默认:eval
--source-dir <dir>AI 生成的算子源码目录(自动扫描编译安装)
目录配置
选项说明
--task-dir <path>指定评测目录,默认:kernel_bench。支持:kernel_benchkernel_bench/level1kernel_bench/level1/exp
设备配置
选项说明
--device <type>设备类型:cpunpu(默认:npu
--device-id <id>指定 NPU 设备 ID(单卡模式)。不指定则自动使用全部可用卡(多卡并行)
多进程并行配置
选项说明
--processes-per-card <n>每卡进程数(默认:2)
--timeout-per-process <n>单进程超时(秒,默认:300)
用例筛选
选项说明
--operator <name>按算子名称筛选
--case-id <id>按用例编号筛选
性能配置
选项说明
--warmup <n>预热次数(默认:3)
--repeat <n>采集次数(默认:5)
--no-perf关闭性能采集,仅做精度验证
--profiler-level <level>Profiler 级别:Level1Level2(默认:Level1
其他选项
选项说明
-v, --verbose详细输出
-h, --help显示帮助信息

使用示例

从源码目录评测(推荐)
# 位置参数方式 ./scripts/run_evaluation.sh /path/to/ai_ops # 显式指定 --source-dir ./scripts/run_evaluation.sh --source-dir /path/to/ai_ops # 评测指定算子 ./scripts/run_evaluation.sh /path/to/ai_ops --operator Exp # 评测单个用例 ./scripts/run_evaluation.sh /path/to/ai_ops --operator Exp --case-id 1
指定评测目录
# 评测 kernel_bench 目录(默认) ./scripts/run_evaluation.sh # 评测指定级别目录 ./scripts/run_evaluation.sh --task-dir kernel_bench/level1 # 评测单个算子目录 ./scripts/run_evaluation.sh --task-dir kernel_bench/level1/exp # 按算子名称筛选 ./scripts/run_evaluation.sh --operator Exp
设备配置
# CPU 评测 ./scripts/run_evaluation.sh --device cpu --operator Exp # 单卡 NPU 评测 ./scripts/run_evaluation.sh --device-id 0 --operator Exp # 多卡并行评测(自动检测全部可用卡) ./scripts/run_evaluation.sh --operator Exp
性能配置
# 仅精度验证(关闭性能采集) ./scripts/run_evaluation.sh --no-perf --operator Exp # 自定义预热和采集次数 ./scripts/run_evaluation.sh --warmup 5 --repeat 10 --operator Exp # 使用 Level2 Profiler(更详细) ./scripts/run_evaluation.sh --profiler-level Level2 --operator Exp
查看算子信息
# 列出算子 ./scripts/run_evaluation.sh -a list # 查看算子详情 ./scripts/run_evaluation.sh -a info --operator Exp # 查看配置 ./scripts/run_evaluation.sh -a config

输出

评测报告保存在reports/目录:

  • reports/eval_report.json:JSON 格式详细报告
  • reports/eval_report.md:Markdown 格式报告
  • reports/summary.md:摘要报告

run_test.sh

Golden 功能验证脚本,支持 CPU 和 NPU 模式。

用法

./scripts/run_test.sh --cpu|--npu [选项]

命令行选项

模式选项(必选其一)
选项说明
--cpuCPU 简单验证模式
--npuNPU 进程池评测模式
设备配置(仅 NPU 模式)
选项说明
--device-id <id>指定 NPU 设备 ID(单卡模式)。不指定则自动使用全部可用卡(多卡并行)
目录配置
选项说明
--task-dir <path>指定评测目录,默认:kernel_bench。支持:kernel_benchkernel_bench/level2/scatter
多进程并行配置
选项说明
--processes-per-card <n>每卡进程数(默认:2)
--timeout-per-process <n>单进程超时(秒,默认:300)
用例筛选
选项说明
--operator <name>按算子名称筛选
--case-id <id>按用例编号筛选
--case-timeout-sec <n>用例超时时间(秒),超时则标记失败继续下一用例
性能配置(仅 NPU 模式)
选项说明
--warmup <n>预热次数(默认:3)
--repeat <n>采集次数(默认:5)
--no-perf关闭性能采集,仅做精度验证
--export-baseline <path>导出性能基线到 JSON
输出选项
选项说明
--output <path>结果输出文件路径
-v, --verbose详细输出模式
-h, --help显示帮助信息

使用示例

# CPU 验证 ./scripts/run_test.sh --cpu --operator Sigmoid # NPU 单卡评测(指定设备) ./scripts/run_test.sh --npu --device-id 0 --operator Scatter # NPU 多卡并行评测(自动检测全部卡) ./scripts/run_test.sh --npu --operator Scatter # 指定算子目录评测 ./scripts/run_test.sh --npu --task-dir kernel_bench/level2/scatter # NPU 评测并导出基线 ./scripts/run_test.sh --npu --export-baseline reports/baseline.json # 关闭性能采集(仅精度验证) ./scripts/run_test.sh --npu --no-perf --operator Exp

run_ut.sh

单元测试运行脚本,基于 pytest。

用法

./scripts/run_ut.sh [选项]

命令行选项

选项说明
-v, --verbose详细模式,显示每个测试名称和结果
-q, --quiet静默模式,只显示最终统计
-k, --keyword <kw>按关键字筛选测试(pytest -k)
-f, --file <name>指定测试文件(如 test_config.py)
-t, --test <spec>指定测试方法(如 TestConfig::test_default_config)
-x, --fail-fast首次失败即停止
-s, --no-capture不捕获 stdout/stderr(调试用)
-j, --jobs <n>并行执行(pytest-xdist)
--pdb失败时进入 pdb 调试器
-h, --help显示帮助

使用示例

# 全部单元测试 ./scripts/run_ut.sh # 详细模式 ./scripts/run_ut.sh -v # 按关键字筛选 ./scripts/run_ut.sh -k "config" # 指定测试文件 ./scripts/run_ut.sh -f test_config.py # 指定测试方法 ./scripts/run_ut.sh -f test_config.py -t TestConfig::test_default_config # 失败即停 + 详细输出 ./scripts/run_ut.sh -x -v # 无捕获 + 失败调试 ./scripts/run_ut.sh -s --pdb

utils/yaml_to_csv.py

将 cases.yaml 转换为 cases.csv 格式。

用法

python scripts/utils/yaml_to_csv.py <input.yaml> [-o <output.csv>]

命令行选项

选项说明
input_file输入 YAML 文件路径
-o, --output <path>输出 CSV 文件路径,默认与输入同名但扩展名改为 .csv

使用示例

# 转换为同名 CSV python scripts/utils/yaml_to_csv.py kernel_bench/level1/exp/cases.yaml # 指定输出路径 python scripts/utils/yaml_to_csv.py kernel_bench/level1/exp/cases.yaml -o output.csv

utils/yaml_block_to_flow.py

将 YAML 文件中的 block format 数组转换为 flow format。

用法

python scripts/utils/yaml_block_to_flow.py <input.yaml> [-o <output.yaml>] [-s <style>]

命令行选项

选项说明
input_file输入 YAML 文件路径
-o, --output <path>输出 YAML 文件路径,默认输出到控制台
-i, --indent <n>缩进空格数(默认:2)
-s, --style <style>转换风格:all(所有列表)、selective(仅简单列表)、smart(智能选择),默认:selective

使用示例

# 转换为 flow format(输出到控制台) python scripts/utils/yaml_block_to_flow.py cases.yaml # 保存到文件 python scripts/utils/yaml_block_to_flow.py cases.yaml -o cases_flow.yaml # 转换所有列表为 flow format python scripts/utils/yaml_block_to_flow.py cases.yaml -s all # 智能转换 python scripts/utils/yaml_block_to_flow.py cases.yaml -s smart

脚本对比

脚本用途底层入口输入输出
run_evaluation.shAI 算子完整评测src/kernel_eval/cli.pyAI 源码目录 / kernel_bench 目录评测报告
run_test.shGolden 功能验证tests/run_simple.pykernel_bench 目录测试结果 JSON
run_ut.sh单元测试pytesttests/unit 目录pytest 输出

底层入口职责

入口职责核心能力
cli.py评测核心--dir、多卡并行、--no-perf--source-dir--profiler-level
run_simple.pyGolden 特化Golden 伪装(NPU 模式)、CPU 模式验证

参数统一说明

两个评测脚本run_evaluation.shrun_test.sh共享以下统一参数:

参数说明CLI 支持
--task-dir <path>指定评测目录(替代原来的--level
--device-id <id>单卡模式:指定设备;不指定则多卡并行
--processes-per-card <n>多卡并行时每卡进程数
--warmup <n>预热次数
--repeat <n>采集次数
--no-perf关闭性能采集,仅精度验证
--operator <name>按算子名称筛选
--profiler-level <level>Profiler 级别(Level1/Level2)

相关文档

  • 评测基准规范
  • 评测工程设计
  • 性能采集设计
  • 快速入门

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:29:15

【AI应用】一键部署OpenClaw(龙虾)

介绍 龙虾&#xff0c;也就是OpenClaw&#xff0c;是目前非常火的自主式AI Agent平台&#xff0c;是一个能7x24小时随时待命的自主式AI助理&#xff0c;你可以通过微信或飞书随时向它派发任务。它不仅记得你之前聊过的所有内容&#xff0c;还能跨平台管理你的对话与信息&#…

作者头像 李华
网站建设 2026/5/9 12:27:51

后端开发中的测试策略:确保代码质量与稳定性

在软件开发的整个生命周期中&#xff0c;测试扮演着至关重要的角色&#xff0c;尤其是在后端开发领域。随着系统复杂度的不断上升&#xff0c;确保代码质量与稳定性已成为后端工程师不可忽视的责任。一个稳健的测试策略不仅能提前发现潜在缺陷&#xff0c;还能提升开发效率&…

作者头像 李华
网站建设 2026/5/9 12:26:34

CANN/asc-devkit AllocTensor API

AllocTensor 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.co…

作者头像 李华
网站建设 2026/5/9 12:26:30

长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享 在持续数月的项目开发中&#xff0c;我们团队将多个AI应用的后端服务统…

作者头像 李华
网站建设 2026/5/9 12:23:49

CANN运行时资源限制内核加载示例

1_launch_kernel_with_reslimit 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 描述 本样例展示了在设置了当前进程的Device资源限制下&#xff0c;Add算子的加载与执行。 产品支持情况 本样例在以…

作者头像 李华
网站建设 2026/5/9 12:22:50

cann/driver:DCMI设备组件列表API

dcmi_get_device_component_list 【免费下载链接】driver 本项目是CANN提供的驱动模块&#xff0c;实现基础驱动和资源管理及调度等功能&#xff0c;使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_component_list(int card_…

作者头像 李华