ops-test-kit:基于 CANN 生态的算子测试框架项目

TTK(Ops Test Tool Kit)是CANN算子库提供的全链路、自动化、批量化算子测试框架,帮助开发者快速完成算子批量功能验证、性能评估以及Golden值比对,提升算子开发质量和效率。

分支5Tags0
文件最后提交记录最后更新时间
1 天前
9 天前
3 个月前
20 小时前
7 天前
1 天前
20 小时前
19 小时前
1 天前
1 天前
12 天前
1 天前
1 个月前
3 个月前
5 天前
1 天前
1 天前
1 个月前
3 个月前
4 天前
5 天前
12 天前
3 个月前

🚀 TTK —— 算子测试工具

TTK(ops Test Tool Kit)是CANN算子库提供的全链路、自动化、批量化算子测试框架,帮助开发者快速完成算子批量功能验证、性能评估以及Golden值比对,提升算子开发质量和效率。

文档中出现的硬件厂商名仅作示例,TTK 通过配置驱动支持任意符合接口的硬件加速器。

  • 全栈测试通路:Kernel(AscendC)/ GEIR(GE图)/ ACLNN(aclnn* C API)/ E2E(torch/torch_npu),覆盖算子到框架各层
  • 多设备 + 仿真:真实设备支持 NPU / MLU / CPU;仿真模式基于 CPU 模拟 NPU 行为,无需真实硬件即可开发调试
  • 多卡并行:多 NPU 设备并行测试
  • 多种精度对比:混合容差(生态算子开源精度标准,默认)、统计相对误差、余弦相似度、二进制精确、重量化、三方交叉校验
  • 可扩展插件:自定义 Golden / 输入生成,Kernel 与 ACLNN/E2E 独立命名空间

English Documentation

🏗️ 架构层级与测试覆盖

┌──────────────────────────────────────────────────┐
│  应用框架层  ✅ Torch · TensorFlow · ...          │  ← E2E(端到端,覆盖全链路)
├──────────────────────────────────────────────────┤
│  引擎层     ✅ GEIR · GE · ✅ ACLNN              │  ← GEIR(GE图编译+执行)/ ACLNN(引擎 API)
├──────────────────────────────────────────────────┤
│  算子层     ✅ AiCore · AiCpu                     │  ← Kernel(算子内核,覆盖编译+执行)
└──────────────────────────────────────────────────┘

🛠️ 环境准备

  • 按照昇腾社区安装CANN环境:官方链接
  • Python版本建议选择3.8及以上
git clone https://gitcode.com/cann/ops-test-kit.git
cd ops-test-kit
pip install -r requirements.txt

🚀 快速开始

通过 CSV 文件定义测试用例(字段说明详见用例生成),一条命令批量运行:

# 查看设备信息
python3 -m ttk info

# Kernel:编译 + 执行 + 精度比对
python3 -m ttk kernel -i examples/case_store/kernel/add.csv

# GEIR:GE 图编译 + 执行
python3 -m ttk geir -i examples/case_store/kernel/add.csv

# ACLNN:aclnn* C API
python3 -m ttk aclnn -i examples/case_store/aclnn/aclnn_cat.csv

# E2E:框架端到端(--cpu 强制 CPU 后端)
python3 -m ttk e2e -i examples/case_store/e2e/torch_add.csv

运行后终端输出每个用例的精度状态和整体通过率,加 -o 可输出结果 CSV。参数帮助执行 python3 -m ttk kernel --help

📚 使用文档

通用

测试通路

四条测试通路对应昇腾技术栈不同层级,详见各通路指南。

通路 覆盖层级 指南
Kernel 算子层(AiCore/AiCpu),覆盖编译+执行 Kernel算子测试指南
GEIR 引擎层,GE 图编译+执行 GEIR算子测试指南
ACLNN 引擎层,aclnn* C API ACLNN算子测试指南
E2E 应用框架层(torch/torch_npu),端到端 E2E算子测试指南

高阶使用场景

离线数据准备、XPU 三方交叉校验、确定性计算、Dump 调试、NPUSim 仿真等多参数组合场景,详见任务执行 - 高阶使用场景

工具适配

FAQ

🤖 AI 辅助

TTK 配备 Agent Skills,为 CLI 类 AI 编程助手(Claude Code、OpenCode 等)提供 TTK 使用指导。详见 AGENTS.md

注意:执行 python3 -m ttk 命令需要在 ops-test-kit 目录下运行。

💬 相关信息

🤝 联系我们

  • 问题反馈:通过GitCode【Issues】提交问题。
  • 社区互动:通过GitCode【讨论】参与交流。
  • 技术专栏:通过GitCode【Wiki】获取技术文章,如系列化教程、优秀实践等。

项目介绍

TTK(Ops Test Tool Kit)是CANN算子库提供的全链路、自动化、批量化算子测试框架,帮助开发者快速完成算子批量功能验证、性能评估以及Golden值比对,提升算子开发质量和效率。

定制我的领域