Loading [MathJax]/extensions/MathZoom.js
CRAT: Enabling Coordinated Register Allocation and Thread-Level Parallelism Optimization for GPUs | IEEE Journals & Magazine | IEEE Xplore

CRAT: Enabling Coordinated Register Allocation and Thread-Level Parallelism Optimization for GPUs


Abstract:

The key to the high performance on GPUs lies in the massive threading to enable thread switching and hide long latencies. GPUs are equipped with a large register file to ...Show More

Abstract:

The key to the high performance on GPUs lies in the massive threading to enable thread switching and hide long latencies. GPUs are equipped with a large register file to enable fast context switch. However, thread throttling techniques that are designed to mitigate cache contention, lead to under-utilization of registers. Register allocation is a significant factor for performance as it not just determines the single-thread performance, but indirectly affects the TLP. In this paper, we propose Coordinated Register Allocation and Thread-level parallelism (CRAT) to explore the optimization space of register allocation and TLP management on GPUs. CRATemploys both compile-time(CRAT-static) and run-time techniques(CRAT-dyn) to exhaust the design space. CRAT-static works statically to explore TLP and register allocation trade-off and CRAT-dyn exploits dynamic register allocation for further improvement. Experiments indicate that CRAT-static achieves an average 1.25X speedup over existing TLP management technique. On four register-limited applications, CRAT-dyn further improves the performance speedup of CRAT-static from 1.51X to 1.70X.
Published in: IEEE Transactions on Computers ( Volume: 67, Issue: 6, 01 June 2018)
Page(s): 890 - 897
Date of Publication: 24 November 2017

ISSN Information:

Funding Agency:


References

References is not available for this document.