Should AI Optimize Your Code? A Comparative Study of Current Large Language Models Versus Classical Optimizing Compilers

2024年06月17日
  • 简介
    本文介绍了在当今计算机架构领域中,对高效并行编程的需求仍然存在,需要强大的优化技术。传统的优化编译器在这方面一直发挥着关键作用,适应着现代软件系统日益复杂的演变。大型语言模型(LLMs)的出现引发了有关人工智能驱动方法革新代码优化方法的有趣问题。 本文介绍了两种最先进的大型语言模型GPT-4.0和CodeLlama-70B与传统的优化编译器之间的比较分析,评估它们各自在优化代码以实现最大效率方面的能力和局限性。此外,我们还引入了一个具有挑战性的优化模式基准套件和一个自动机制,用于评估这些工具生成的代码的性能和正确性。我们使用了两种不同的提示方法来评估LLMs的性能-思维链(CoT)和指令提示(IP)。然后,我们在真实世界的使用情况下,将这些结果与三种传统的优化编译器CETUS、PLUTO和ROSE进行了比较。 一个重要的发现是,虽然LLMs有可能胜过当前的优化编译器,但它们在处理大规模代码时常常会生成不正确的代码,需要自动验证方法。我们在三个不同的基准测试套件上进行了广泛的评估,结果显示CodeLlama-70B是两种LLMs中更优秀的优化器,能够实现高达2.1倍的加速。此外,CETUS是最好的优化编译器,最大加速比达到1.9倍。我们还发现两种提示方法之间没有显着差异:思维链(CoT)和指令提示(IP)。
  • 图表
  • 解决问题
    本论文旨在比较两种最先进的大型语言模型(GPT-4.0和CodeLlama-70B)和传统优化编译器(CETUS,PLUTO和ROSE)在代码优化方面的能力和局限性,评估它们在最大效率方面优化代码的能力。
  • 关键思路
    本论文的关键思路是比较大型语言模型和传统编译器在优化代码方面的性能,发现大型语言模型有可能在某些情况下优于优化编译器,但在大型代码的情况下容易生成不正确的代码,需要自动化验证方法。
  • 其它亮点
    本论文介绍了一个具有挑战性的优化模式基准套件和一个自动评估性能和正确性的机制。作者使用了两种不同的提示方法来评估大型语言模型的性能,并在三个不同的基准测试套件上进行了广泛的评估,发现CodeLlama-70B是两种大型语言模型中更优秀的优化器,能够实现高达2.1倍的加速。此外,CETUS是最优秀的优化编译器之一,最大加速比达到1.9倍。作者还发现提示方法之间没有显着差异。
  • 相关研究
    最近的相关研究包括使用神经网络进行代码优化的其他论文,如DeepTune和Neural Optimizer Search。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论