Deep Graph Learning for Program Analysis and System Optimization
Department of Electrical and Computer Engineering, University of Southern California
Workshop on Graph Neural Networks and Systems,2021
@article{xiao2021deep,
title={Deep Graph Learning for Program Analysis and System Optimization},
author={Xiao, Yao and Ma, Guixiang and Ahmed, Nesreen K and Willke, Theodore L and Nazarian, Shahin and Bogdan, Paul},
year={2021}
}
It has been increasingly challenging for the compilers to cope with the evolving computer architectures. The manually written compiler heuristics are not sufficiently wise to capture the impact of data and hardware related dependencies on performance. However, machine learning offers an opportunity to learn the common patterns in the existing dataset and predict the future outcomes for unseen data. Therefore, rather than relying on expert compiler writers to develop clever heuristics to optimize the code, we can utilize machine learning to optimize a compiler to make the machine run faster. In this work, we represent high level programs as weighted graphs.This enables the proposed framework to efficiently analyze the structural information flow of software programs and determine their parallelization. Furthermore, the proposed framework utilizes graph autoencoders to learn how to partition the graph into computational kernels, and exploits graph neural networks to predict the correct assignment to a processor type. In the evaluation, we validate the PGL framework and demonstrate a maximum speedup of 6.22x when compared to the thread-based execution and 1.91x higher compared to the state-of-the-art PROGRAML.
April 25, 2021 by hgpu