PLLGPFMay 29, 2019

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

arXiv:1905.12292v1
Originality Synthesis-oriented
AI Analysis

This addresses the problem of balancing compilation efficiency and code optimization for compiler designers, though it appears incremental in approach.

The paper tackles the challenge of reducing compilation times while fully optimizing programs by categorizing program regions for agile compilation, achieving performance comparable to applying all aggressive optimizations across the entire input program.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes