2014Journal of Engineering and Technological SciencesOpen access

GPU Computing to Improve Game Engine Performance

Abu S. Asaduzzaman, Hin Y. Lee

Open full text 5 citations

Abstract

Although the graphics processing unit (GPU) was originally designed to accelerate the image creation for output to display, today's general purpose GPU (GPGPU) computing offers unprecedented performance by offloading computing-intensive portions of the application to the GPGPU, while running the remainder of the code on the central processing unit (CPU).The highly parallel structure of a many core GPGPU can process large blocks of data faster using multithreaded concurrent processing.A game engine has many "components" and multithreading can be used to implement their parallelism.However, effective implementation of multithreading in a multicore processor has challenges, such as data and task parallelism.In this paper, we investigate the impact of using a GPGPU with a CPU to design high-performance game engines.First, we implement a separable convolution filter (heavily used in image processing) with the GPGPU.Then, we implement a multiobject interactive game console in an eight-core workstation using a multithreaded asynchronous model (MAM), a multithreaded synchronous model (MSM), and an MSM with data parallelism (MSMDP).According to the experimental results, speedup of about 61x and 5x is achieved due to GPGPU and MSMDP implementation, respectively.Therefore, GPGPU-assisted parallel computing has the potential to improve multithreaded game engine performance.

Open-access reader

About this research paper

What this paper is about

Although the graphics processing unit (GPU) was originally designed to accelerate the image creation for output to display, today's general purpose GPU (GPGPU) computing offers unprecedented performance by offloading computing-intensive portions of the application to the GPGPU, while running the remainder of the code on the central processing unit (CPU).The highly parallel structure of a many core GPGPU can process large blocks of data faster using multithreaded concurrent processing.A game engine has many "components" and multithreading can be used to implement their parallelism.However, effective implementation of multithreading in a multicore processor has challenges, such as data and task parallelism.In this paper, we investigate the impact of using a GPGPU with a CPU to design high-performance game engines.First, we implement a separable convolution filter (heavily used in image processing) with the GPGPU.Then, we implement a multiobject interactive game console in an eight-core workstation using a multithreaded asynchronous model (MAM), a multithreaded synchronous model (MSM), and an MSM with data parallelism (MSMDP).According to the experimental results, speedup of about 61x and 5x is achieved due to GPGPU and MSMDP implementation, respectively.Therefore, GPGPU-assisted parallel computing has the potential to improve multithreaded game engine performance.

Why it matters

OpenAlex reports 5 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Although the graphics processing unit (GPU) was originally designed to accelerate the image creation for output to display, today's general purpose GPU (GPGPU) computing offers unprecedented performance by offloading computing-intensive portions of the application to the GPGPU, while running the remainder of the code on the central processing unit (CPU).The highly parallel structure of a many core GPGPU can process large blocks of data faster using multithreaded concurrent processing.A game engine has many "components" and multithreading can be used to implement their parallelism.However, effective implementation of multithreading in a multicore processor has challenges, such as data and task parallelism.In this paper, we investigate the impact of using a GPGPU with a CPU to design high-performance game engines.First, we implement a separable convolution filter (heavily used in image processing) with the GPGPU.Then, we implement a multiobject interactive game console in an eight-core workstation using a multithreaded asynchronous model (MAM), a multithreaded synchronous model (MSM), and an MSM with data parallelism (MSMDP).According to the experimental results, speedup of about 61x and 5x is achieved due to GPGPU and MSMDP implementation, respectively.Therefore, GPGPU-assisted parallel computing has the potential to improve multithreaded game engine performance.

Key concepts: Computer science, General-purpose computing on graphics processing units, Multithreading, Parallel computing, Speedup, Multi-core processor, CUDA, Graphics processing unit

Related papers

Back to paper searchBrowse research topicsOriginal source
GPU Computing to Improve Game Engine Performance — Research Paper | ScholarLens