google/ml-compiler-opt
Infrastructure for Machine Learning Guided Optimization (MLGO) in LLVM.
解决的问题
通过用机器学习模型替换 LLVM 编译器中手工编写的优化启发式规则,提升编译器在代码大小和性能方面的优化效果。
工作原理
MLGO 将机器学习技术集成到 LLVM 中,以替代传统的启发式规则。它使用策略梯度等算法来训练特定编译器任务的策略。该框架目前重点关注两项主要优化:面向大小的内联优化和面向性能的寄存器分配优化。
适用人群
希望使用机器学习模型而非手动启发式规则来优化 LLVM 编译过程的编译器工程师和开发者。
主要亮点
- 支持面向大小的内联优化和面向性能的寄存器分配优化。
- 使用策略梯度算法训练策略。
- 提供训练基础设施和工具,用于创建自定义模型。
- 提供可直接通过 CMake 标志集成到 LLVM 中的预训练模型。
相关
- 项目
- 项目
- 项目
- 项目
- 项目