Register Allocation Techniques for GPU Shader Processors

碩士 === 國立交通大學 === 資訊科學與工程研究所 === 100 === Graphics processing units (GPUs) have been widely used in embedded systems for manipulating computer graphics and even for general-purpose computation. However, many embedded systems have to manage limited hardware resources to achieve high performance or ene...

Full description

Bibliographic Details
Main Authors: Chen, Szu-Chieh, 陳思捷
Other Authors: You, Yi-Ping
Format: Others
Language:en_US
Published: 2012
Online Access:http://ndltd.ncl.edu.tw/handle/92001701099712636174
id ndltd-TW-100NCTU5394100
record_format oai_dc
spelling ndltd-TW-100NCTU53941002016-03-28T04:20:37Z http://ndltd.ncl.edu.tw/handle/92001701099712636174 Register Allocation Techniques for GPU Shader Processors 圖形著色器之暫存器配置技術 Chen, Szu-Chieh 陳思捷 碩士 國立交通大學 資訊科學與工程研究所 100 Graphics processing units (GPUs) have been widely used in embedded systems for manipulating computer graphics and even for general-purpose computation. However, many embedded systems have to manage limited hardware resources 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 limited 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 to a vector-typed variable that does not contain values in all elements creates a waste of register spaces. In this thesis we present a vector-aware register allocation framework to improve register utilization on shader architectures, thereby reducing register spills. The framework involves two major components: (1) element-based register allocation that allocates registers upon the element requirements of variables and (2) register packing that rearranges elements of registers in order to make more contiguous free elements for keeping more live variables in registers. Experiments demonstrated that the proposed register allocation decreases a mean of 92% of register spills and results in more reduction in energy consumption (from 1.7% to 4.7%) than a previous work that applied a power-control mechanism to the output buffer, where a register is spilled to. You, Yi-Ping 游逸平 2012 學位論文 ; thesis 53 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立交通大學 === 資訊科學與工程研究所 === 100 === Graphics processing units (GPUs) have been widely used in embedded systems for manipulating computer graphics and even for general-purpose computation. However, many embedded systems have to manage limited hardware resources 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 limited 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 to a vector-typed variable that does not contain values in all elements creates a waste of register spaces. In this thesis we present a vector-aware register allocation framework to improve register utilization on shader architectures, thereby reducing register spills. The framework involves two major components: (1) element-based register allocation that allocates registers upon the element requirements of variables and (2) register packing that rearranges elements of registers in order to make more contiguous free elements for keeping more live variables in registers. Experiments demonstrated that the proposed register allocation decreases a mean of 92% of register spills and results in more reduction in energy consumption (from 1.7% to 4.7%) than a previous work that applied a power-control mechanism to the output buffer, where a register is spilled to.
author2 You, Yi-Ping
author_facet You, Yi-Ping
Chen, Szu-Chieh
陳思捷
author Chen, Szu-Chieh
陳思捷
spellingShingle Chen, Szu-Chieh
陳思捷
Register Allocation Techniques for GPU Shader Processors
author_sort Chen, Szu-Chieh
title Register Allocation Techniques for GPU Shader Processors
title_short Register Allocation Techniques for GPU Shader Processors
title_full Register Allocation Techniques for GPU Shader Processors
title_fullStr Register Allocation Techniques for GPU Shader Processors
title_full_unstemmed Register Allocation Techniques for GPU Shader Processors
title_sort register allocation techniques for gpu shader processors
publishDate 2012
url http://ndltd.ncl.edu.tw/handle/92001701099712636174
work_keys_str_mv AT chenszuchieh registerallocationtechniquesforgpushaderprocessors
AT chénsījié registerallocationtechniquesforgpushaderprocessors
AT chenszuchieh túxíngzhesèqìzhīzàncúnqìpèizhìjìshù
AT chénsījié túxíngzhesèqìzhīzàncúnqìpèizhìjìshù
_version_ 1718213418994892800