paper-with-me

Papers

MLGO: a Machine Learning Guided Compiler Optimizations Framework

2021-01-13 · Mircea Trofin, Yundi Qian, Eugene Brevdo, Zinan Lin, Krzysztof Choromanski, David Li

Leveraging machine-learning (ML) techniques for compiler optimizations has been widely studied and explored in academia. However, the adoption of ML in general-purpose, industry strength compilers has yet to happen. We propose MLGO, a framework for integrating ML techniques systematically in an industrial compiler -- LLVM. As a case study, we present the details and results of replacing the heuristics-based inlining-for-size optimization in LLVM with machine learned models. To the best of our knowledge, this work is the first full integration of ML in a complex compiler pass in a real-world setting. It is available in the main LLVM repository. We use two different ML algorithms: Policy Gradient and Evolution Strategies, to train the inlining-for-size model, and achieve up to 7\% size reduction, when compared to state of the art LLVM -Oz. The same model, trained on one corpus, generalizes well to a diversity of real-world targets, as well as to the same set of targets after months of active development. This property of the trained models is beneficial to deploy ML techniques in real-world settings.

📄 PDF Abstract BibTeX arXiv:2101.04808

Code (1)

google/ml-compiler-opt 공식 구현 tf

Tasks

BIG-bench Machine LearningDiversity

Similar Papers 제목 키워드 기반

MLGOPerf: An ML Guided Inliner to Optimize Performance

2022-07-18 · Amir H. Ashouri, Mostafa Elhoushi, Yuzhe Hua, Xiang Wang 외

For the past 25 years, we have witnessed an extensive application of Machine Learning to the Compiler space; the selection and the phase-ordering problem. However, limited works have been upstreamed into the state-of-the…

reinforcement-learningReinforcement LearningReinforcement Learning (RL)

Learning Branch Probabilities in Compiler from Datacenter Workloads

2022-02-10 · Easwaran Raman, Xinliang David Li

Estimating the probability with which a conditional branch instruction is taken is an important analysis that enables many optimizations in modern compilers. When using Profile Guided Optimizations (PGO), compilers are a…

A Survey on Compiler Autotuning using Machine Learning

2018-01-13 · Amir H. Ashouri, William Killian, John Cavazos, Gianluca Palermo 외

Since the mid-1990s, researchers have been trying to use machine-learning based approaches to solve a number of different compiler optimization problems. These techniques primarily enhance the quality of the obtained res…

BIG-bench Machine LearningCompiler OptimizationSurvey

Generating GPU Compiler Heuristics using Reinforcement Learning

2021-11-23 · Ian Colbert, Jake Daly, Norm Rubin

GPU compilers are complex software programs with many optimizations specific to target hardware. These optimizations are often controlled by heuristics hand-designed by compiler experts using time- and resource-intensive…

Deep Reinforcement LearningGPUreinforcement-learningReinforcement Learning+1

Profile Guided Optimization without Profiles: A Machine Learning Approach

2021-12-24 · Nadav Rotem, Chris Cummins

Profile guided optimization is an effective technique for improving the optimization ability of compilers based on dynamic behavior, but collecting profile data is expensive, cumbersome, and requires regular updating to …

BIG-bench Machine Learning