Title

Author

Date of Award

Level of Access

Open-Access Thesis

Degree Name

Master of Science (MS)

Department

Computer Engineering

Advisor

Bruce E. Segee

Second Committee Member

Vincent M. Weaver

Third Committee Member

Yifeng Zhu

Abstract

In this thesis, we explore the speed, power, and energy performance of the same data process on the central processing unit (CPU) with and without the acceleration of the Graphics Processing Unit (GPU) on the microcomputer Raspberry Pi (RPI). We tested on the RPI in two different fields. The first was comparing the speed, power, and energy usage with and without GPU acceleration in the image processing impacts on RPI model B+. The second was comparing speed, power, energy usage, and accuracy for scientific calculation with and without GPU acceleration on RPI model B+ and 3B.

We used a novel method to correlate graphics processing, CPU load, power consumption, and total energy consumption. Three different benchmarks were utilized to play a short video. OMXplayer was used with GPU rendering while the Mplayer and VLC player were without GPU rendering. A 3 Dimensions model simulator (3D Slash) benchmark was also used to compare its power usage with the previous benchmarks’. We used system counter tool PERF and system usage monitor TOP for acquiring accurate system CPU and Random-Access Memory (RAM) usage information. The first study design included a comparison of the running time, frame rate, power usage, and the total energy consumed by the benchmarks. We used the Adafruit USB Power Gauge to log the power and energy consumed by the RPI, and its values were output to a CSV file for ease of graphing and calculation.

The first study results showed that the number of frames rendered per second increased dramatically when hardware rendering was used, as did electrical power consumption. Interestingly, the hardware rendering takes less time than the software rendering, and the total energy consumed by the hardware rendering lower than the software rendering despite the power during hardware rendering being higher.

In the second study, we used the Fast Fourier Transform (FFT) as the calculation method for analyzing. We developed six benchmark programs using three libraries that included: GPU_FFT, Fastest Fourier Transform in the West (FFTW) and Python SciPy FFTpack (SciPy FFT) [1-3]. They were used for doing FFT in both one dimension (1D) and two dimensions (2D) using single precision floating point numbers as the primary data type. The study design includes: the write-up of the involved code, a comparison of the accuracy of the results compared to the known solution, running time, power consumption during the calculation, and the total energy consumed by the calculation. The Power Gauge was used to measure the power and energy consumed by the RPI as we did in the first field.

In the second study, we found that General-purpose computing on graphics processing units (GPGPU) code was more energy efficient and faster than the serial code on both RPI models without much sacrifice of the precision.

From the two studies, we interpreted that particular type of data processing like image processing and typical complex matrices value calculating would have numerous benefits in speed, energy expenditure with the GPU rendering.