An analytical model for a GPU architecture with memory-level and thread-level parallelism awareness
Top Cited Papers
- 20 June 2009
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 37 (3), 152-163
- https://doi.org/10.1145/1555754.1555775
Abstract
GPU architectures are increasingly important in the multi-core era due to their high number of parallel processors. Programming thousands of massively parallel threads is a big challenge for software engineers, but understanding the performance bottlenecks of those parallel programs on GPU architectures to improve application performance is even more difficult. Current approaches rely on programmers to tune their applications by exploiting the design space exhaustively without fully understanding the performance characteristics of their applications. To provide insights into the performance bottlenecks of parallel applications on GPU architectures, we propose a simple analytical model that estimates the execution time of massively parallel programs. The key component of our model is estimating the number of parallel memory requests (we call this the memory warp parallelism) by considering the number of running threads and memory bandwidth. Based on the degree of memory warp parallelism, the model estimates the cost of memory requests, thereby estimating the overall execution time of a program. Comparisons between the outcome of the model and the actual execution time in several GPUs show that the geometric mean of absolute error of our model on micro-benchmarks is 5.4% and on GPU computing applications is 13.3%. All the applications are written in the CUDA programming language.Keywords
This publication has 9 references indexed in Scilit:
- Analyzing CUDA workloads using a detailed GPU simulatorPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- A first-order fine-grained multithreaded throughput modelPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- LarrabeeACM Transactions on Graphics, 2008
- NVIDIA Tesla: A Unified Graphics and Computing ArchitectureIEEE Micro, 2008
- Program optimization space pruning for a multithreaded gpuPublished by Association for Computing Machinery (ACM) ,2008
- Scalable Parallel Programming with CUDAQueue, 2008
- MergePublished by Association for Computing Machinery (ACM) ,2008
- Face Detection Using Spectral Histograms and SVMsIEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2005
- Theoretical modeling of superscalar processor performancePublished by Association for Computing Machinery (ACM) ,1994