Parallel Frame Rendering: Trading Responsiveness for Energy on a Mobile GPU

Parallel Frame Rendering: Trading Responsiveness for Energy on a Mobile GPU

Parallel Frame Rendering: Trading Responsiveness for Energy on a Mobile GPU Jose-Maria Arnau Joan-Manuel Parcerisa Polychronis Xekalakis Computer Architecture Department Computer Architecture Department Intel Labs Universitat Politecnica de Catalunya Universitat Politecnica de Catalunya Intel Corporation [email protected] [email protected] [email protected] Abstract—Perhaps one of the most important design aspects Textures Color Buffer Geometry 100 for smartphones and tablets is improving their energy efficiency. 90 Unfortunately, rich media content applications typically put 80 significant pressure to the GPU’s memory subsystem. In this 70 paper we propose a novel means of dramatically improving 60 the energy efficiency of these devices, for this popular type of 50 applications. The main hurdle in doing so is that GPUs require 40 a significant amount of memory bandwidth in order to fetch 30 all the necessary textures from memory. Although consecutive Memory traffic (%) 20 frames tend to operate on the same textures, their re-use distances 10 are so big that to the caches fetching textures appears to be 0 angrybirdsbadpiggiescaptainamericachaos hotpursuit ibowl sleepyjacktemplerun AVERAGE a streaming operation. Traditional designs improve the degree crazysnowboard of multi-threading and the memory bandwidth, as a means of Fig. 1: Memory bandwidth usage on a mobile GPU for a set of improving performance. In order to meet the energy efficiency commercial Android games. On average 62% of the bandwidth standards required by the mobile market, we need a different to system memory is employed for fetching textures. approach. We thus propose a technique which we term Parallel Frame Rendering (PFR). Under PFR, we split the GPU into two clusters where two consecutive frames are rendered in parallel. PFR exploits the high degree of similarity between consecutive frames to save memory bandwidth by improving texture locality. attributed to external off-chip memory accesses to system Since the physics part of the rendering has to be computed RAM. As noted by [11], [12], most of these accesses fetch sequentially for two consecutive frames, this naturally leads to textures. Figure 1 depicts the memory bandwidth usage on an increase in the input delay latency for PFR compared with a mobile GPU, similar to ARM Mali [13], for a set of traditional systems. However we argue that this is rarely an commercial Android games. Our numbers clearly support the issue, as the user interface in these devices is much slower than prior claims and show that 62% of these memory accesses can those of desktop systems. Moreover, we show that we can design be directly attributed to texture data. Ideally removing these reactive forms of PFR that allow us to bound the lag observed accesses would result in significant energy savings, while also by the end user, thus maintaining the highest user experience when necessary. Overall we show that PFR can achieve 28% improving performance substantially. of memory bandwidth savings with only minimal loss in system Focusing on the texture data used by successive frames, responsiveness. we realized that there exists a large degree of reuse across Keywords—Mobile GPU, Memory bandwidth, Rendering frames. As shown in Figure 2 consecutive frames share 96% of the texture addresses requested on average for a set of Android games. Hence, the same textures are fetched frame after frame, I. INTRODUCTION but the GPU cannot exploit these frame-to-frame re-usages due Increasing the energy efficiency of mobile GPUs has to the huge size of the texture dataset. This is confirmed by recently attracted a lot of attention from the architec- inspecting the average re-use distance of the memory accesses ture community [1]–[8]. Being battery-operated devices, the (Figure 3). Contrary to common belief that GPUs need to deal power/performance constraints for GPUs targeting tablets with the streaming memory behavior of graphical applications, or smartphones are very different from those of conven- we argue it is perhaps more efficient to change the rendering tional desktop GPUs [9]. Interestingly enough with each new model leading to this memory behavior. tablet/smartphone generation, the need for visually compelling graphics increases. Today, mobile devices excel in providing In this paper we propose Parallel Frame Rendering (PFR), very rich user interfaces with media content powered by spe- a novel technique for improving texture locality on a mobile cialized graphics hardware. Not surprisingly, previous studies GPU. In PFR the GPU is split in two clusters where two have identified the GPU as one of the main battery consumers consecutive frames are rendered in parallel. By using this orga- on a smartphone for many use cases [2], [10]. nization each texture is read from memory once and employed for rendering two successive frames. Therefore, textures are Focusing on the how to improve the GPU, recent work fetched from main memory just once every two frames instead in [9] revealed that a large fraction of its power can be of being fetched on a frame basis as in conventional GPUs. 40000 % shared texels 2 consecutive frames (2frames) % shared texels 4 consecutive frames (4frames) 35000 100 30000 80 25000 60 20000 40 15000 20 10000 Average Reusage Distance Reusage Average 5000 % shared texture addresses texture % shared 0 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 2frames 4frames 0 angrybirdsbadpiggiescaptainamericachaoscrazysnowboardhotpursuit ibowl sleepyjacktemplerunGEOMEAN angrybirdsbadpiggiescaptainamericachaoscrazysnowboardhotpursuit ibowl sleepyjacktemplerunGEOMEAN Fig. 2: Average percentage of shared texels (texture elements) Fig. 3: Average block re-use distances in the L2 cache for between consecutive frames. Mostly the same texture dataset, several Android commercial games, computed as number of 96% on average, is employed from frame to frame since distinct block addresses referenced between two accesses to consecutive frames tend to be very similar. the same block. If perfect texture overlapping between both GPU clusters is for further pixel processing. Most desktop GPUs, and also the achieved then the amount of memory bandwidth required for mobile GPU inside the NVIDIA Tegra SoC [14], are based fetching textures is reduced by 50%. Since textures represent on conventional rendering. However, conventional rendering 62% of memory bandwidth for our set of commercial Android suffers from overdraw [15]: the colors of some pixels are games as illustrated in Figure 1, PFR can achieve up to 31% written multiple times into memory because graphical objects bandwidth savings. that overlap are drawn over the top of one another. This prob- Overall, we make the following contributions: lem can be completely avoided by using Tile-Based Deferred Rendering (TBDR) [16] instead of conventional rendering. • We present PFR, a technique for improving texture Since overdraw results in a significant waste of memory locality on a mobile GPU that provides 28% memory bandwidth, hence in energy, it is not surprising that TBDR bandwidth savings on average for a set of commercial is becoming increasingly popular in the mobile GPU segment: Android games. This results in 19% energy savings the ARM Mali [13], the Imagination PowerVR [12] and the and 10% speedup over a conventional mobile GPU. Qualcomm Adreno [17] are clear examples. • We show that for most applications PFR does not de- In a TBDR architecture the screen is divided in rectangular grade the user experience, as the input lag is generally blocks of pixels or tiles —a typical tile size is 16 x 16 unaffected. pixels— and transformed primitives (commonly triangles) are • For the few cases where the input lag is increased not immediately rasterized, but they are sorted into tiles and noticeably, we propose the use of a reactive approach saved in memory. For each tile that a triangle overlaps, a which is able to adapt to the amount of input provided pointer to that triangle is stored. After this has been done by the user. for all the geometry, each tile contains a list of triangles that overlap that particular tile, and the rendering starts tile by The rest of the paper is organized as follows. The next tile. The major advantage of TBDR is that tiles are small section provides some background on mobile GPUs and de- enough so all the pixels of a tile can be stored in local on-chip scribes the baseline GPU architecture assumed in this paper. memory. When all the triangles for the tile have been rendered, Section III presents Parallel Frame Rendering. Section IV the pixels are transferred just once to system memory, hence describes the evaluation methodology, whereas the experimen- completely avoiding the overdraw. The downside is that it tal results are presented in Section V. Section VI contains increases bandwidth requirements for the geometry because a discussion of related work and, finally, we conclude in transformed triangles must be stored in memory and fetched Section VII. back for rendering. Obviously, TBDR trades pixel for geometry memory traffic, but overall TBDR has proved to be effective II. BACKGROUND in avoiding off-chip memory accesses on a mobile GPU [18]. This section presents the baseline GPU architecture as- sumed along this paper. As shown in Figure 4, it tries to track B. Main Architectural Components the microarchitecture of the ARM Mali 400-MP [13] mobile GPU. This is a processor with programmable vertex and As shown in Figure 4, the baseline mobile GPU architec- fragment shaders, which uses Tile-Based Deferred Rendering ture assumed in this paper consists of 3 main components: the (TBDR), so we first describe TBDR, and next we overview Geometry Unit, the Tiling Engine and the Raster Unit. The the main components of the GPU. Geometry Unit converts the input 3D world-space triangles into a set of transformed and shaded 2D screen-space triangles. Tiling Engine A. Tile-Based Deferred Rendering Next, the sorts the transformed 2D triangles into screen tiles.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us