Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Critical Points Based Register-Concurrency Autotuning for GPUs

Conference ·
OSTI ID:1253875
The unprecedented prevalence of GPGPU is largely attributed to its abundant on-chip register resources, which allow massively concurrent threads and extremely fast context switch. However, due to internal memory capacity constraints, there is a tradeoff between the per-thread register usage and the overall concurrency. This becomes a design problem in terms of performance tuning, since the performance “sweet spot” which can be significantly affected by these two factors is generally unknown beforehand. In this paper, we propose an effective autotuning solution to quickly and efficiently select the optimal number of registers perthread for delivering the best GPU performance. Experiments on three generations of GPUs (Nvidia Fermi, Kepler and Maxwell) demonstrate that our simple strategy can achieve an average of 10% performance improvement while a max of 50% over the original version without modifying the user program. Additionally, to reduce local cache misses due to register spilling and further improve performance, we explore three optimization schemes (i.e. bypass L1 for global memory access, enlarge local L1 cache and spill into shared memory) and discuss their impact on performance on a Kepler GPU.
Research Organization:
Pacific Northwest National Laboratory (PNNL), Richland, WA (US)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
1253875
Report Number(s):
PNNL-SA-114732; 400470000
Country of Publication:
United States
Language:
English

Similar Records

RACB: Resource Aware Cache Bypass on GPUs
Conference · Wed Oct 01 00:00:00 EDT 2014 · 2014 International Symposium on Computer Architecture and High Performance Computing Workshop; 22-24 Oct. 2014; Paris, France · OSTI ID:1567596

A survey of techniques for architecting and managing GPU register file
Journal Article · Wed Apr 06 20:00:00 EDT 2016 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1332070

A Pattern Based Algorithmic Autotuner for Graph Processing on GPUs
Conference · Fri Feb 15 23:00:00 EST 2019 · OSTI ID:1765323