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

05/31/2023
by   Ali TehraniJamsaz, et al.
0

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 is the representation of programming languages, which directly impacts the ability of machine learning methods to reason about programs. The absence of numerical awareness, composite data structure information, and improper way of presenting variables in previous representation works have limited their performances. To overcome the limitations and challenges of current program representations, we propose a novel graph-based program representation called PERFOGRAPH. PERFOGRAPH can capture numerical information and the composite data structure by introducing new nodes and edges. Furthermore, we propose an adapted embedding method to incorporate numerical awareness. These enhancements make PERFOGRAPH a highly flexible and scalable representation that can effectively capture program intricate dependencies and semantics. Consequently, it serves as a powerful tool for various applications such as program analysis, performance optimization, and parallelism discovery. Our experimental results demonstrate that PERFOGRAPH outperforms existing representations and sets new state-of-the-art results by reducing the error rate by 7.4 10 new state-of-the-art results in various performance optimization tasks like Parallelism Discovery and Numa and Prefetchers Configuration prediction.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/23/2020

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

The increasing complexity of computing systems places a tremendous burde...
research
11/21/2020

Deep Data Flow Analysis

Compiler architects increasingly look to machine learning when building ...
research
07/03/2019

A Hybrid Approach for Learning Program Representations

Learning neural program embedding is the key to utilizing deep neural ne...
research
10/27/2022

A Survey on Parallelism and Determinism

Parallelism is often required for performance. In these situations an ex...
research
05/07/2021

NoCFG: A Lightweight Approach for Sound Call Graph Approximation

Interprocedural analysis refers to gathering information about the entir...
research
09/30/2020

Graph-based Heuristic Search for Module Selection Procedure in Neural Module Network

Neural Module Network (NMN) is a machine learning model for solving the ...
research
03/21/2023

ChatGPT for Programming Numerical Methods

ChatGPT is a large language model recently released by the OpenAI compan...

Please sign up or login with your details

Forgot password? Click here to reset