← Agent Tool Use 2026

ACL 2026 · Long · E89

ParaCodex: A Profiling-Guided Autonomous Coding Agent for Reliable Parallel Code Generation and Translation

代码 / 软件 / 科研执行 · 直接工具使用 · 方法 / 系统

Idea

ParaCodex 把 OpenMP GPU 并行化和 CUDA→OpenMP 迁移组织成有明确中间产物的工程流程:先分析热点与数据,再通过编译和数值检查建立正确实现,最后依据真实 profiler 结果优化。核心贡献是把 HPC 专家工作方式嵌入 coding agent,而不是提出新的代码模型。

Research Problem

能编译并通过测试的并行程序仍可能因为数据传输、kernel launch 或错误的数据驻留策略而缓慢;直接生成 pragma 容易遗漏 reduction、依赖与 recurrence。已有 compile/test repair 缺少性能反馈,性能优化方法又可能缺少每阶段的正确性约束。

Insight

并行化不仅是选择循环,还涉及哪些数组驻留设备以及何时传输。把分析、数据计划和优化计划显式写出,可以约束后续修改;将功能正确性与硬件测量分别作为门槛和优化信号,能避免把不正确或 CPU fallback 的结果误认为高速 GPU 实现。

Method

  1. 分析输入程序,按估计运算量识别关键循环,用 Types A–G taxonomy 标记依赖、数据属性与风险,形成 analysis.md,作为转换前的结构化依据。
  2. 生成 data_plan.md,针对不同循环选择 scoped target data、异步 nowait pipeline 或持久 device memory 等策略,再实施 OpenMP target 转换并优先 offload 关键计算。
  3. 阶段之间通过 Makefile harness 与串行参考比较,利用 gate.h 的 checksum 和 norm 定位差异,结合编译错误和数值不一致迭代修复。
  4. 正确后用 NVIDIA Nsight Systems 收集 kernel 时间、传输和 API 信息,生成 optimization_plan.md 并执行定向优化;GPU 时间退化超过 10% 则回滚。实验区分有效 GPU offload 与绕过执行,并将 GPU time 与 wall-clock 含义分开。

Sources & Reading Scope

阅读依据:官方 PDF 正文。核读页码按 PDF 页序计数,可能与 proceedings 页码不同。

p. 1 · p. 3 · p. 4 · p. 5 · p. 6

核读章节:ParaCodex Agent Overview · Pipeline Stages · Tooling Integration · Prompt Engineering Strategy · Experimental Setup · Success Rate and Bypass Detection

核读完整工作流及指标定义。作者 GPU time 为 kernel 与传输时间之和,不含 API overhead;结果排除部分不适用或 bypass kernels,因此不能将有效子集成功率当作全部输入成功率。