@inproceedings{f802d72f304243d8af4f4dd4497f02bd,
title = "GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimation",
abstract = "Analytical hardware performance models yield swift estimation of desired hardware performance metrics. However, developing these analytical models for modern processors with sophisticated microarchitectures is an extremely laborious task and requires a firm understanding of target microarchitecture's internal structure. In this paper, we introduce GRANITE1, a new machine learning model that estimates the throughput of basic blocks across different microarchitectures. GRANITE uses a graph representation of basic blocks that captures both structural and data dependencies between instructions. This representation is processed using a graph neural network that takes advantage of the relational information captured in the graph and learns a rich neural representation of the basic block that allows more precise throughput estimation. Our results establish a new state-of-the-art for basic block performance estimation with an average test error of 6.9% across a wide range of basic blocks and microarchitectures for the x86-64 target. Compared to recent work, this reduced the error by 1.7% wile improving training and inference throughput by approximately 3.0×. In addition, we propose the use of multitask learning with independent multi-layer feed forward decoder networks. Our results show that this technique further improves precision of all learned models while significantly reducing per-microarchitecture training costs. We perform an extensive set of ablation studies and comparisons with prior work, concluding a set of methods to achieve high accuracy for basic block performance estimation.1GRANITE:",
keywords = "graph neural network, machine learnig, microarchitecture, optimization, performance, performance model, throughput estimation",
author = "Ondrej Sykora and Phothilimthana, {Phitchaya Mangpo} and Charith Mendis and Amir Yazdanbakhsh",
note = "Publisher Copyright: {\textcopyright} 2022 IEEE.; 2022 IEEE International Symposium on Workload Characterization, IISWC 2022 ; Conference date: 06-11-2022 Through 08-11-2022",
year = "2022",
doi = "10.1109/IISWC55918.2022.00012",
language = "English (US)",
series = "Proceedings - 2022 IEEE International Symposium on Workload Characterization, IISWC 2022",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "14--26",
booktitle = "Proceedings - 2022 IEEE International Symposium on Workload Characterization, IISWC 2022",
address = "United States",
}