Concurrent Solutions to Linear Systems using Hybrid CPU/GPU Nodes
Department of Computer Science and Electrical Engineering, UMBC
SIAM Undergraduate Research Online (SIURO), vol. 8, 2015
@article{adenikinju2015concurrent,
title={Concurrent Solutions to Linear Systems using Hybrid CPU/GPU Nodes},
author={Adenikinju, Oluwapelumi and Gilyard, Julian and Massey, Joshua and Stitt, Thomas},
year={2015}
}
We investigate the parallel solutions to linear systems with the application focus as 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 basic Jacobi method with a fixed iteration count 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 for complex problems. It is found that for the test scenes used, the problem complexity was not great enough to take advantage of mathematical reformulation through BiCG-STAB. Single-node parallelization techniques are implemented through OpenMP-based multithreading, GPU-offloading using CUDA, and hybrid multi-threading/GPU offloading. It is seen that in general OpenMP is optimal by requiring no expensive memory transfers. Finally, we investigate two storage schemes 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.
June 26, 2015 by hgpu