Categorization of Program Regions for Agile Compilation using Machine Learning and Hardware Support

05/29/2019
by   Sanket Tavarageri, et al.
0

A compiler processes the code written in a high level language and produces machine executable code. The compiler writers often face the challenge of keeping the compilation times reasonable. That is because aggressive optimization passes which potentially will give rise to high performance are often expensive in terms of running time and memory footprint. Consequently the compiler designers arrive at a compromise where they either simplify the optimization algorithm which may decrease the performance of the produced code, or they will restrict the optimization to the subset of the overall input program in which case large parts of the input application will go un-optimized. The problem we address in this paper is that of keeping the compilation times reasonable, and at the same time optimizing the input program to the fullest extent possible. Consequently, the performance of the produced code will match the performance when all the aggressive optimization passes are applied over the entire input program.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/15/2023

SEER: Super-Optimization Explorer for HLS using E-graph Rewriting with MLIR

High-level synthesis (HLS) is a process that automatically translates a ...
research
10/05/2020

Sampling Optimized Code for Type Feedback

To efficiently execute dynamically typed languages, many language implem...
research
05/24/2019

Compiler Design for Legal Document Translation in Digital Government

One of the main purposes of a computer is automation. In fact, automatio...
research
09/11/2023

Large Language Models for Compiler Optimization

We explore the novel application of Large Language Models to code optimi...
research
05/29/2019

MCompiler: A Synergistic Compilation Framework

This paper presents a meta-compilation framework, the MCompiler. The mai...
research
06/18/2023

Optimizing Stateful Dataflow with Local Rewrites

Optimizing a stateful dataflow language is a challenging task. There are...
research
01/15/2021

Secure Optimization Through Opaque Observations

Secure applications implement software protections against side-channel ...

Please sign up or login with your details

Forgot password? Click here to reset