標題: VecRA: A Vector-Aware Register Allocator for GPU Shader Processors
作者: You, Yi-Ping
Chen, Szu-Chien
資訊工程學系
Department of Computer Science
關鍵字: Register allocation;shader processors;register packing
公開日期: 八月-2016
摘要: Graphics processing units (GPUs) are now widely used in embedded systems for manipulating computer graphics and even for general-purpose computation. However, many embedded systems have to manage highly restricted hardware resources in order to achieve high performance or energy efficiency. The number of registers is one of the common limiting factors in an embedded GPU design. Programs that run with a low number of registers may suffer from high register pressure if register allocation is not properly designed, especially on a GPU in which a register is divided into four elements and each element can be accessed separately, because allocating a register for a vector-type variable that does not contain values in all elements wastes register spaces. In this article, we present a vector-aware register allocation framework to improve register utilization on shader architectures. The framework involves two major components: (1) element-based register allocation that allocates registers based on the element requirement of variables and (2) register packing that rearranges elements of registers in order to increase the number of contiguous free elements, thereby keeping more live variables in registers. Experimental results on a cycle-approximate simulator showed that the proposed framework decreased 92% of register spills in total and made 91.7% of 14 common shader programs spill free. These results indicate an opportunity for energy management of the space that is used for storing spilled variables, with the framework improving the performance by a geometric mean of 8.3%, 16.3%, and 29.2% for general shader processors in which variables are spilled to memory with 5-, 10-, and 20-cycle access latencies, respectively. Furthermore, the reduction in the register requirement of programs enabled another 11 programs with high register pressure to be runnable on a lightweight GPU.
URI: http://dx.doi.org/10.1145/2961026
http://hdl.handle.net/11536/134282
ISSN: 1539-9087
DOI: 10.1145/2961026
期刊: ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS
Volume: 15
Issue: 3
顯示於類別:期刊論文