We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:


Current browse context:


Change to browse by:

References & Citations

DBLP - CS Bibliography


(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Programming Languages

Title: MLGO: a Machine Learning Guided Compiler Optimizations Framework

Authors: Mircea Trofin (1), Yundi Qian (1), Eugene Brevdo (1), Zinan Lin (2), Krzysztof Choromanski (1), David Li (1) ((1) Google, Inc., (2) Carnegie Mellon University)
Abstract: 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.
Comments: First two authors are equal contributors
Subjects: Programming Languages (cs.PL); Machine Learning (cs.LG)
Cite as: arXiv:2101.04808 [cs.PL]
  (or arXiv:2101.04808v1 [cs.PL] for this version)

Submission history

From: Mircea Trofin [view email]
[v1] Wed, 13 Jan 2021 00:02:49 GMT (244kb,D)

Link back to: arXiv, form interface, contact.