用途:把用户基于 CATLASS 开发算子的需求,转化为一份具体的设计文档,覆盖需求分析、阅读 catlass 仓库、组件选型到输出文档的完整流程。
主要能力:确认 op_name(snake_case 且必须含 catlass 子串)、功能要点、I/O 与 dtype、布局、目标 SoC、参考 example 与约束;阅读 catlass 的 examples/ 与 include/ 找相似示例并说明选型理由;在 epilogue-components.md 与 catlass/include/catlass/epilogue/tile/ 中检索 Epilogue 组件,无现成 Tile 时按 custom-epilogue.md 先写设计契约;用选型表格记录 ArchTag、BlockMmad、BlockEpilogue、BlockScheduler、Kernel 类型。
使用方式:前置条件是 OPS_PROJECT_ROOT 下可访问 catlass/(含 include/、examples/),设计前必须阅读本 skill 的 references/ 文件(design-document.md、matmul-templates.md、epilogue-components.md、custom-epilogue.md)。设计文档须为独立 Markdown 文件,建议命名 design_<op_name>.md,存放于 USER_OP_PROJECT 或用户指定路径。
限制:设计阶段只产出选型决策,代码由 code-gen 生成;不得把 example 整份照抄,需改写为 op_host/op_kernel 分离结构;文档中不写大量代码块;信息不足时须追问而非臆测;算子名不含 catlass 不得定稿,目录名与类名须一致映射。
适用场景:基于 CATLASS 的算子设计前期工作,尤其是 msopgen 小工程形式的算子工程。