ParEVO: Synthesizing Code for Irregular Data: High-Performance Parallelism through Agentic Evolution
作者: Liu Yang, Zeyu Nie, Andrew Liu, Felix Zou, Deniz Altinbüken, Amir Yazdanbakhsh, Quanquan C. Liu
分类: cs.LG, cs.DC, cs.NE, cs.PF
发布日期: 2026-03-03
🔗 代码/项目: GITHUB
💡 一句话要点
ParEVO:通过Agent进化合成非规则数据并行代码,实现高性能计算。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 并行计算 非规则数据 代码生成 大型语言模型 进化算法 性能优化 图计算
📋 核心要点
- 现有方法难以处理非规则数据结构的并行化,大型语言模型生成的代码容易出现竞争条件和死锁等问题。
- ParEVO框架通过Critic-Refine流程构建高质量数据集,并微调LLM以生成符合并行库语义的代码。
- 进化编码代理通过迭代修复代码,显著提升了并行算法的性能,并在基准测试中超越了现有模型和人工基线。
📝 摘要(中文)
现代高性能应用的关键在于从串行计算向并行计算的转变,但并发编程的学习曲线陡峭阻碍了这一进程。对于稀疏图、非平衡树和非均匀网格等非规则数据结构,静态调度失效且数据依赖关系不可预测,这一挑战更加严峻。现有的大型语言模型(LLM)在这些任务上常常彻底失败,生成的代码充斥着细微的竞争条件、死锁和次优扩展。我们提出了ParEVO框架,旨在为非规则数据合成高性能并行算法。我们的贡献包括:(1)Parlay-Instruct语料库,一个通过“Critic-Refine”流程合成的包含13820个任务的精选数据集,该流程显式地筛选出经验上表现良好的算法,这些算法有效地利用了Work-Span并行原语;(2)专门的DeepSeek、Qwen和Gemini模型,经过微调以使概率生成与ParlayLib库的严格语义对齐;(3)进化编码代理(ECA),通过使用来自编译器、动态竞争检测器和性能分析器的反馈迭代修复代码,从而改进了正确性的“最后一英里”。在ParEval基准测试中,ParEVO在整个套件中实现了平均106倍的加速(最大1103倍),并且在复杂的非规则图问题上实现了稳健的13.6倍加速,优于最先进的商业模型。此外,我们的进化方法与最先进的专家人工基线相匹配,在特定的高度非规则内核上实现了高达4.1倍的加速。源代码和数据集可在https://github.com/WildAlg/ParEVO获取。
🔬 方法详解
问题定义:论文旨在解决非规则数据结构(如稀疏图)并行算法自动生成的问题。现有方法,特别是直接使用大型语言模型(LLM),在生成并行代码时容易出现竞争条件、死锁等问题,导致性能低下甚至错误。现有的静态调度方法在处理此类数据时也表现不佳。
核心思路:论文的核心思路是结合大型语言模型和进化算法,通过一个迭代的“生成-评估-修复”流程,逐步优化并行代码的性能和正确性。通过精心设计的语料库和微调,使LLM能够生成初步可行的并行代码,然后利用进化算法和反馈机制,不断改进代码,最终达到高性能。
技术框架:ParEVO框架主要包含三个部分:Parlay-Instruct语料库的构建、LLM的微调以及进化编码代理(ECA)。Parlay-Instruct语料库通过“Critic-Refine”流程生成,包含大量高质量的并行任务和对应的代码。然后,使用该语料库对DeepSeek、Qwen和Gemini等LLM进行微调,使其能够生成符合ParlayLib库语义的代码。最后,ECA利用编译器、动态竞争检测器和性能分析器的反馈,迭代地修复和优化生成的代码。
关键创新:ParEVO的关键创新在于将LLM的生成能力与进化算法的优化能力相结合,形成一个闭环的反馈系统。通过Parlay-Instruct语料库的构建,解决了LLM在并行代码生成方面缺乏高质量训练数据的问题。ECA的引入,使得生成的代码能够不断地改进,最终达到高性能。
关键设计:Parlay-Instruct语料库的“Critic-Refine”流程是关键设计之一,它确保了语料库中的代码不仅正确,而且具有良好的性能。ECA使用编译器、动态竞争检测器和性能分析器的反馈作为优化目标,通过变异和选择等操作,不断改进代码。具体参数设置和损失函数等细节在论文中未详细说明,属于未知信息。
📊 实验亮点
ParEVO在ParEval基准测试中实现了平均106倍的加速,最大加速达到1103倍。在复杂的非规则图问题上,ParEVO实现了13.6倍的加速,优于最先进的商业模型。此外,ParEVO的性能与专家人工基线相当,在特定的高度非规则内核上实现了高达4.1倍的加速。
🎯 应用场景
ParEVO框架可应用于各种需要处理非规则数据结构的高性能计算领域,例如图计算、科学计算、机器学习等。它可以帮助开发者快速生成高效的并行算法,降低并行编程的门槛,加速相关领域的研究和应用。
📄 摘要(原文)
The transition from sequential to parallel computing is essential for modern high-performance applications but is hindered by the steep learning curve of concurrent programming. This challenge is magnified for irregular data structures (such as sparse graphs, unbalanced trees, and non-uniform meshes) where static scheduling fails and data dependencies are unpredictable. Current Large Language Models (LLMs) often fail catastrophically on these tasks, generating code plagued by subtle race conditions, deadlocks, and sub-optimal scaling. We bridge this gap with ParEVO, a framework designed to synthesize high-performance parallel algorithms for irregular data. Our contributions include: (1) The Parlay-Instruct Corpus, a curated dataset of 13,820 tasks synthesized via a "Critic-Refine" pipeline that explicitly filters for empirically performant algorithms that effectively utilize Work-Span parallel primitives; (2) specialized DeepSeek, Qwen, and Gemini models fine-tuned to align probabilistic generation with the rigorous semantics of the ParlayLib library; and (3) an Evolutionary Coding Agent (ECA) that improves the "last mile" of correctness by iteratively repairing code using feedback from compilers, dynamic race detectors, and performance profilers. On the ParEval benchmark, ParEVO achieves an average 106x speedup (with a maximum of 1103x) across the suite, and a robust 13.6x speedup specifically on complex irregular graph problems, outperforming state-of-the-art commercial models. Furthermore, our evolutionary approach matches state-of-the-art expert human baselines, achieving up to a 4.1x speedup on specific highly-irregular kernels. Source code and datasets are available at https://github.com/WildAlg/ParEVO.