Leveraging LLMs to Automate Energy-Aware Refactoring of Parallel Scientific Codes
作者: Matthew T. Dearing, Yiheng Tao, Xingfu Wu, Zhiling Lan, Valerie Taylor
分类: cs.AI, cs.DC, cs.PL, cs.SE
发布日期: 2025-05-04 (更新: 2025-11-05)
备注: 12 pages, 4 figures, version under review at a peer-reviewed conference
💡 一句话要点
LASSI-EE:利用大语言模型自动重构并行科学代码,提升能源效率
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 并行计算 能源效率 代码重构 自动化优化
📋 核心要点
- 现有利用大语言模型生成并行科学代码的方法,通常侧重于功能正确性,忽略了性能,尤其是能源效率。
- LASSI-EE框架通过运行时功耗分析、能源感知提示和自校正反馈循环,指导LLM生成更节能的并行代码。
- 实验表明,LASSI-EE在能源效率方面显著优于传统LLM提示,并在不同GPU架构上表现出一致的性能提升。
📝 摘要(中文)
本文提出了一种基于大语言模型(LLM)的自动化重构框架LASSI-EE,旨在生成具有更高能源效率的并行代码。该框架采用多阶段迭代方法,集成了运行时功耗分析、能源感知提示、自校正反馈循环以及LLM-as-a-Judge代理,用于自动筛选代码解决方案。此外,本文还引入了一种名为energy-reduction@k的新指标,用于量化生成k个代码候选并选择最优能源效率代码时的预期能源降低。在NVIDIA A100和AMD MI100 GPU上对20个HeCBench应用程序和两个miniApp的评估表明,LASSI-EE单次运行(k=1)即可提供重构后的并行代码,平均预期能源降低29%,通过率为81%,相比原始LLM提示提升了2.8倍。多次运行(k=3)可实现平均48%的预期能源降低,通过率为97%。这些结果在不同设备上保持一致,证明了LASSI-EE在各种硬件架构上的有效性。
🔬 方法详解
问题定义:论文旨在解决并行科学代码的能源效率问题。现有方法主要依赖人工优化或传统的编译器优化,效率低且难以适应复杂代码。直接使用LLM生成并行代码虽然可行,但往往忽略了能源消耗,导致生成的代码虽然功能正确,但能源效率低下。
核心思路:论文的核心思路是利用LLM的强大代码生成能力,结合运行时功耗分析和反馈机制,引导LLM生成更节能的并行代码。通过迭代优化和自动评估,逐步提升代码的能源效率。
技术框架:LASSI-EE框架包含以下几个主要阶段:1) 运行时功耗分析:使用profiler测量原始代码的功耗,识别能源消耗热点。2) 能源感知提示:根据功耗分析结果,构建包含能源优化目标的提示,引导LLM生成新的代码版本。3) 代码生成与评估:LLM根据提示生成多个候选代码版本,并使用LLM-as-a-Judge代理自动评估其质量。4) 自校正反馈循环:将评估结果反馈给LLM,用于指导下一轮代码生成,迭代优化能源效率。
关键创新:论文的关键创新在于:1) 提出了LASSI-EE框架,将LLM与运行时功耗分析和反馈循环相结合,实现了并行代码的自动能源优化。2) 引入了energy-reduction@k指标,用于量化多尝试生成策略的预期能源降低效果,为系统评估提供了依据。3) 使用LLM-as-a-Judge代理自动评估代码质量,降低了人工干预的需求。
关键设计:能源感知提示的设计至关重要,需要包含清晰的能源优化目标和约束条件。LLM-as-a-Judge代理需要经过精心训练,以准确评估代码的正确性和性能。energy-reduction@k指标的计算需要考虑多个候选代码版本的能源消耗和选择概率。
🖼️ 关键图片
📊 实验亮点
实验结果表明,LASSI-EE在NVIDIA A100和AMD MI100 GPU上,单次运行(k=1)即可实现平均29%的预期能源降低,通过率为81%,相比原始LLM提示提升了2.8倍。多次运行(k=3)可实现平均48%的预期能源降低,通过率为97%。这些结果证明了LASSI-EE在不同硬件架构上的有效性。
🎯 应用场景
该研究成果可应用于高性能计算、科学计算等领域,帮助开发者自动优化并行科学代码的能源效率,降低计算成本和环境影响。未来,该方法有望扩展到其他类型的代码优化,例如性能优化、安全性优化等,并应用于更广泛的软件开发场景。
📄 摘要(原文)
While large language models (LLMs) are increasingly used for generating parallel scientific codes, most efforts emphasize functional correctness, often overlooking performance, especially energy efficiency. We propose LASSI-EE, an automated LLM-based refactoring framework that generates energy-efficient parallel codes through a multi-stage, iterative approach integrating runtime power profiling, energy-aware prompting, self-correcting feedback loops, and an LLM-as-a-Judge agent for automated screening of code solutions. We introduce energy-reduction@k, a novel metric that quantifies expected energy reduction when generating k code candidates and selecting the most energy-efficient, enabling systematic evaluation of multi-attempt generation strategies. Evaluating 20 HeCBench applications and two miniApps on NVIDIA A100 and AMD MI100 GPUs, a single run (k=1) with LASSI-EE delivers refactored parallel codes with an average 29% expected energy reduction at an 81% pass rate, representing a 2.8x improvement over vanilla LLM prompting. Multiple runs (k=3) achieve an average 48% expected energy reduction at a 97% pass rate. These results are consistent across devices, demonstrating LASSI-EE's effectiveness across diverse hardware architectures.