Title :
A Performance Model for GPUs with Caches
Author :
Thanh Tuan Dao ; Jungwon Kim ; Sangmin Seo ; Egger, Bernhard ; Jaejin Lee
Author_Institution :
Sch. of Comput. Sci. & Eng., Seoul Nat. Univ., Seoul, South Korea
Abstract :
To exploit the abundant computational power of the world´s fastest supercomputers, an even workload distribution to the typically heterogeneous compute devices is necessary. While relatively accurate performance models exist for conventional CPUs, accurate performance estimation models for modern GPUs do not exist. This paper presents two accurate models for modern GPUs: a sampling-based linear model, and a model based on machine-learning (ML) techniques which improves the accuracy of the linear model and is applicable to modern GPUs with and without caches. We first construct the sampling-based linear model to predict the runtime of an arbitrary OpenCL kernel. Based on an analysis of NVIDIA GPUs´ scheduling policies we determine the earliest sampling points that allow an accurate estimation. The linear model cannot capture well the significant effects that memory coalescing or caching as implemented in modern GPUs have on performance. We therefore propose a model based on ML techniques that takes several compiler-generated statistics about the kernel as well as the GPU´s hardware performance counters as additional inputs to obtain a more accurate runtime performance estimation for modern GPUs. We demonstrate the effectiveness and broad applicability of the model by applying it to three different NVIDIA GPU architectures and one AMD GPU architecture. On an extensive set of OpenCL benchmarks, on average, the proposed model estimates the runtime performance with less than 7 percent error for a second-generation GTX 280 with no on-chip caches and less than 5 percent for the Fermi-based GTX 580 with hardware caches. On the Kepler-based GTX 680, the linear model has an error of less than 10 percent. On an AMD GPU architecture, Radeon HD 6970, the model estimates with 8 percent of error rates. The proposed technique outperforms existing models by a factor of 5 to 6 in terms of accuracy.
Keywords :
cache storage; graphics processing units; learning (artificial intelligence); parallel machines; performance evaluation; processor scheduling; sampling methods; AMD GPU architecture; Fermi-based GTX 580; GPU hardware performance counters; Kepler-based GTX 680; ML; NVIDIA GPU architectures; NVIDIA GPU scheduling policies; OpenCL kernel; Radeon HD 6970; compiler-generated statistics; computational power; hardware caches; heterogeneous compute devices; machine-learning techniques; modern GPU; performance estimation models; sampling points; sampling-based linear model; second-generation GTX 280; supercomputers; workload distribution; Computational modeling; Computer architecture; Data models; Estimation; Graphics processing units; Hardware; Kernel; AMD; GPU; NVIDIA; OpenCL; caches; performance modeling; scheduling;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2014.2333526