A Static Analysis-based Cross-Architecture Performance Prediction Using Machine Learning
Abstract
Porting code from CPU to GPU is costly and time-consuming; Unless much time is invested in development and optimization, it is not obvious, a priori, how much speed-up is achievable or how much room is left for improvement. Knowing the potential speed-up a priori can be very useful: It can save hundreds of engineering hours, help programmers with prioritization and algorithm selection. We aim to address this problem using machine learning in a supervised setting, using solely the single-threaded source code of the program, without having to run or profile the code. We propose a static analysis-based cross-architecture performance prediction framework (Static XAPP) which relies solely on program properties collected using static analysis of the CPU source code and predicts whether the potential speed-up is above or below a given threshold. We offer preliminary results that show we can achieve 94% accuracy in binary classification, in average, across different thresholds
Cite
@article{arxiv.1906.07840,
title = {A Static Analysis-based Cross-Architecture Performance Prediction Using Machine Learning},
author = {Newsha Ardalani and Urmish Thakker and Aws Albarghouthi and Karu Sankaralingam},
journal= {arXiv preprint arXiv:1906.07840},
year = {2019}
}
Comments
Published at 2nd International Workshop on AI-assisted Design for Architecture Phoenix, AZ, June 22, 2019, colocated with ISCA