Automatic code optimization using graph neural networks

Limited Access
This item is unavailable until:
2023-07-23
Date
2023-01
Editor(s)
Advisor
Öztürk, Özcan
Supervisor
Co-Advisor
Co-Supervisor
Instructor
Source Title
Print ISSN
Electronic ISSN
Publisher
Bilkent University
Volume
Issue
Pages
Language
English
Journal Title
Journal ISSN
Volume Title
Series
Abstract

Compilers provide hundreds of optimization options, and choosing a good optimization sequence is a complex and time-consuming task. It requires extensive effort and expert input to select a good set of optimization flags. Therefore, there is a lot of research focused on finding optimizations automatically. While most of this research considers using static, spatial, or dynamic features, some of the latest research directly applied deep neural networks on source code. We combined the static features, spatial features, and deep neural networks by rep-resenting source code as graphs and trained Graph Neural Network (GNN) for automatically finding suitable optimization flags. We chose eight binary optimization flags and two benchmark suites, Polybench and cBench. We created a dataset of 12000 graphs using 256 optimization flag combinations on 47 benchmarks. We trained and tested our model using these benchmarks, and our results show that we can achieve a maximum of 48.6%speed-up compared to the case where all optimization flags are enabled.

Course
Other identifiers
Book Title
Citation
Published Version (Please cite this version)