论文
AI-PROPELLER:使用 AlphaEvolve 进行仓库规模的过程间代码布局优化
AI-PROPELLER: Warehouse-Scale Interprocedural Code Layout Optimization with AlphaEvolve
摘要
Propeller 和 BOLT 等链接后优化器 (PLO) 已经证明,精确的、配置文件引导的代码布局可以从高度优化的二进制文件中获得显着的性能提升。然而,这些系统目前仅限于程序内技术,程序间布局的全球潜力在很大程度上尚未开发。由于组合起来难以处理的搜索空间和复杂的调用返回语义(对建模具有挑战性),过程间代码布局历来都很困难。因此,细粒度过程间布局的性能潜力在实践中仍未得到证实。 AI-PROPELLER 使用 Magellan,这是一种代理工作流程,可将 Propeller 中的编译器启发式发展为细粒度的过程间优化器,并微调生成的策略超参数。为了确保高保真度,我们放弃了近似静态成本模型,代理工作流程生成多个布局变体,这些变体在实际硬件上执行以测量真实性能计数器,为进化循环提供精确的奖励信号。 AI-PROPELLER 已在多个基准上进行了评估,包括大型仓库规模的应用程序,实验表明,通过最先进的 FDO 和 PLO 优化,性能提高了 0.23% 至 1.6%,这对于现实世界的二进制文件具有重要意义。这是工业环境中大型仓库规模应用程序首次通过细粒度过程间代码布局进行优化。