ProGraML: Graph-based Deep Learning for Program Optimization and
Analysis
- URL: http://arxiv.org/abs/2003.10536v1
- Date: Mon, 23 Mar 2020 20:27:00 GMT
- Title: ProGraML: Graph-based Deep Learning for Program Optimization and
Analysis
- Authors: Chris Cummins, Zacharias V. Fisches, Tal Ben-Nun, Torsten Hoefler,
Hugh Leather
- Abstract summary: We introduce ProGraML, a graph-based program representation for machine learning.
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.
- Score: 16.520971531754018
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: 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.
Related papers
- Language Models are Graph Learners [70.14063765424012]
Language Models (LMs) are challenging the dominance of domain-specific models, including Graph Neural Networks (GNNs) and Graph Transformers (GTs)
We propose a novel approach that empowers off-the-shelf LMs to achieve performance comparable to state-of-the-art GNNs on node classification tasks.
arXiv Detail & Related papers (2024-10-03T08:27:54Z) - MTLSO: A Multi-Task Learning Approach for Logic Synthesis Optimization [19.13500546022262]
MTLSO is a Multi-Task Learning approach for Logic Synthesis Optimization.
We introduce an auxiliary task of binary multi-label graph classification alongside the primary regression task.
We also employ a hierarchical graph representation learning strategy to improve the model's capacity for learning expressive graph-level representations.
arXiv Detail & Related papers (2024-09-09T21:20:36Z) - MAVIS: Mathematical Visual Instruction Tuning with an Automatic Data Engine [85.80851893886161]
We propose MAVIS, a MAthematical VISual instruction tuning pipeline for MLLMs, featuring an automatic data engine to efficiently create mathematical visual datasets.
We use MAVIS-Caption to fine-tune a math-specific vision encoder (CLIP-Math) through contrastive learning, tailored for improved diagram visual encoding.
Third, we adopt MAVIS-Instruct to perform the instruction tuning for robust problem-solving skills, and term the resulting model as MAVIS-7B.
arXiv Detail & Related papers (2024-07-11T17:59:47Z) - SimTeG: A Frustratingly Simple Approach Improves Textual Graph Learning [131.04781590452308]
We present SimTeG, a frustratingly Simple approach for Textual Graph learning.
We first perform supervised parameter-efficient fine-tuning (PEFT) on a pre-trained LM on the downstream task.
We then generate node embeddings using the last hidden states of finetuned LM.
arXiv Detail & Related papers (2023-08-03T07:00:04Z) - PERFOGRAPH: A Numerical Aware Program Graph Representation for
Performance Optimization and Program Analysis [12.778336318809092]
A key challenge in adopting the latest machine learning methods is the representation of programming languages.
To overcome the limitations and challenges of current program representations, we propose a graph-based program representation called PERFOGRAPH.
PerFOGRAPH can capture numerical information and the aggregate data structure by introducing new nodes and edges.
arXiv Detail & Related papers (2023-05-31T21:59:50Z) - ParaGraph: Weighted Graph Representation for Performance Optimization of
HPC Kernels [1.304892050913381]
We introduce a new graph-based program representation for parallel applications that extends the Abstract Syntax Tree.
We evaluate our proposed representation by training a Graph Neural Network (GNN) to predict the runtime of an OpenMP code region.
Results show that our approach is indeed effective and has normalized RMSE as low as 0.004 to at most 0.01 in its runtime predictions.
arXiv Detail & Related papers (2023-04-07T05:52:59Z) - MultiScale MeshGraphNets [65.26373813797409]
We propose two complementary approaches to improve the framework from MeshGraphNets.
First, we demonstrate that it is possible to learn accurate surrogate dynamics of a high-resolution system on a much coarser mesh.
Second, we introduce a hierarchical approach (MultiScale MeshGraphNets) which passes messages on two different resolutions.
arXiv Detail & Related papers (2022-10-02T20:16:20Z) - End-to-end Mapping in Heterogeneous Systems Using Graph Representation
Learning [13.810753108848582]
We propose a unified, end-to-end, programmable graph representation learning framework.
It is capable of mining the complexity of high-level programs down to the universal intermediate representation, extracting the specific computational patterns and predicting which code segments would run best on a specific core.
In the evaluation, we demonstrate a maximum speedup of 6.42x compared to the thread-based execution, and 2.02x compared to the state-of-the-art technique.
arXiv Detail & Related papers (2022-04-25T22:13:13Z) - 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) - A Survey on Large-scale Machine Learning [67.6997613600942]
Machine learning can provide deep insights into data, allowing machines to make high-quality predictions.
Most sophisticated machine learning approaches suffer from huge time costs when operating on large-scale data.
Large-scale Machine Learning aims to learn patterns from big data with comparable performance efficiently.
arXiv Detail & Related papers (2020-08-10T06:07:52Z) - MPLP++: Fast, Parallel Dual Block-Coordinate Ascent for Dense Graphical
Models [96.1052289276254]
This work introduces a new MAP-solver, based on the popular Dual Block-Coordinate Ascent principle.
Surprisingly, by making a small change to the low-performing solver, we derive the new solver MPLP++ that significantly outperforms all existing solvers by a large margin.
arXiv Detail & Related papers (2020-04-16T16:20:53Z)
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.