Real Time Global Illumination Solutions to the Radiosity Algorithm using Hybrid CPU/GPU Nodes

Author/Creator ORCID

Date

2014

Department

Program

Citation of Original Publication

Rights

This item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author.

Abstract

We investigate high performance solutions to the global illumination problem in computer graphics. An existing CPU serial implementation using the radiosity method is given as the performance baseline where a scene and corresponding form-factor coefficients are provided. The initial computational radiosity solver uses the classical Jacobi method as an iterative approach to solving the radiosity linear system. We add the option of using the modern BiCG-STAB method with the aim of reduced runtime through a reduction in iteration count with respect to Jacobi for complex problems. It is found that for the test scenes used, the convergence complexity was not great enough to take advantage of mathematical reformulation through BiCG-STAB. Single-node parallelization techniques are implemented through OpenMP-based threading, GPU- overloading, and hybrid threading/GPU overloading and it is seen that in general OpenMP is optimal by requiring no expense. Finally, we investigate the non-standard-array storage style of the system to determine whether storage through arrays of structures or structures of arrays results in better performance. We find that the usage of arrays of structures in conjunction with OpenMP results in the best performance except for small scene sizes where CUDA shows the minimal runtime.