Cache-efficient numerical algorithms using graphics hardware

Naga K. Govindaraju, Dinesh Manocha
2007 Parallel Computing  
We present cache-efficient algorithms for scientific computations using graphics processing units (GPUs). Our approach is based on mapping the nested loops in the numerical algorithms to the texture mapping hardware and efficiently utilizing GPU caches. This mapping exploits the inherent parallelism, pipelining and high memory bandwidth on GPUs. We further improve the performance of numerical algorithms by accounting for the same relative memory address accesses performed at data elements in
more » ... ted loops. Based on the similarity of memory accesses performed at the data elements in the input array, we decompose the input arrays into sub-arrays with similar memory access patterns and execute on the sub-arrays for faster execution. Our approach achieves high memory performance on GPUs by tiling the computation and thereby improving the cache-efficiency. Overall, our formulation for GPU-based algorithms extends the current graphics runtime APIs without exposing the underlying hardware complexity to the programmer. This makes it possible to achieve portability and higher performance across different GPUs. We use this approach to improve the performance of GPU-based sorting, fast Fourier transform and dense matrix multiplication algorithms. We also compare our results with prior GPU-based and CPU-based implementations on high-end processors. In practice, we observe 2-10× improvement in performance. (Dinesh Manocha). contrast with multi-core CPUs, which consist of best single-thread performing cores. Current GPUs can offer 10× higher main memory bandwidth and use data parallelism to achieve up to 10× more floating-point throughput than the CPUs. This computational capability has been widely used to accelerate scientific, geometric, database and imaging applications, and a new area of GPGPU 1 has emerged over the last decade [29] . Most of these non-graphics applications map the the underlying problem and data structures to the rasterization hardware and achieve higher throughput. 1
doi:10.1016/j.parco.2007.09.006 fatcat:q4bhwxqgczau3d633elml5iywy