DCLGJun 18, 2019

A Static Analysis-based Cross-Architecture Performance Prediction Using Machine Learning

arXiv:1906.07840v17 citations
Originality Incremental advance
AI Analysis

This addresses the costly and time-consuming process of porting code from CPU to GPU for programmers, though it is incremental as it builds on existing static analysis and machine learning methods.

The paper tackles the problem of predicting GPU speed-up from CPU source code without execution, achieving 94% accuracy in binary classification across thresholds.

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

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes