Profile Guided Optimization without Profiles: A Machine Learning
Approach
- URL: http://arxiv.org/abs/2112.14679v1
- Date: Fri, 24 Dec 2021 22:49:21 GMT
- Title: Profile Guided Optimization without Profiles: A Machine Learning
Approach
- Authors: Nadav Rotem, Chris Cummins
- Abstract summary: Profile guided optimization is an effective technique for improving the optimization ability of compilers based on dynamic behavior.
We present a novel statistical approach to inferring branch probabilities that improves the performance of programs that are compiled without profile guided optimizations.
- Score: 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: 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 remain
fresh. We present a novel statistical approach to inferring branch
probabilities that improves the performance of programs that are compiled
without profile guided optimizations. We perform offline training using
information that is collected from a large corpus of binaries that have branch
probabilities information. The learned model is used by the compiler to predict
the branch probabilities of regular uninstrumented programs, which the compiler
can then use to inform optimization decisions. We integrate our technique
directly in LLVM, supplementing the existing human-engineered compiler
heuristics. We evaluate our technique on a suite of benchmarks, demonstrating
some gains over compiling without profile information. In deployment, our
technique requires no profiling runs and has negligible effect on compilation
time.
Related papers
- MIREncoder: Multi-modal IR-based Pretrained Embeddings for Performance Optimizations [6.919817502555546]
In this paper, we propose MIREncoder, a Multi-modal IR-based Auto-Encoder that can be pre-trained to generate a learned embedding space.
A multi-modal approach enables us to better extract features from compilable programs.
Our evaluations will show that our proposed approach can outperform the state of the art while reducing overhead.
arXiv Detail & Related papers (2024-07-02T13:00:19Z) - Stale Profile Matching [1.1091463365252643]
Profile-guided optimizations rely on profile data for directing compilers to generate optimized code.
In practice, there is typically a gap between the profile collection and the release, which makes a portion of the profile invalid for optimizations.
We propose the first practical solution for utilizing profiles collected on binaries built from several revisions behind the release.
arXiv Detail & Related papers (2024-01-30T16:56:32Z) - A Closer Look at Learned Optimization: Stability, Robustness, and
Inductive Biases [44.01339030872185]
Blackbox learneds often struggle with stability and generalization when applied to tasks unlike those in their meta-training set.
We investigate the inductive biases and stability properties of optimization algorithms, and apply the resulting insights to designing inductive biases for blackboxs.
We learn to a variety of neural network training tasks, where it outperforms the current state of the art learned.
arXiv Detail & Related papers (2022-09-22T17:47:21Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
We propose a framework to learn to superoptimize real-world programs by using neural sequence-to-sequence models.
We introduce the Big Assembly benchmark, a dataset consisting of over 25K real-world functions mined from open-source projects in x86-64 assembly.
arXiv Detail & Related papers (2021-09-28T05:33:21Z) - Learning to Optimize: A Primer and A Benchmark [94.29436694770953]
Learning to optimize (L2O) is an emerging approach that leverages machine learning to develop optimization methods.
This article is poised to be the first comprehensive survey and benchmark of L2O for continuous optimization.
arXiv Detail & Related papers (2021-03-23T20:46:20Z) - Training Learned Optimizers with Randomly Initialized Learned Optimizers [49.67678615506608]
We show that a population of randomly learneds can be used to train themselves from scratch in an online fashion.
A form of population based training is used to orchestrate this self-training.
We believe feedback loops of this type will be important and powerful in the future of machine learning.
arXiv Detail & Related papers (2021-01-14T19:07:17Z) - Deep Data Flow Analysis [14.583644439728895]
ProGraML is a portable representation of whole-program semantics for deep learning.
We benchmark current and future learning techniques for compiler analyses.
We show that, using ProGraML, standard analyses can be learned and improved performance on downstream compiler optimization tasks.
arXiv Detail & Related papers (2020-11-21T03:29:14Z) - Fast Rates for Contextual Linear Optimization [52.39202699484225]
We show that a naive plug-in approach achieves regret convergence rates that are significantly faster than methods that directly optimize downstream decision performance.
Our results are overall positive for practice: predictive models are easy and fast to train using existing tools, simple to interpret, and, as we show, lead to decisions that perform very well.
arXiv Detail & Related papers (2020-11-05T18:43:59Z) - Reverse engineering learned optimizers reveals known and novel
mechanisms [50.50540910474342]
Learneds are algorithms that can themselves be trained to solve optimization problems.
Our results help elucidate the previously murky understanding of how learneds work, and establish tools for interpreting future learneds.
arXiv Detail & Related papers (2020-11-04T07:12:43Z) - Global Optimization of Gaussian processes [52.77024349608834]
We propose a reduced-space formulation with trained Gaussian processes trained on few data points.
The approach also leads to significantly smaller and computationally cheaper sub solver for lower bounding.
In total, we reduce time convergence by orders of orders of the proposed method.
arXiv Detail & Related papers (2020-05-21T20:59:11Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.