A Static Analysis-based Cross-Architecture Performance Prediction Using
  Machine Learning
  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
