Cache-efficient numerical algorithms using graphics hardware
Autor: | Naga K. Govindaraju, Dinesh Manocha |
---|---|
Rok vydání: | 2007 |
Předmět: |
Computer Networks and Communications
Computer science Graphics hardware Pipeline (computing) Sorting Parallel computing Computer Graphics and Computer-Aided Design Theoretical Computer Science High memory Memory address Artificial Intelligence Hardware and Architecture CUDA Pinned memory Cache Memory model Nested loop join Texture mapping Algorithm Software |
Zdroj: | PARCO |
ISSN: | 0167-8191 |
Popis: | 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 nested 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-10x improvement in performance. |
Databáze: | OpenAIRE |
Externí odkaz: |