Performance Study of LU Decomposition on the Programmable GPU
Graduate School of Information Science and Technology, Osaka University, 1-3 Machikaneyama, Toyonaka, Osaka 560-8531, Japan
High Performance Computing – HIPC 2005, Lecture Notes in Computer Science, 2005, Volume 3769/2005, p.83-94
@article{ino2005performance,
title={Performance study of LU decomposition on the programmable GPU},
author={Ino, F. and Matsui, M. and Goda, K. and Hagihara, K.},
journal={High Performance Computing–HiPC 2005},
pages={83–94},
year={2005},
publisher={Springer}
}
With the increasing programmability of graphics processing units (GPUs), these units are emerging as an attractive computing platform not only for traditional graphics computation but also for general-purpose computation. In this paper, to study the performance of programmable GPUs, we describe the design and implementation of LU decomposition as an example of numerical computation. To achieve this, we have developed and evaluated some methods with different implementation approaches in terms of (a) loop processing, (b) branch processing, and (c) vector processing. The experimental results give four important points: (1) dependent loops must be implemented through the use of a render texture in order to avoid copies in the video random access memory (VRAM); (2) in most cases, branch processing can be efficiently handled by the CPU rather than the GPU; (3) as Fatahalian et al. state for matrix multiplication, we find that GPUs require higher VRAM cache bandwidth in order to provide full performance for LU decomposition; and (4) decomposition results obtained by GPUs usually differ from those by CPUs, mainly due to the floating-point division error that increases the numerical error with the progress of decomposition.
December 26, 2010 by hgpu