PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis
Abstract
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 has a direct impact on the ability of machine learning methods to reason about programs. The absence of numerical awareness, aggregate 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 aggregate 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 programs' 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% (AMD dataset) and 10% (NVIDIA dataset) in the well-known Device Mapping challenge. It also sets new state-of-the-art results in various performance optimization tasks like Parallelism Discovery and Numa and Prefetchers Configuration prediction.
Cite
Text
TehraniJamsaz et al. "PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis." Neural Information Processing Systems, 2023.Markdown
[TehraniJamsaz et al. "PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis." Neural Information Processing Systems, 2023.](https://mlanthology.org/neurips/2023/tehranijamsaz2023neurips-perfograph/)BibTeX
@inproceedings{tehranijamsaz2023neurips-perfograph,
title = {{PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis}},
author = {TehraniJamsaz, Ali and Mahmud, Quazi Ishtiaque and Chen, Le and Ahmed, Nesreen K. and Jannesari, Ali},
booktitle = {Neural Information Processing Systems},
year = {2023},
url = {https://mlanthology.org/neurips/2023/tehranijamsaz2023neurips-perfograph/}
}