← 返回经历树 水烛 · 程千和 · 经历详情
AI Agent 应用

FPGA Agent · LLM4HLS

预算受限的端到端 HLS 代码修复优化 Agent(2026)
时间 2026赛事 FPT'26 Track A结果 直通 FPGA 竞赛全国决赛

简介

FPT'26 Design Competition Track A(LLM4HLS)的参赛 Agent。输入一道 AMD Vitis HLS 题目(含 bug 的 C/C++ kernel、结构性死锁,或功能正确但性能不足的设计),Agent 自主调用 csim / synth / cosim,解析工具日志,由大模型修改代码,经验证后择优存档,最终提交功能正确、可综合且 PPA 尽可能优的版本。原则是正确性优先、PPA 其次;每次工具调用均消耗 credit,因此需要在预算内决策。

系统架构

入口 路由 大脑 支撑 评测 TUI 仪表盘 / CLI Driver 实时思考流 · 工具调用 · credit 消耗 · Docker 一键运行 任务路由 router 读 task.toml:repair → csim · structural → csim + cosim · optimize main_loop:先正确(correct)→ 再可综合(synth)→ 最后优化 PPA(optimize) 运行 Vitis 工具 csim · synth · cosim(按 credit 计费) feedback 感知 解析日志 → 失败阶段 · 报错定位 LLM 修复 / 优化 DeepSeek V4 Pro · OpenAI 兼容接口 双层验证 机械检查硬门 + LLM review 日志 诊断 候选代码 通过才重跑 修复循环 知识库 HLS 常见 bug 检索 → 喂给 LLM 存档择优 checkpoint 等级高→存 · 同级比 latency · 低→拒 可观测性 JSONL 事件日志 · 心跳卡死检测 官方 Harness · AMD Vitis 2025.2 ToolServer 执行 csim / synth / cosim · Budget credit 计费 · grade() 隐藏测试评分 · Alveo U55C @ 200 MHz 真工具调用 6 道公开题 · 3 个模型 18/18 正确性门全过 · dotProduct 优化 73.36× · 最高 SCORE 3.000
系统架构总览 · 按仓库 README 与架构设计文档以水烛风格重绘

工作流程

  1. 路由:读题目的 task.toml,决定要过哪些关卡——repair 题只过 csim,structural 题过 csim + cosim,optimize 题在正确的基础上追 latency
  2. 跑工具:通过官方 Harness 的 ToolServer 调 Vitis 2025.2,每次调用按 credit 计费
  3. 感知:feedback 模块解析日志,判断挂在哪个阶段(编译失败 / runtime_fail / 综合失败 / cosim 死锁)并定位报错
  4. 修复:把题目规格、当前代码、报错与知识库检索结果交给大模型(DeepSeek V4 Pro,也可切到任意 OpenAI 兼容端点)生成候选代码
  5. 双层验证:先过机械检查硬门(函数签名、禁用写法等),再由 LLM 复核,两层均通过后才重新运行工具,避免无谓的 credit 消耗
  6. 存档择优:三条规则——正确性等级更高就存、同级比 latency、等级更低就拒,最后提交最佳版本,由官方 grade() 用隐藏测试评分

工程细节

  • 可观测性:每个事件写 JSONL 结构化日志 + 心跳(卡死检测),TUI 仪表盘实时显示思考流、工具结果、credit 消耗;跑完打印工具调用 transcript 与 PPA 评分卡
  • token 分级节省:--token-mode balanced 对廉价判定关闭推理,省约 23% token 且分数不降;aggressive 连策略提案也关,省约 75% 但可能降分
  • 零依赖 + Docker:Agent 本体只用 Python 标准库;Docker 镜像只读挂载宿主机整棵 Xilinx 目录(settings64.sh 里写死了兄弟目录路径,只挂 Vitis 子目录会找不到工具)
  • 测试分层:离线链路测试与单元测试(无 Vitis、无 API key)→ Scripted 端到端(真 Vitis、无 LLM)→ 真 LLM 冒烟测试 → Docker 集成测试

结果

正确性6 道公开题(projection_bugfix / dotProduct / residual_stream_deadlock / fir / matmul / vecadd),DeepSeek V4 Pro、Qwen3.5-122B、Qwen3.6-27B 三个模型 18/18 正确性门全过;真 Vitis + cosim 验证 3/3 通过
优化dotProduct 优化后加速 73.36×,SCORE 3.000;projection 题端到端真修复 SCORE 1.400
赛果FPT'26 Track A 全球仅录取 3 组,未入围;但被推荐直通 FPGA 竞赛全国决赛

如实记录的限制:六道公开题都一次修通,知识库检索没被自然触发过;generate 类题型尚未实现;两个 Qwen 模型受预算所限每组只跑了一次。

分工与仓库

两人小组:程千和(Agent 主体:agent/、scripts/、TUI、评测接口对接)+ 方欣语(HLS 领域知识库、本地题集与正确性 / PPA 验证)。

仓库:github.com/QFcattail/llm4hls(MIT 许可证)

方欣语最好了!

附件

技能

LLM AgentVitis HLS工具反馈闭环预算受限决策可观测性DockerPython

后续

延续研学笔记本、智慧学工以来的 Agent 应用实践;数学建模中的仿真评估经验也应用于预算受限条件下的决策设计。

蒲草青青,织就百物 · © 2026 程千和 · 京ICP备2026006842号-2