Title :
iGPU: Exception support and speculative execution on GPUs
Author :
Menon, Jaikrishnan ; De Kruijf, Marc ; Sankaralingam, Karthikeyan
Author_Institution :
Dept. of Comput. Sci., Univ. of Wisconsin-Madison, Madison, WI, USA
Abstract :
Since the introduction of fully programmable vertex shader hardware, GPU computing has made tremendous advances. Exception support and speculative execution are the next steps to expand the scope and improve the usability of GPUs. However, traditional mechanisms to support exceptions and speculative execution are highly intrusive to GPU hardware design. This paper builds on two related insights to provide a unified lightweight mechanism for supporting exceptions and speculation on GPUs. First, we observe that GPU programs can be broken into code regions that contain little or no live register state at their entry point. We then also recognize that it is simple to generate these regions in such a way that they are idempotent, allowing their entry points to function as program recovery points and enabling support for exception handling, fast context switches, and speculation, all with very low overhead. We call the architecture of GPUs executing these idempotent regions the iGPU architecture. The hardware extensions required are minimal and the construction of idempotent code regions is fully transparent under the typical dynamic compilation framework of GPUs. We demonstrate how iGPU exception support enables virtual memory paging with very low overhead (1% to 4%), and how speculation support enables circuit-speculation techniques that can provide over 25% reduction in energy.
Keywords :
exception handling; graphics processing units; paged storage; system recovery; GPU hardware design; circuit-speculation technique; context switch; dynamic compilation framework; energy reduction; exception handling; exception support; fully programmable vertex shader hardware; iGPU architecture; program recovery point; speculative execution; unified lightweight mechanism; virtual memory paging; Computer architecture; Context; Graphics processing unit; Hardware; Instruction sets; Kernel; Registers;
Conference_Titel :
Computer Architecture (ISCA), 2012 39th Annual International Symposium on
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4673-0475-7
Electronic_ISBN :
1063-6897
DOI :
10.1109/ISCA.2012.6237007