目录

X-LLM4AscendC

面向昇腾 NPU 的 AscendC 算子自动生成 Agent,支持从算子规格出发,自动完成代码生成、编译评测与多轮修复,并在官方 akg_kernels_bench_lite 13 题基准上验证效果。

项目亮点

  • 双模式 Agent 框架
    • Legacy:多轮工具检索 + 生成 + 评测闭环,适合稳定批量跑批
    • Autonomous:单题长会话,支持 tool / edit / submit_eval 深度探索
  • Repair Memory:跨任务积累编译/评测失败修复经验,提升后续生成成功率
  • 多源工具链:算子范例库检索、AscendC 知识库、RAG、Web 搜索
  • CANN Skills 集成:13 个 AscendC 开发技能,覆盖 Kernel 设计、Tiling、UT、调试等流程
  • 可扩展评测:支持 bench_lite 13 题与 CUDA-Agent-Ops-6K 数据集

目录结构

X-LLM4AscendC/
├── generator/              # Agent 核心、Prompt、Knowledge、跑批脚本
├── tools/                  # 算子编译与评测工具
├── output/all_correct_ops/ # 74 个已验证 AscendC 算子范例库
├── repair_memory/          # 修复记忆库
├── CANN_skills/            # CANN Skills(skills / agents / tests)
├── data/external/          # CUDA-Agent-Ops-6K 数据集
└── docs/                   # 架构说明、基准说明、实验摘要

环境要求

项目 要求
硬件 Ascend 910 / 910B
CANN 8.3
Python 3.10
PyTorch torch 2.1.0 + torch-npu 2.1.0
LLM glm-5.1(OpenAI 兼容 API,xi-ai)

仓库内不含 BGE-M3 嵌入权重与 CANN teams/ asc-devkit;使用 KB/RAG 或 asc-devkit 时需按文档另行准备。

安装与配置

# 1. 安装依赖
pip install -U pip wheel
pip install -r requirements-contest.txt

# 2. 配置 LLM API
cp generator/local_api_config.example.py generator/local_api_config.py
# 编辑 local_api_config.py,填写 XI_AI_API_KEY

# 3. 激活 Ascend 环境
source /usr/local/Ascend/ascend-toolkit/set_env.sh
export USE_API_CONFIG=1
export LLM4ASCENDC_ASCEND_CUSTOM_OPP_PATH=/path/to/ascend_custom_opp

若使用 conda,可参考 scripts/activate_czh_environ.sh 激活 Python 3.10 环境。

快速开始:bench_lite 单题

python generator/scripts/run_agent_multi_rounds.py \
  --categories bench_lite --ops gelu \
  --model glm-5.1 --tool-mode repo_only \
  --agent-session-mode legacy --strategy one_shot \
  --run 0 --max-attempts 4 --test

去掉 --test 即可触发完整编译与 NPU 正确性评测。

bench_lite 全量 13 题(Pass@4)

python generator/scripts/run_agent_multi_rounds.py \
  --categories bench_lite \
  --model glm-5.1 --tool-mode repo_only \
  --agent-session-mode legacy --strategy one_shot \
  --run 0 --max-attempts 4 --use-repair-memory \
  --parallel-ops 4 --eval-workers 1 --eval-npu 4 \
  --eval-mode full --clean-policy force \
  --eval-timeout 1200 --eval-pipeline-timeout 3600

Autonomous 模式

python generator/scripts/run_agent_multi_rounds.py \
  --categories bench_lite --ops gelu \
  --model glm-5.1 --tool-mode repo_only \
  --agent-session-mode autonomous --strategy one_shot \
  --run 0 --max-attempts 4

Legacy 与 Autonomous 的流程差异见 docs/ARCHITECTURE.md

CUDA-Agent-Ops-6K

python generator/scripts/run_agent_cuda_agent_multi_rounds.py \
  --dataset data/external/CUDA-Agent-Ops-6K/cuda_agent_ops_6k.jsonl \
  --model glm-5.1 --tool-mode repo_only \
  --run 0 --max-attempts 4

实验结果

bench_lite 跑批摘要见 docs/results/BENCH_LITE_SUMMARY.md

当前主要结果(Pass@4 对齐 --max-attempts 4):

模型 工具模式 Pass
glm-5.1 repo_only 4/13
deepseek-v4-flash no_tool 1/13(对照)

更多文档

可选:KB / RAG

使用知识库向量检索需下载 BGE-M3 并构建索引:

# HuggingFace: BAAI/bge-m3 -> generator/models/BAAI/bge-m3
python generator/rag/build_index.py

License

CANN Skills 部分遵循 CANN_skills/LICENSE

关于

基于AI/Agent的NPU算子自动生成 -- 上交Xlance战队

13.1 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号