GPU Computing Pipeline Inefficiencies and Optimization Opportunities in Heterogeneous CPU-GPU Processors
Authors:
- Joel HestnessJHJoel Hestness
- Stephen W. KecklerSKStephen W. Keckler
- David A. WoodDWDavid A. Wood
- 1 October 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 87-97
Abstract
Emerging heterogeneous CPU-GPU processors have introduced unified memory spaces and cache coherence. CPU and GPU cores will be able to concurrently access the same memories, eliminating memory copy overheads and potentially changing the application-level optimization targets. To date, little is known about how developers may organize new applications to leverage the available, finer-grained communication in these processors. However, understanding potential application optimizations and adaptations is critical for directing heterogeneous processor programming model and architectural development. This paper quantifies opportunities for applications and architectures to evolve to leverage the new capabilities of heterogeneous processors. To identify these opportunities, we ported and simulated a broad set of benchmarks originally developed for discrete GPUs to remove memory copies, and applied analytical models to quantify their application-level pipeline inefficiencies. For existing benchmarks, GPU bulk-synchronous software pipelines result in considerable core and cache utilization inefficiency. For heterogeneous processors, the results indicate increased opportunity for techniques that provide flexible compute and data granularities, and support for efficient producer-consumer data handling and synchronization within caches.Keywords
This publication has 24 references indexed in Scilit:
- Fusion2015
- Page Placement Strategies for GPUs within Heterogeneous Memory Systems2015
- The Xbox One System on a Chip and Kinect SensorIEEE Micro, 2014
- Architectural support for address translation on GPUs2014
- Heterogeneous system coherence for integrated CPU-GPU systems2013
- PTask2011
- Hybrid analytical modeling of pending cache hits, data prefetching, and MSHRsACM Transactions on Architecture and Code Optimization, 2011
- The gem5 simulatorACM SIGARCH Computer Architecture News, 2011
- Exploiting coarse-grained task, data, and pipeline parallelism in stream programs2006
- StreamIt: A Language for Streaming Applications2002