SuperAPI AI 工具集

external-cannbot-ops-triton-op-designer

编程与开发

查看项目

更新于 10-15 17:19

技能介绍

用途:该技能面向 Triton Ascend 算子开发,负责在代码生成之前设计算法草图(sketch)。它只产出算法草图,不生成可执行代码,草图用于指导后续的代码生成(triton-op-coding)。固定配置为:目标 DSL triton_ascend、目标框架 torch、目标后端 ascend、目标架构 {{ arch }}。触发场景是用户需要为 Triton Ascend 算子设计算法草图,或在已有 sketch 基础上迭代时。

主要能力:根据任务描述与规格说明(算子任务格式、包含 Model 类)、相关知识与示例、以及执行历史(迭代时的设计反馈与优化建议)设计高质量草图。设计流程包括:阅读 task_desc 中 Model.forward() 参考实现,理解数学逻辑与计算模式,判断算子类型(elementwise / reduce / matmul / attention / 复合),结合目标硬件架构选择并行化策略与内存访问模式,并用 UnifiedSketch DSL 输出草图。

知识加载:每次设计必选加载 @references/sketch-design.md(UnifiedSketch DSL 语法规范、核心操作、设计模式、最佳实践);硬件规格读取 @../npu-arch/references/npu-arch-guide-triton.md 与 @../npu-arch/references/npu-hardware-params.md。按算子类型从内置手写优化案例中选取最相关的 2 个加载,选择依据为算子类型匹配优先,其次数据规模接近、优化模式相似,案例覆盖 elementwise、index、matmul、reduction 等类别。若任务描述包含 hint 标记(如 @hint:、@range_hint),需加载 @references/hint-mode.md。

输出与原则:直接输出 sketch op_name { ... } 格式草图;含 hint 时在末尾附设计适用范围注释。原则包括流程清晰、遵循 Ascend NPU 硬件特性(core 级并行、内存层次)、考虑并行度与内存访问与数据对齐、用 @llm_hint 标注优化点与权衡、数值正确性优先于性能。思考阶段只做框架级分析决策(算子类型、并行策略、Tile 大小与 UB 容量及对齐、数据类型处理),完整草图仅在最终输出给出。

限制:不生成可执行代码;具体性能收益、收费与平台支持情况资料暂未提供。