Cross-Architecture Performance Prediction (XAPP) Using CPU Code to Predict GPU Performance

被引:63
|
作者
Ardalani, Newsha [1 ]
Lestourgeon, Clint [1 ]
Sankaralingam, Karthikeyan [1 ]
Zhu, Xiaojin [1 ]
机构
[1] Univ Wisconsin Madison, Madison, WI 53706 USA
关键词
GPU; Cross-platform Prediction; Performance Modeling; Machine Learning; REGRESSION-MODELS; DESIGN SPACE; HARDWARE; BENCHMARKS;
D O I
10.1145/2830772.2830780
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:725 / 737
页数:13
相关论文
共 50 条
  • [31] Performance evaluation of image smoothing on CPU and GPU using multithreading - An experimental apwwWroach in High Performance Computing
    Gopalakrishnan, Anantharaman
    Narayanasamy, Senthil Anand
    Sethumadhavan, Gopalakrishnan
    2016 IEEE INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND COMPUTING RESEARCH, 2016, : 786 - 790
  • [32] Using high performance algorithms for the hybrid simulation of disease dynamics on CPU and GPU
    Leonenko, Vasiliy N.
    Pertsev, Nikolai V.
    Artzrouni, Marc
    INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, ICCS 2015 COMPUTATIONAL SCIENCE AT THE GATES OF NATURE, 2015, 51 : 150 - 159
  • [33] Importance of explicit vectorization for CPU and GPU software performance
    Dickson, Neil G.
    Karimi, Kamran
    Hamze, Firas
    JOURNAL OF COMPUTATIONAL PHYSICS, 2011, 230 (13) : 5383 - 5398
  • [34] High performance CPU/GPU multiresolution Poisson solver
    Van Rees, Wim M.
    Rossinelli, Diego
    Hadjidoukas, Panagiotis
    Koumoutsakos, Petros
    PARALLEL COMPUTING: ACCELERATING COMPUTATIONAL SCIENCE AND ENGINEERING (CSE), 2014, 25 : 481 - 490
  • [35] Performance Comparison of Parallel Execution using GPU and CPU in SVM Training Session
    Salleh, Nur Shakirah Md
    Baharim, Muhammad Fahim
    2015 4TH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTER SCIENCE APPLICATIONS AND TECHNOLOGIES (ACSAT), 2015, : 214 - 217
  • [36] Improving CPU Performance through Dynamic GPU Access Throttling in CPU-GPU Heterogeneous Processors
    Rai, Siddharth
    Chaudhuri, Mainak
    2017 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2017, : 18 - 29
  • [37] Performance models for CPU-GPU data transfers
    van Werkhoven, B.
    Maassen, J.
    Seinstra, F. J.
    Bal, H. E.
    2014 14TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2014, : 11 - 20
  • [38] PERFORMANCE COMPARISON OF FPGA, GPU AND CPU IN IMAGE PROCESSING
    Asano, Shuichi
    Maruyama, Tsutomu
    Yamaguchi, Yoshiki
    FPL: 2009 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, 2009, : 126 - 131
  • [39] Optimum Power-Performance GPU Configuration Prediction based on Code Attributes
    Jooya, Ali
    Dimopoulos, Nikitas
    Baniasadi, Amirali
    2017 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS), 2017, : 418 - 425
  • [40] The CMSSW benchmarking suite: using HEP code to measure CPU performance
    Benelli, G.
    17TH INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS (CHEP09), 2010, 219