用Shackleton优化LLVM传递序列:一个线性遗传编程框架
Optimizing LLVM Pass Sequences with Shackleton: A Linear Genetic Programming Framework
摘要:
在本文中,我们介绍沙克尔顿作为一个通用的框架,使应用程序的线性遗传编程-一种技术下的保护伞的进化算法-各种用例。我们还在这里探索了这类方法的一个新应用:优化LLVM优化通道的序列。本文讨论了支撑Shackleton的算法,重点讨论了该框架在应用于LLVM传递序列时所特有的不同功能的影响。结合不同的超参数设置的分析,我们报告的结果自动优化通过序列使用沙克尔顿两个软件应用程序在不同的复杂程度。最后,我们反思了我们目前实施的优势和局限性,并为进一步改进奠定了基础。这些改进旨在通过自动发现方法来超越手工制作的解决方案,以获得最佳的传球序列。
英文摘要:
In this paper we introduce Shackleton as a generalized framework enabling the application of linear genetic programming -- a technique under the umbrella of evolutionary algorithms -- to a variety of use cases. We also explore here a novel application for this class of methods: optimizing sequences of LLVM optimization passes. The algorithm underpinning Shackleton is discussed, with an emphasis on the effects of different features unique to the framework when applied to LLVM pass sequences. Combined with analysis of different hyperparameter settings, we report the results on automatically optimizing pass sequences using Shackleton for two software applications at differing complexity levels. Finally, we reflect on the advantages and limitations of our current implementation and lay out a path for further improvements. These improvements aim to surpass hand-crafted solutions with an automatic discovery method for an optimal pass sequence.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。