Journal of Engineering and Technological Sciences | |
GPU Computing to Improve Game Engine Performance | |
Hin Y. Lee1  Abu Asaduzzaman1  | |
[1] Department of EECS, Wichita State University, Kansas, United States; | |
关键词: Game engine; GPGPU computing; multicore processor; parallel programming; performance improvement; simultaneous multithreading; | |
DOI : 10.5614/j.eng.technol.sci.2014.46.2.8 | |
来源: DOAJ |
【 摘 要 】
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.
【 授权许可】
Unknown