移除误提交的本地脚本
CCF 开源创新大赛参赛项目 · 上海海洋大学 0 队 底层依赖:MindSpore AKG · 目标平台:昇腾 910B 系列
OpForge 面向 akg_kernels_bench_lite 算子任务,交付 算子 current-best、团队 Skill 知识库、OpForge AKG Agent 三类成果。项目以官方 AKG Agent 的 akg-op -> kernelgen -> verifier 流程为生成底座,在其外层补充硬件能力审计、Operator Playbook、Adaptive Pass@N、真实 NPU 反馈、失败记忆、候选晋升、来源证明和可复现打包,将一次性代码生成扩展为可观察、可控制、可复核的算子优化闭环。
akg_kernels_bench_lite
akg-op -> kernelgen -> verifier
三类成果分别记录、分别归因:
latest/
skills/
SKILL.md
OpForge-AKG-Agent/
当前 chusai 分支记录的 1365 分来自 latest/ 团队实测 current-best,与 Agent 自主生成结果分轨记录。既有候选和历史性能作为 Agent 的搜索先验与同轮对照;只有重新经过官方 kernelgen 生成、Verifier、真实 NPU forward 和官方 runner 的候选才进入 Agent 自主生成成绩口径。
chusai
kernelgen
题目快照与语义抽取 -> 运行栈与硬件能力审计 -> Operator Playbook / Candidate Plan -> 任务匹配的 Agent Skill 与团队调优 Skill -> 官方 akg-op / kernelgen 生成 -> 官方 Verifier 与严格正确性门 -> Sidecar build / import / NPU forward / .so attestation -> 官方 runner 与 Profile Digest -> Candidate DAG / failure memory / targeted repair -> keep-best promotion / submission audit / package
控制器不会假设所有算子都适合相同实现。原生库算子已饱和时可选择精确 vendor floor;归一化、量化和 reduction 任务可探索 AscendC/Triton 组合;矩阵任务可比较 layout/cache 路线;有 mutable state 的任务则优先保护真实状态更新与多 seed 语义。
对需要 Sidecar 的候选,构建工作由控制器负责,不在 ModelNew.forward() 中静默调用 CMake 或 subprocess。生成文件可以拥有 AscendC primary、Triton-Ascend fallback 和 Torch correctness floor,但 fallback 只提高容错性,不承诺“100% 通过”,也不能替代官方验证。
ModelNew.forward()
subprocess
完整知识体系按 27 + 8 + 3 = 38 项 Skill 资产统计:
opforge-team-tuning-strategy-adapter
opforge-team-tuning-profiling-adapter
opforge-team-tuning-implementation-adapter
外层 skills/ 中可直接审阅 27 + 8 = 35 个 SKILL.md。Agent 内层保留全部 38 项 Skill 资产,但只注册 8 + 3 = 11 个顶层可发现入口;27 个团队实测调优 Skill 以逐项适配后的 *.ADAPTED_SKILL.md 存放,由适配器按算子、DSL 路线和 Profiling 信号读取 1–3 个匹配条目,而不是一次把 27 篇长文全部注入提示词。
*.ADAPTED_SKILL.md
适配过程为每个团队调优 Skill 记录源分支、HEAD、SHA-256、版本状态和验证要求;受排版影响的 fenced code 会被移除。历史 speedup、固定 core/RPB、运行时 CMake、静默 fallback 和缓存方案只能成为候选假设;Agent 原生完整性与验证规则发生冲突时,以 Agent 规则和官方 runner 为准。
. ├── latest/ # 13 个团队实测 current-best │ ├── t1/ # 6 个基础算子 │ ├── t2/ # 4 个复合算子及 Sidecar │ └── t3/ # 3 个高难算子及 Sidecar ├── skills/ # 35 个外层 SKILL.md │ ├── ascend-bench-strategy/ # 8 个团队通用策略 Skill │ ├── ascend-npu-profiling/ # 1 个团队 Profiling Skill │ ├── specific-implementation/ # 18 个团队模式/case Skill │ └── opforge-agent/ # 8 个 Agent 原生 Skill ├── OpForge-AKG-Agent/ # 自包含 Agent 工程 │ ├── opforge/ # 规划、控制、验证、反馈、打包 │ ├── akg_op_overlay/ # 8 原生 + 3 适配器 + 27 适配 Skill │ ├── scripts/ # setup/self-check/run_case/run_suite │ ├── tests/ # 控制器回归测试 │ └── third_party/akg-br-agents/ # 固定的官方 AKG Agent 快照 └── README.md
workspace/.opencode/skills/opforge-*
1/1 pass
1.0581x
静态回归不等于 NPU 性能验证。真实候选仍须在 Ascend 环境执行 run_case.sh 或 run_agent_suite.sh,并以当次官方证据为准。
run_case.sh
run_agent_suite.sh
下表保留原有调优口径,用于展示 latest/ 的团队实测结果。数字对应既有昇腾 910B 环境记录,当前提交与新运行栈需重新执行官方 runner;本表与 Agent 自主生成结果分别统计。
cd OpForge-AKG-Agent bash scripts/setup.sh --ascend cp .env.example .env bash scripts/self_check.sh --runtime bash scripts/run_case.sh t1/sigmoid_scale_sum
完整题集:
cd OpForge-AKG-Agent bash scripts/run_agent_suite.sh
每次运行默认写入 OpForge-AKG-Agent/artifacts/runs/<run-id>/,包含 runtime audit、Pass@N 候选、progress events、Verifier/runner 证据、Candidate Memory、promotion decision 和 submission audit。
OpForge-AKG-Agent/artifacts/runs/<run-id>/
import torch from latest.t1.gelu import Model, ModelNew, get_inputs, get_init_inputs args = get_inputs() init_args = get_init_inputs() reference = Model(*init_args)(*args) candidate = ModelNew(*init_args)(*args) assert torch.allclose(reference, candidate, atol=1e-2, rtol=1e-2)
该片段只用于快速语义检查,正式结论必须使用赛事官方 runner 的输入、预热、计时和评分流程。
aarch64
torch
torch_npu
OpForge-AKG-Agent/scripts/run_case.sh
OpForge-AKG-Agent/scripts/run_agent_suite.sh
OpForge-AKG-Agent/scripts/self_check.sh --with-tests
akg_kernels_bench_lite/tools/run_bench.py
OpForge-AKG-Agent/opforge/agent_profile_digest.py
项目设计与算子优化参考:
akg-op
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
OpForge:面向昇腾 NPU 的剖分驱动算子生成与闭环调优 Agent
项目简介
OpForge 面向
akg_kernels_bench_lite算子任务,交付 算子 current-best、团队 Skill 知识库、OpForge AKG Agent 三类成果。项目以官方 AKG Agent 的akg-op -> kernelgen -> verifier流程为生成底座,在其外层补充硬件能力审计、Operator Playbook、Adaptive Pass@N、真实 NPU 反馈、失败记忆、候选晋升、来源证明和可复现打包,将一次性代码生成扩展为可观察、可控制、可复核的算子优化闭环。三类成果分别记录、分别归因:
latest/skills/SKILL.mdOpForge-AKG-Agent/当前
chusai分支记录的 1365 分来自latest/团队实测 current-best,与 Agent 自主生成结果分轨记录。既有候选和历史性能作为 Agent 的搜索先验与同轮对照;只有重新经过官方kernelgen生成、Verifier、真实 NPU forward 和官方 runner 的候选才进入 Agent 自主生成成绩口径。核心创新
Agent 自主闭环
控制器不会假设所有算子都适合相同实现。原生库算子已饱和时可选择精确 vendor floor;归一化、量化和 reduction 任务可探索 AscendC/Triton 组合;矩阵任务可比较 layout/cache 路线;有 mutable state 的任务则优先保护真实状态更新与多 seed 语义。
对需要 Sidecar 的候选,构建工作由控制器负责,不在
ModelNew.forward()中静默调用 CMake 或subprocess。生成文件可以拥有 AscendC primary、Triton-Ascend fallback 和 Torch correctness floor,但 fallback 只提高容错性,不承诺“100% 通过”,也不能替代官方验证。27 + 8 + 3 Skill 体系
完整知识体系按 27 + 8 + 3 = 38 项 Skill 资产统计:
opforge-team-tuning-strategy-adapter、opforge-team-tuning-profiling-adapter、opforge-team-tuning-implementation-adapter。外层
skills/中可直接审阅 27 + 8 = 35 个SKILL.md。Agent 内层保留全部 38 项 Skill 资产,但只注册 8 + 3 = 11 个顶层可发现入口;27 个团队实测调优 Skill 以逐项适配后的*.ADAPTED_SKILL.md存放,由适配器按算子、DSL 路线和 Profiling 信号读取 1–3 个匹配条目,而不是一次把 27 篇长文全部注入提示词。适配过程为每个团队调优 Skill 记录源分支、HEAD、SHA-256、版本状态和验证要求;受排版影响的 fenced code 会被移除。历史 speedup、固定 core/RPB、运行时 CMake、静默 fallback 和缓存方案只能成为候选假设;Agent 原生完整性与验证规则发生冲突时,以 Agent 规则和官方 runner 为准。
仓库结构
Agent 工程验证
SKILL.md;内层 38 项 Skill 资产(27+8+3);11 个顶层可发现入口;27 个团队实测调优 Skill 均有独立来源摘要和适配条目。workspace/.opencode/skills/opforge-*,任务、prompt、runner、候选源码与结果均绑定摘要。kernelgen,官方 Verifier 与最终 runner 为1/1 pass,加速比1.0581x;使用 1 次 LLM、无 repair/sidecar/fallback。完整摘要见 GELU Agent 真实链路烟测证据,该结果与 1365 分分轨统计。静态回归不等于 NPU 性能验证。真实候选仍须在 Ascend 环境执行
run_case.sh或run_agent_suite.sh,并以当次官方证据为准。团队实测 current-best
下表保留原有调优口径,用于展示
latest/的团队实测结果。数字对应既有昇腾 910B 环境记录,当前提交与新运行栈需重新执行官方 runner;本表与 Agent 自主生成结果分别统计。快速开始
运行 Agent
完整题集:
每次运行默认写入
OpForge-AKG-Agent/artifacts/runs/<run-id>/,包含 runtime audit、Pass@N 候选、progress events、Verifier/runner 证据、Candidate Memory、promotion decision 和 submission audit。检查团队候选
该片段只用于快速语义检查,正式结论必须使用赛事官方 runner 的输入、预热、计时和评分流程。
环境与评测入口
aarch64、Python 3.10+、Ascend 910B 系列、CANN、torch、torch_npu。OpForge-AKG-Agent/scripts/run_case.sh。OpForge-AKG-Agent/scripts/run_agent_suite.sh。OpForge-AKG-Agent/scripts/self_check.sh --with-tests。akg_kernels_bench_lite/tools/run_bench.py。OpForge-AKG-Agent/opforge/agent_profile_digest.py。证据与安全边界
文档与参考文献
项目设计与算子优化参考:
akg-op、Kernel Designer/Coder/Verifier 与多 DSL 生成流程提供方法与系统基座;实现细节参见 AKG Agents 使用手册。