Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
A Memory Model for Scientific Algorithms on Graphics Processors

Naga K. Govindaraju, Scott Larsen, Jim Gray, and Dinesh Manocha


We present a memory model to analyze and improve the performance of scientific algorithms on graphics processing units (GPUs). Our memory model is based on texturing hardware, which uses a 2D block-based array representation to perform the underlying computations. We incorporate many characteristics of GPU architectures including smaller cache sizes, 2D block representations, and use the 3C's model to analyze the cache misses. Moreover, we present techniques to improve the performance of nested loops on GPUs. In order to demonstrate the effectiveness of our model, we highlight its performance on three memory-intensive scientific applications sorting, fast Fourier transform and dense matrix-multiplication. In practice, our cache-efcient algorithms for these applications are able to achieve memory throughput of 30-50 GB/s on a NVIDIA 7900 GTX GPU. We also compare our results with prior GPU-based and CPU-based implementations on highend processors. In practice, we are able to achieve 2-5x performance improvement


Publication typeTechReport
InstitutionMicrosoft Research
PublisherInstitute of Electrical and Electronics Engineers, Inc.
> Publications > A Memory Model for Scientific Algorithms on Graphics Processors