Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimization
Ali TehraniJamsaz, Mihail Popov, Akash Dutta, Emmanuelle Saillard, Ali, Jannesari

TL;DR
This paper introduces a graph neural network approach that leverages static intermediate representations of code to optimize NUMA and prefetcher configurations, achieving near-dynamic profiling performance with reduced profiling costs.
Contribution
It presents a novel method using static IR and GNNs for hardware optimization, reducing profiling overhead while maintaining high performance gains.
Findings
Achieves 80% of dynamic profiling performance gains using static IR.
Hybrid model matches dynamic profiling gains with only 30% profiling.
Reduces profiling cost significantly compared to previous methods.
Abstract
There is a large space of NUMA and hardware prefetcher configurations that can significantly impact the performance of an application. Previous studies have demonstrated how a model can automatically select configurations based on the dynamic properties of the code to achieve speedups. This paper demonstrates how the static Intermediate Representation (IR) of the code can guide NUMA/prefetcher optimizations without the prohibitive cost of performance profiling. We propose a method to create a comprehensive dataset that includes a diverse set of intermediate representations along with optimum configurations. We then apply a graph neural network model in order to validate this dataset. We show that our static intermediate representation based model achieves 80% of the performance gains provided by expensive dynamic performance profiling based strategies. We further develop a hybrid model…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsGraph Neural Network
