用途:对面向 Ascend NPU 的 Triton 算子代码做静态检视,覆盖 Host 侧与 Device 侧,发现潜在 bug、API 误用和性能隐患。仅关注静态代码分析,不涉及运行验证。
主要能力:按严重性分级输出问题。P0 为必定崩溃或结果错误,如 Mask 遗漏、核类型错配、Atomic 循环死锁;P1 为高概率精度或功能问题,如归约未升精度、Softmax 未减 max;P2 为性能与可维护性问题,如冗余访存、BLOCK 未对齐。检视原则强调 Ascend 特有约束优先,Mask 零容错。
使用方式:分阶段加载参考资源。Phase 1 Host 侧加载 ascend-triton-api-constraints.md,不加载 dtype-matrix;Phase 2 Device 侧加载 ascend-api-dtype-matrix.md,不加载 test-patterns;逐项核对用 code-review-checklist.md;参考官方实现用 ascend-test-patterns.md;需确认 tl/libdevice API 签名、参数或可用数据类型时完整阅读 triton-api-reference.md。最终按 code-review-report-template.md 格式输出报告。
关键检查点:Host 侧关注硬编码核数、核类型错配(含 tl.dot 的 kernel 须用 num_aicore,逐元素/归约/激活用 num_vectorcore)、矩阵乘法退化为逐元素、BLOCK_SIZE 是否为 tl.constexpr、矩阵运算 BLOCK 是否为 16 倍数。Device 侧关注 tl.load/tl.store 是否带 mask 或 make_block_ptr、tl.dot 输入数据类型限制、FP16/BF16 归约前升 FP32、Softmax 减 max、归约类算子单 pass、结构化控制流不支持 early exit、tensor 不支持 Python 风格下标。
限制:仅静态分析,不执行代码;具体 API 约束、数据类型矩阵与报告模板内容需查阅对应参考文件,资料中未提供其完整内容。