已关闭
[Requirement|需求建议]: 同步 Agent 工作流整改与新算子代码规范到工作流文档 #165
xutianze创建于  6月16日关闭于  6月17日
xutianze
xutianze成员
6月16日 创建

背景信息(Background)

SIG 例会后决定对算子代码架构与目录结构进行整改。getri_batched 作为整改后第一个上库算子,其结构已成为新规范标杆。本次 Issue 旨在同步整改后的代码规范到 Agent 工作流文档和代码模板,确保后续新算子按新标准开发。同时集成上游重构 commit 的工作流变更:

  • cc4d43c7:删除公共 kernel launch 头文件 common/kernel_launch/aclblas_kernel_do.h,kernel_do 改为各算子 host.cpp 本地前向声明
  • f84d6432:_aclblas_handle 统一管理系统默认与用户 workspace,算子禁止自行 aclrtMalloc 分配 workspace
  • b9bf2135:测试框架集成 Netlib BLAS/LAPACK,golden.h 统一使用 CBLAS/LAPACK 函数实现(通过 cblas_compat.h 适配层)

信息来源(Origin)

SIG 例会讨论决策

价值/作用(Benefit / Necessity)

  • 固化 6 项 SIG 决策到 Agent 工作流硬规则,确保新算子按统一标准开发
  • 同步上游重构变更到工作流文档,消除过时文档与代码差异
  • 集成 OAT 自动化扫描到代码检视流程,提升代码检视阶段合规性
  • 对齐 golden.h 输出描述与验收标准缩进(commit b9bf2135 残留问题修复)
  • 降低后续算子开发时 agent 生成代码与规范不符的风险

设计方案(Design)

工作流变更(6 项 SIG 决策)

# 决策 落地位点
1 算子目录改为 2 层:blas/{op}/archXX/(去掉 {family}/ 中间层) SKILL.md 硬规则 8;模板物理目录迁移
2 独立 {op}_kernel.h 头文件,声明 kernel_do 签名;host.cpp 与 kernel.cpp 共用,禁止 host 中 extern 前向声明 SKILL.md 硬规则 9;3 套模板各新增 op_kernel.h
3 Tiling 数据独立文件 {op}_tiling_data.h(保持不变)
4 Kernel/cpp 命名统一 snake_case(与模板对齐)
5 Host 函数拆分:Validate{Op}Params + Launch{Op}Kernel 静态函数,API 入口只做调度 SKILL.md 硬规则 10;3 套 host 模板全部拆分
6 强制 dlog 集成:#include "log/log.h",使用 OP_LOGE/D/I禁止 printf/cout SKILL.md 硬规则 10;3 套 host 模板全部集成

上游重构同步(3 笔 commit)

Commit 工作流同步内容
b9bf2135 task-prompts.md 2.x.1.B 测试开发:golden.h 输出描述 + 验收标准对齐 CBLAS/LAPACK 调用规范
cc4d43c7 task-prompts.md:{family} 路径白名单移除 aclblas_kernel_do.h;log 模板删除 tiling H2D 示例
f84d6432 SKILL.md 硬规则 7:Workspace 由 handle 统一管理;host 模板改为 aclblasGetEffectiveWorkspace(h) / aclblasGetEffectiveWorkspaceSize(h);异步 kernel + const ref tiling(硬规则 6)

新增能力

  • 集成 OAT 自动化扫描:scripts/oat_check.sh(基于 oat-py)在 3.1/4.2 检视前强制执行(SKILL.md 硬规则 5)
  • .gitignore 新增 oat_reports/ 屏蔽扫描报告

一致性检视

  • Reviewer 执行工作流一致性检视,6 项检查全部 PASS(目录、kernel.h、host 拆分、dlog、命名、遗漏)
  • 修复 reviewer 发现的 HIGH 问题(3 套 host 模板 kernel_do 前向声明与 kernel.cpp 定义签名不一致)
likedislike
xutianzexutianze成员
6月16日 关联了pull request:refactor(agent):固化 Agent 工作流整改与新算子代码规范
zhanghuazhanghua成员
6月16日 将 xutianze 设为负责人
CANN-robotCANN-robot成员
6月17日 关闭了 issue
CANN-robotCANN-robot成员
6月17日 添加了label:resolved