CANN Task A 产出验证

发布时间:2026/7/4 7:11:31

CANN Task A 产出验证 Task A 产出验证【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills校验S2P1_path_list.json中对源码的声明是否真实。辅助文件S2P0_file_manifest.json仅用于路径映射。仅校验reachability reachable的 path。A1.1 source 行号解析每条 reachable path 的source格式{tiling_short}:{L_t} → {kernel_short}:{L_k}L_k 可为 rangeRead 对应行号 ±N 行源码验证位置真实性。tiling 侧L_t ±3该位置须包含分支逻辑if/else if/switch/case/IsMatchXxx()/set_tilingKey空行/注释/无关代码 →fail。kernel 侧L_k ±5该位置须在某个TILING_KEY_IS(...)块内花括号配对确定块边界。range 格式下 range 内至少一行在块内即 pass。所有块之外 →fail。A1.2 conditions对每条 reachable pathRead tiling 源码L_t ±15行扩展至当前函数边界逐条验证conditions[]。 当 conditions 中出现命名常量如FLT_EPSILON、MIN_C_SIZE等但在 ±15 行窗口内找不到定义时须 Grep 该常量名在整个 tiling 源码文件中的static const/constexpr/#define定义解析其实际值后再比对。类型规则{var,op,value/ref}纯运算符varref变量名在源码段出现op 方向一致value 数值匹配{var,op,...}复合 opop 为描述性文本如* dtypeSizeX_ 128降级匹配op 中所有变量名 常量在源码段出现即可{expr,op,value}expr 中所有变量名在源码段出现op 方向一致value 匹配运算符取反源码中路径条件常以否定形式表达如if (cond) return;表示路径条件为!cond验证时需考虑运算符取反↔、↔!取反后一致即 pass{boundary_check:...}自由文本同时查 tiling 源码段和kernel apt.cpp 对应TILING_KEY_IS块内的分支判定普通 condition 不匹配 →fail。boundary_check 不可解析或源码段与 kernel 块均不存在对应判定 →warn不阻塞。A1.3 key_instructions定位 apt.cpp 对应TILING_KEY_IS块在块内查找模板实例化语句。比对签名ClassNameT1,...,Tn模板参数数量必须一致固定参数位bool/int/uint32_t等须完全匹配*通配位接受任何非空值模板参数名接受占位符标识如{dtype_placeholder}或具体数据类型枚举值如ge::DT_FLOAT16块内存在性扫描至少一个实例化完全匹配即 pass。类名不匹配 / 参数数量不一致 / 无实例化匹配 →fail。A1.4 source_constraints验证顶层source_constraints[]中每条约束字段规则判定source_location文件路径映射成功见下方映射行号 ±3 处确有代码failsource_expr字面匹配源码中该位置表达式failvariables每项出现在source_expr文本中或是 source_expr 中子表达式的语义等价写法warn不自洽fail 报告要求当 source_expr 判定为 fail 时报告中必须引用源码该位置的实际行内容原文复制非转述格式为S2 声称{source_expr}源码实际L{line}{actual_source_line}差异{具体差异描述}A1 整体判定任一子项 fail →fail仅 boundary_check / variables warn →pass_with_warnings全 pass 无 warn →pass。文件名映射使用场景tiling 文件kernel 文件path.source短名如tiling.cpp/kernel.cpp→manifest.tiling.file_list首条P0 优先→manifest.kernel.file_list[0]source_constraints.source_location完整 basename子串匹配manifest.tiling.file_list[].path子串匹配manifest.kernel.file_list[].path映射失败 →fail。字面匹配容忍度接受空格/换行/注释差异、this-xvsx、单双引号。不接受constexpr 名替换128→MIN_C_SIZE、运算符反转↔、表达式重组。输出格式| ID | 状态 | verified/total | 备注 | |----|------|---------------|------| | A1.1 | pass/fail | v/t | tiling: vt/tt; kernel: vk/tk | | A1.2 | pass/fail/warn | v/t | boundary_check warn: N | | A1.3 | pass/fail | v/t | | | A1.4 | pass/fail/warn | v/t | variables warn: N |【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻