Initial EVA submission
本目录是 CCF-AKG Ascend 910B 算子优化赛道的最终整理版提交,仓库内容围绕“证据驱动算子优化 Agent”展开。
完整方法、实验结果和相关工作讨论见:项目书 PDF。
这个项目的出发点很简单:面向 Ascend/CANN 写高性能算子,不能只靠大模型一次性 补全代码。真正困难的是在多个算子、多个后端和长时间实验中,持续判断哪条路线值得 继续、哪条路线应该及时放弃,以及每次性能提升是否真的满足官方语义。
因此我们把大模型放进一个受控的工程闭环中。模型或代码助手只负责提出候选实现; 候选能否进入最终提交,则由官方测评、历史最优版本和 Ascend910B KernelWiki 共同决定。 KernelWiki 记录正收益证据,也记录负收益证据,使系统不会反复尝试已经证明错误、 变慢或不可提交的路线。
最终提交并不强制所有任务使用同一种后端,而是按证据选择官方算子、torch_npu 改写、Triton-Ascend、Ascend C OPP 或保守基线。这样的结果更接近真实算子优化流程: 性能来自候选生成、后端选择、测评验证和知识回写的协同,而不是某个模型单次输出。
torch_npu
本项目包含两个主要部分:
submission/
eva-agent/
ascend910b-kernelwiki/
EVA/ ├── README.md ├── SUBMISSION.md ├── eva-agent/ ├── benchmark_results/ ├── docs/ ├── ascend910b-kernelwiki/ └── submission/
关键路径如下:
submission/t1
submission/t2
submission/t3
submission/custom_ops
ascend910b-kernelwiki/wiki/evidence/positive
ascend910b-kernelwiki/wiki/evidence/negative
ascend910b-kernelwiki/wiki/implementation_guides
ascend910b-kernelwiki/wiki/optimization_patterns
benchmark_results/current_best/submission.json
docs/project_report.pdf
docs/figures/overview_architecture.png
最终结果面向官方 Ascend 910B 测评环境。建议使用下表中的版本组合;其中 Triton-Ascend 相关任务以远端测评环境的 Triton-Ascend 安装为准。
triton-ascend>=3.2.0
正常测评不需要重新编译自定义 OPP,也不需要手动设置 ASCEND_CUSTOM_OPP_PATH; 任务模块会从 submission/custom_ops 自动加载随包携带的实现。若只运行 eva-agent/ 的本地单元测试,Python 3.10 以上即可,不需要 NPU 环境。
ASCEND_CUSTOM_OPP_PATH
以下结果在 Ascend 910B、CANN 9.0.0、Python 3.12.13 环境下完成验证:
通过任务数 = 13 / 13 总加权分数 = 1458.35 平均加速比 = 3.0736
逐任务结果如下:
本仓库有意排除了临时实验、缓存输入实验以及其他非提交变体。缓存输出或缓存 中间结果的路线不被视为有效优化。
在官方测评目录下运行:
python /path/to/akg_kernels_bench_lite/tools/run_bench.py /path/to/EVA \ --team submission \ --bench-dir /path/to/akg_kernels_bench_lite \ --output /path/to/output \ --rtol 1e-2 \ --atol 1e-2 \ --warmup 10 \ --iterations 100 \ --num-trials 3 \ --timeout 300
各任务模块会在加载自定义 ACLNN 桥接代码前,自动从 submission/custom_ops 配置随包携带的 OPP 路径。报告中的结果不依赖固定 CPU 亲和性。
EVA: Evidence-driven Verifiable Agent
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
EVA: Evidence-driven Verifiable Agent
本目录是 CCF-AKG Ascend 910B 算子优化赛道的最终整理版提交,仓库内容围绕“证据驱动算子优化 Agent”展开。
完整方法、实验结果和相关工作讨论见:项目书 PDF。
项目介绍
这个项目的出发点很简单:面向 Ascend/CANN 写高性能算子,不能只靠大模型一次性 补全代码。真正困难的是在多个算子、多个后端和长时间实验中,持续判断哪条路线值得 继续、哪条路线应该及时放弃,以及每次性能提升是否真的满足官方语义。
因此我们把大模型放进一个受控的工程闭环中。模型或代码助手只负责提出候选实现; 候选能否进入最终提交,则由官方测评、历史最优版本和 Ascend910B KernelWiki 共同决定。 KernelWiki 记录正收益证据,也记录负收益证据,使系统不会反复尝试已经证明错误、 变慢或不可提交的路线。
最终提交并不强制所有任务使用同一种后端,而是按证据选择官方算子、
torch_npu改写、Triton-Ascend、Ascend C OPP 或保守基线。这样的结果更接近真实算子优化流程: 性能来自候选生成、后端选择、测评验证和知识回写的协同,而不是某个模型单次输出。总体架构
本项目包含两个主要部分:
submission/:13 个官方算子任务的可运行提交实现。eva-agent/与ascend910b-kernelwiki/:用于组织任务分析、后端路线选择、 官方测评、正收益证据和负收益证据的 Agent 框架与知识库。目录结构
关键路径如下:
submission/t1、submission/t2、submission/t3:各任务的提交实现。submission/custom_ops:随提交打包的 Ascend C OPP 包和 Python 桥接代码。ascend910b-kernelwiki/wiki/evidence/positive:已验证且稳定提速的路线。ascend910b-kernelwiki/wiki/evidence/negative:失败、变慢或不可提交的路线。ascend910b-kernelwiki/wiki/implementation_guides:后端相关实现指南。ascend910b-kernelwiki/wiki/optimization_patterns:可复用的性能症状和归因模式。benchmark_results/current_best/submission.json:当前保守完整复测结果。docs/project_report.pdf:技术报告 PDF。docs/figures/overview_architecture.png:README 和报告使用的总体架构图。环境要求
最终结果面向官方 Ascend 910B 测评环境。建议使用下表中的版本组合;其中 Triton-Ascend 相关任务以远端测评环境的 Triton-Ascend 安装为准。
triton-ascend>=3.2.0正常测评不需要重新编译自定义 OPP,也不需要手动设置
ASCEND_CUSTOM_OPP_PATH; 任务模块会从submission/custom_ops自动加载随包携带的实现。若只运行eva-agent/的本地单元测试,Python 3.10 以上即可,不需要 NPU 环境。当前保守结果
以下结果在 Ascend 910B、CANN 9.0.0、Python 3.12.13 环境下完成验证:
逐任务结果如下:
本仓库有意排除了临时实验、缓存输入实验以及其他非提交变体。缓存输出或缓存 中间结果的路线不被视为有效优化。
运行测评
在官方测评目录下运行:
各任务模块会在加载自定义 ACLNN 桥接代码前,自动从
submission/custom_ops配置随包携带的 OPP 路径。报告中的结果不依赖固定 CPU 亲和性。