[Paper] ParEVO:为不规则数据合成代码:通过 Agentic Evolution 实现高性能并行

发布: (2026年3月3日 GMT+8 09:41)
8 分钟阅读
原文: arXiv

请提供您希望翻译的具体文本内容(除保留的 > Source: … 行之外),我将为您翻译成简体中文并保持原有的格式。

概述

本文介绍了 ParEVO,一个新框架,能够自动为具有不规则数据结构(例如稀疏图、不平衡树、自适应网格)的工作负载生成高性能并行代码。通过结合精心策划的指令数据集、微调的大语言模型(LLM)以及能够修复和优化代码的进化“编码代理”,ParEVO 弥合了大型语言模型的承诺与安全、可扩展并行性的现实之间的差距。

关键贡献

  • Parlay‑Instruct 语料库 – 13,820 个精心策划的并行编程任务,使用 “Critic‑Refine” 流水线创建,过滤掉缺乏正确工作跨度语义的代码。
  • 微调的大语言模型 – 针对 ParlayLib 并行原语的 DeepSeek、Qwen 和 Gemini 的专门版本,显著提升生成正确并行构造的概率。
  • 进化编码代理 (ECA) – 一个迭代修复循环,利用编译器诊断、动态竞争检测器和性能分析器,将生成的代码片段演化至正确且高效。
  • ParEval 基准 – 用于测量不规则问题并行代码合成的新套件;ParEVO 实现平均 106× 加速(最高 1103×)以及在挑战性图核上 13.6× 的提升,超越商业 LLM 基线。
  • 人类水平的性能 – 在多个高度不规则的核上,自动进化的代码与专家编写的实现相匹配或超出,额外实现最高 4.1× 的加速。

方法论

  1. 数据集构建(Parlay‑Instruct)

    • 从大量平行算法提示中开始。
    • 运行“Critic‑Refine”循环:基线模型提出代码,静态分析器检查工作跨度和库使用情况,动态验证器在小规模输入上运行代码。
    • 仅保留能够编译、通过正确性测试并展示可测量并行加速的解答,从而得到高质量的指令‑响应对集合。
  2. 模型微调

    • 使用精心挑选的语料库对三种最先进的 LLM 进行微调。
    • 训练重点在 ParlayLib 的语义上,这是一套 C++ 库,提供工作窃取、fork‑join 等并行原语,专为不规则数据而设计。
  3. 进化编码代理(ECA)

    • 生成:微调后的模型为新任务生成初始解。
    • 反馈循环:代码被编译;任何错误、警告或竞争检测器的提示都会作为“突变”反馈回来(例如,添加 sync、更改粒度大小)。
    • 性能评估:轻量级分析器测量并行效率;表现最好的变体进入下一代。
    • 选择:在固定代数(通常为 5‑10 代)后,得分最高的变体被输出为最终答案。
  4. 基准测试(ParEval)

    • 使用包含 30 种不规则工作负载的多样化集合(图的 BFS/DFS、稀疏矩阵乘法、自适应网格细化等)。
    • 基线包括未经修改的商业 LLM、手写专家代码以及朴素的顺序版本。

结果与发现

基准类别相对于顺序执行的平均加速相对于商业 LLM 的平均加速最高观察到的加速
不规则图内核13.6×4.2×1103×(tiny‑world 图遍历)
通用不规则工作负载106×9.8×1103×
人工编写的专家代码≈1×(持平)>1×(最高 4.1×
  • 正确性:98.7 % 的生成程序在 ECA 循环后通过了完整的测试套件。
  • 可扩展性:在 64 核 Xeon 系统上,大多数内核实现了 >80 % 的理论工作窃取加速曲线。
  • 鲁棒性:进化循环消除了在 71 % 的原始 LLM 输出中出现的竞争条件和死锁。

实际影响

  • 加速开发:团队可以让大型语言模型(LLM)生成现有顺序内核的并行版本,并在几次自动修复循环后获得可投产的实现——从而节省数周的手动调优时间。
  • 遗留代码现代化:拥有大量不规则数据算法(如网络分析、科学仿真)代码库的企业,可以在无需深厚并发专业知识的情况下,实现向多核架构的自动迁移。
  • 工具集成:ECA 的反馈机制(编译器诊断、竞争检测器、性能分析器)可以封装成 IDE 插件,为开发者提供实时的安全并行化建议。
  • 基准测试与招聘:ParEval 为评估候选人方案或第三方代码生成器在不规则并行工作负载上的表现提供了标准化方法。

限制与未来工作

  • 硬件范围:实验仅限于 x86‑64 CPU;GPU 或异构加速器的支持尚未探索。
  • 数据集偏差:Parlay‑Instruct 语料库侧重于可用 ParlayLib 表达的算法;扩展到其他并行库(例如 TBB、OpenMP)可能需要额外的微调。
  • 进化开销:ECA 循环为每个任务增加了几分钟的计算时间,这在离线生成时是可接受的,但对于交互式 IDE 使用可能成本过高。
  • 动态工作负载:当前方法假设用于分析的输入规模是静态的;未来工作将加入对输入依赖的粒度大小和负载均衡策略的在线适配。

ParEVO 证明,将高质量指令数据与进化修复循环相结合,终于能够使 LLM 生成的并行代码既正确又高效——为更广泛、更安全的高性能计算自动化打开了大门。

作者

  • Liu Yang
  • Zeyu Nie
  • Andrew Liu
  • Felix Zou
  • Deniz Altinbüken
  • Amir Yazdanbakhsh
  • Quanquan C. Liu

论文信息

  • arXiv ID: 2603.02510v1
  • 分类: cs.LG, cs.DC, cs.NE, cs.PF
  • 出版日期: 2026年3月3日
  • PDF: 下载 PDF
0 浏览
Back to Blog

相关文章

阅读更多 »

[论文] SimpliHuMoN: 简化人体动作预测

Human motion prediction 将轨迹预测(trajectory forecasting)和人体姿态预测(human pose prediction)这两个任务结合在一起。针对这两个任务,已经开发了专门的模型……