Cross-architecture performance prediction (XAPP) using CPU code to predict GPU performance

GPUs have become prevalent and more general purpose, but GPU programming remains challenging and time consuming for the majority of programmers. In addition, it is not always clear which codes will benefit from getting ported to GPU. Therefore, having a tool to estimate GPU performance for a piece o...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) s. 725 - 737
Hlavní autoři: Ardalani, Newsha, Lestourgeon, Clint, Sankaralingam, Karthikeyan, Xiaojin Zhu
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: ACM 01.12.2015
Témata:
ISSN:2379-3155
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:GPUs have become prevalent and more general purpose, but GPU programming remains challenging and time consuming for the majority of programmers. In addition, it is not always clear which codes will benefit from getting ported to GPU. Therefore, having a tool to estimate GPU performance for a piece of code before writing a GPU implementation is highly desirable. To this end, we propose Cross-Architecture Performance Prediction (XAPP), a machine-learning based technique that uses only single-threaded CPU implementation to predict GPU performance. Our paper is built on the two following insights: i) Execution time on GPU is a function of program properties and hardware characteristics. ii) By examining a vast array of previously implemented GPU codes along with their CPU counterparts, we can use established machine learning techniques to learn this correlation between program properties, hardware characteristics and GPU execution time. We use an adaptive two-level machine learning solution. Our results show that our tool is robust and accurate: we achieve 26.9% average error on a set of 24 real-world kernels. We also discuss practical usage scenarios for XAPP.
ISSN:2379-3155
DOI:10.1145/2830772.2830780