CANNBot TTK转换器执行总纲
TTK Converter 执行总纲【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills路径约定{skill_base} 技能根目录绝对路径由主 Agent 在构建 prompt 或执行流程时作为上下文参数传入。文档中的{skill_base}/references/...需替换为实际路径后再 Read。{whitebox_dir} 白盒测试产出目录通常为{算子路径}/tests/whitebox/{ops_test_kit_path} TTK 工具目录ops-test-kit/{plugin_path} golden plugin 路径任务 5 确定已有 golden →{算子路径}/tests/assets/golden.py自生成 →{whitebox_dir}/golden_plugin.py角色信息提取与格式转换器。从S5_mapped_cases_low.json/S5_mapped_cases_high.jsonStep 5 产出的已映射 tensor 配置中直接提取字段转换为 TTK CSV 格式。TTK 工具ops-test-kit/目录是 TTK 调试工具的代码仓库提供 kernel/aclnn/e2e 三种模式的编译、执行、精度比对能力。所有python3 -m ttk命令必须在ops-test-kit/目录下执行TTK 通过__main__.py启动。命名规则输出文件带ttk_前缀ttk_extract_case_info.py、ttk_{op_name}_cases_low.csv、ttk_{op_name}_cases_full.csv例外golden_plugin.py为自生成时的固定文件名已有tests/assets/golden.py时不生成。模式支持TTK 工具支持三种模式基于 CSV 表头自动识别模式识别条件使用结构当前状态Kernel表头不含api_nameUniversalTestcaseStructure已实现ACLNN表头含api_name且值以aclnn开头ApiTestcaseStructure预留见 ACLNN/E2E 预留节E2E表头含api_name且值不以aclnn开头FrameworkApiTestcaseStructure预留见 ACLNN/E2E 预留节当前仅 Kernel 模式已实现。新增 ACLNN/E2E 时新增0X-{mode}-fields.md0X-{mode}-extraction.md0X-{mode}-tasks.md三个文件无需改动现有 Kernel 文件。输入文件必须用途S5_mapped_cases_low.json是Step 5 低档位输出路径网络空 tensor全 normal门禁用S5_mapped_cases_high.json是Step 5 高档位输出data_range 展开信息性验证S2P1_operator_model.json是算子模型提取attributes节中的属性名列表用于过滤attributesS5_mapping_spec.md是提取属性名列表 识别各 input/output 的 param_typeREQUIRED/DYNAMIC用于派发提取逻辑op_name是算子名称小写字母下划线由主 Agent 在调用时提供scripts/ttk_validate_csv.py辅助CSV 格式校验脚本任务 4 使用由 skill scripts 目录提供算子源码校验用辅助*_def.cpp输入/输出/属性注册、*_tiling_check.cpp/*_tiling*.cpp约束检查、*_infershape.cpp输出 shape 推导可能位于共享目录如*_utils/op_host/输出文件说明ttk_extract_case_info.py单用例信息提取脚本直接从case[tensors]/case[params]提取无 torch 依赖ttk_{op_name}_cases_low.csvlow 档位用例S5_mapped_cases_low.json全 normalttk_{op_name}_cases_full.csvhigh 档位用例S5_mapped_cases_high.jsondata_range 展开golden_plugin.py自生成的 TTK golden 函数通过--plugin加载。已有tests/assets/golden.py时--plugin直接指向该文件不生成此文件信息来源优先级强制校验阶段任务 2/4以算子源码为权威源S5 映射数据为待验证对象L0*_def.cpp输入/输出名称、顺序、dtype 注册最高权威L1*_tiling_check.cpp/*_tiling*.cpp参数约束检查L2*_infershape.cpp输出 shape 推导L3S2P1_operator_model.json算子接口模型由 _def.cpp 导出次权威L4S5_mapped_cases_*.json映射数据由 S5 mapper 生成可能有 bug禁止直接从 S5 映射数据取值而不通过源码校验。禁止凭直觉推断 dtype/shape。执行顺序约束强制以下任务必须按编号顺序逐步执行禁止跳步或抢跑。任务文件前置条件状态判断任务 1{skill_base}/references/ttk-converter/01-csv-common.md{skill_base}/references/ttk-converter/02-kernel-fields.md{skill_base}/references/ttk-converter/03-kernel-extraction.md{skill_base}/references/ttk-converter/04-kernel-tasks.md任务 1 节无ttk_extract_case_info.py 已生成初步验证打印结果与 JSON 一致任务 2{skill_base}/references/ttk-converter/04-kernel-tasks.md任务 2 节任务 1 完成校验结果全部 PASS发现 bug → 修复 → 重验证通过任务 3{skill_base}/references/ttk-converter/04-kernel-tasks.md任务 3 节任务 2 完成ttk_{op_name}cases_low.csv ttk{op_name}_cases_full.csv 已生成任务 4{skill_base}/references/ttk-converter/04-kernel-tasks.md任务 4 节任务 3 完成python scripts/ttk_validate_csv.py校验全部 PASS任务 5{skill_base}/references/ttk-converter/04-kernel-tasks.md任务 5 节任务 4 完成golden_plugin.py 已生成初步验证通过任务 6a{skill_base}/references/ttk-converter/05-kernel-acceptance.md6a 节任务 5 完成单用例 TTK kernel 执行成功任务 6b{skill_base}/references/ttk-converter/05-kernel-acceptance.md6b 节任务 6a 完成--tc 10采样门禁全部 PASS任务 6c{skill_base}/references/ttk-converter/05-kernel-acceptance.md6c 节任务 6b 完成用户确认后执行nohup 后台运行通用规则前置条件表中标明的条件未全部满足时禁止启动该任务完成当前任务的全部子步骤并确认状态判断满足后才能进入下一任务自检失败 → 回到对应任务修正修正完成后方可继续Kernel 模式约束代码约束详见04-kernel-tasks.md任务 5「注意事项」表6 条。CSV 约束详见01-csv-common.md「通用禁止」节3 条。ACLNN/E2E 预留TODO: 待实现。两种模式共享01-csv-common.md的 9 个公共字段通过 CSV 表头含api_name区分。ACLNNApiTestcaseStructure24 字段 9 公共 15 专有api_name以aclnn开头新增tensor_view_*系列字段、output_tensor_indexes、scalar_*字段等E2EFrameworkApiTestcaseStructure19 字段 9 公共 10 专有api_name为框架 API 路径如torch.add新增tensor_view_*系列字段、golden_api等 实现时新增0X-{mode}-fields.md0X-{mode}-extraction.md0X-{mode}-tasks.md三个文件。文件索引文件职责读入时机01-csv-common.md公共字段定义9 个全模式通用 CSV 格式规则9 条 通用禁止3 条任务 102-kernel-fields.mdKernel 模式专有字段定义17 个 CSV 列顺序26 列任务 103-kernel-extraction.mdS5 JSON → CSV 字段提取规则 data_range 映射表 返回值结构任务 104-kernel-tasks.md任务 1-5 详细执行指令 golden 函数注意事项6 条各任务按需05-kernel-acceptance.md任务 6a/6b/6c TTK 执行验收标准任务 5 完成后【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考