A Data-driven Analysis of Code Optimizations
Yacine Hakimi and Riyadh Baghdadi
随着对计算能力的需求不断增长,通过编译器优化代码变得越来越重要。 在此背景下,我们专注于全自动代码优化技术,无需人工干预即可自动选择和应用代码转换以获得更好的性能。 了解这些转换的行为和交互方式是设计更有效的优化策略的关键。 编译器开发人员在构建这些启发式设计时必须做出许多设计选择。 例如,他们可以决定是否允许以任意顺序探索转换,或者执行固定序列。 虽然前者理论上可能提供最佳性能增益,但它显着增加了搜索空间。 这就提出了一个重要问题:应用转换的预定义、固定顺序能否在不严重损害优化潜力的情况下加快搜索速度? 在本文中,我们解决了自动代码优化算法设计中出现的这个问题和其他相关问题。 使用数据驱动的方法,我们生成大量的随机程序数据集,应用随机优化序列,并记录其执行时间。 通过统计分析,我们提供见解,指导更高效的自动代码优化算法的开发。
As the demand for computational power grows, optimizing code through compilers becomes increasingly crucial. In this context, we focus on fully automatic code optimization techniques that automate the process of selecting and applying code transformations for better performance without manual intervention. Understanding how these transformations behave and interact is key to designing more effective optimization strategies. Compiler developers must make numerous design choices when constructing ...