Reducing the Energy Consumption of Embedded Systems by Integrating General Purpose GPUs

Nowadays, General Purpose Computing on GPUs (GPGPU) accelerates many industrial and scientific applications in the high performance computing (HPC) domain. Recently, GPU vendors, such as Nvidia and AMD, promoted the utilization of high end GPUs in embedded systems. The intention of the GPU vendors is the acceleration of traditional graphics computations, but in analogy to the HPC desktop domain, GPUs could also be used as GPGPU in the embedded domain. However, energy constraints are omnipresent in the embedded world and therefore, one central question for embedded system designers is: Can energy be saved by using an additional GPGPU-equipped graphics card to accelerate general purpose applications? This paper firstly discusses the theoretical background of an energy aware embedded system design including a GPGPU-equipped graphics card. In order to support these theoretical considerations, secondly an energy and runtime evaluation of a low power GPU/CPU system is presented. We demonstrate that a profitable GPU integration, seen from an energy perspective, strongly depends on the structure and the features of an application such as a high parallelizability and the utilization level of the graphics card. The evaluation of several real world benchmarks shows that increasing the system’s power consumption by integrating a GPU can lead to a reduced overall energy consumption of a system.

[1]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[2]  Anoop Gupta,et al.  Parallel computer architecture - a hardware / software approach , 1998 .

[3]  Pierre Boulet,et al.  Loop Parallelization Algorithms: From Parallelism Extraction to Code Generation , 1998, Parallel Comput..

[4]  Peter Marwedel,et al.  Efficient Scratchpad Allocation Algorithms for Energy Constrained Embedded Systems , 2003, PACS.

[5]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, ACM Trans. Graph..

[6]  Michael I. Gordon,et al.  Language and Compiler Design for Streaming Applications , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[7]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[8]  Pedro Trancoso,et al.  Exploring graphics processor performance for general purpose applications , 2005, 8th Euromicro Conference on Digital System Design (DSD'05).

[9]  Patrick Horain,et al.  GPUCV: A Framework for Image Processing Acceleration with Graphics Processors , 2006, 2006 IEEE International Conference on Multimedia and Expo.

[10]  Peter Marwedel,et al.  An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations , 2007 .

[11]  Hsien-Hsin S. Lee,et al.  Extending Amdahl's Law for Energy-Efficient Computing in the Many-Core Era , 2008, Computer.

[12]  Kurt Keutzer,et al.  Fast support vector machine training and classification on graphics processors , 2008, ICML '08.

[13]  Majid Sarrafzadeh,et al.  Energy-aware high performance computing with graphic processing units , 2008, CLUSTER 2008.

[14]  Hiroaki Kobayashi,et al.  SPRAT: Runtime processor selection for energy-aware computing , 2008, 2008 IEEE International Conference on Cluster Computing.

[15]  Rami G. Melhem,et al.  Corollaries to Amdahl's Law for Energy , 2008, IEEE Computer Architecture Letters.

[16]  Reiji Suda,et al.  Power Efficient Large Matrices Multiplication by Load Scheduling on Multi-core and GPU Platform with CUDA , 2009, 2009 International Conference on Computational Science and Engineering.

[17]  Aaftab Munshi,et al.  The OpenCL specification , 2009, 2009 IEEE Hot Chips 21 Symposium (HCS).

[18]  Róbert Mészáros,et al.  Air pollution modelling using a Graphics Processing Unit with CUDA , 2010, Comput. Phys. Commun..

[19]  Xiaohan Ma,et al.  Statistical Power Consumption Analysis and Modeling for GPU-based Computing , 2011 .