paper-with-me

홈 › Papers

ProGraML: Graph-based Deep Learning for Program Optimization and Analysis

2020-03-23 · Chris Cummins, Zacharias V. Fisches, Tal Ben-Nun, Torsten Hoefler, Hugh Leather

The increasing complexity of computing systems places a tremendous burden on optimizing compilers, requiring ever more accurate and aggressive optimizations. Machine learning offers significant benefits for constructing optimization heuristics but there remains a gap between what state-of-the-art methods achieve and the performance of an optimal heuristic. Closing this gap requires improvements in two key areas: a representation that accurately captures the semantics of programs, and a model architecture with sufficient expressiveness to reason about this representation. We introduce ProGraML - Program Graphs for Machine Learning - a novel graph-based program representation using a low level, language agnostic, and portable format; and machine learning models capable of performing complex downstream tasks over these graphs. The ProGraML representation is a directed attributed multigraph that captures control, data, and call relations, and summarizes instruction and operand types and ordering. Message Passing Neural Networks propagate information through this structured representation, enabling whole-program or per-vertex classification tasks. ProGraML provides a general-purpose program representation that equips learnable models to perform the types of program analysis that are fundamental to optimization. To this end, we evaluate the performance of our approach first on a suite of traditional compiler analysis tasks: control flow reachability, dominator trees, data dependencies, variable liveness, and common subexpression detection. On a benchmark dataset of 250k LLVM-IR files covering six source programming languages, ProGraML achieves an average 94.0 F1 score, significantly outperforming the state-of-the-art approaches. We then apply our approach to two high-level tasks - heterogeneous device mapping and program classification - setting new state-of-the-art performance in both.

📄 PDF Abstract BibTeX arXiv:2003.10536

Code (2)

ChrisCummins/phd
tud-ccc/compy-learn tf

Tasks

BIG-bench Machine LearningDeep Learning

Similar Papers 제목 키워드 기반

Deep Data Flow Analysis

2020-11-21 · Chris Cummins, Hugh Leather, Zacharias Fisches, Tal Ben-Nun 외

Compiler architects increasingly look to machine learning when building heuristics for compiler optimization. The promise of automatic heuristic design, freeing the compiler engineer from the complex interactions of prog…

BIG-bench Machine LearningCompiler Optimization

PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis

2023-05-31 · NeurIPS 2023 11 · Ali TehraniJamsaz, Quazi Ishtiaque Mahmud, Le Chen, Nesreen K. Ahmed 외

The remarkable growth and significant success of machine learning have expanded its applications into programming languages and program analysis. However, a key challenge in adopting the latest machine learning methods i…

A Hypergraph-Partitioned Vertex Programming Approach for Large-scale Consensus Optimization

2013-08-30 · Hui Miao, Xiangyang Liu, Bert Huang, Lise Getoor

In modern data science problems, techniques for extracting value from big data require performing large-scale optimization over heterogenous, irregularly structured data. Much of this data is best represented as multi-re…

hypergraph partitioning

Discrete graphical models -- an optimization perspective

2020-01-24 · Bogdan Savchynskyy

This monograph is about discrete energy minimization for discrete graphical models. It considers graphical models, or, more precisely, maximum a posteriori inference for graphical models, purely as a combinatorial optimi…

Combinatorial Optimization

A Unified Framework for Integer Programming Formulation of Graph Matching Problems

2024-06-11 · Bahram Alidaee, Haibo Wang, Hugh Sloan

Graph theory has been a powerful tool in solving difficult and complex problems arising in all disciplines. In particular, graph matching is a classical problem in pattern analysis with enormous applications. Many graph …

Graph Matching