A performance study of general-purpose applications on graphics processors using CUDA
University of Virginia, Department of Computer Science, Charlottesville, VA, USA
Journal of Parallel and Distributed Computing, Vol. 68, No. 10. (October 2008), pp. 1370-1380.
@article{che2008performance,
title={A performance study of general-purpose applications on graphics processors using CUDA},
author={Che, S. and Boyer, M. and Meng, J. and Tarjan, D. and Sheaffer, J.W. and Skadron, K.},
journal={Journal of Parallel and Distributed Computing},
volume={68},
number={10},
pages={1370–1380},
issn={0743-7315},
year={2008},
publisher={Elsevier}
}
Graphics processors (GPUs) provide a vast number of simple, data-parallel, deeply multithreaded cores and high memory bandwidths. GPU architectures are becoming increasingly programmable, offering the potential for dramatic speedups for a variety of general-purpose applications compared to contemporary general-purpose processors (CPUs). This paper uses NVIDIA’s C-like CUDA language and an engineering sample of their recently introduced GTX 260 GPU to explore the effectiveness of GPUs for a variety of application types, and describes some specific coding idioms that improve their performance on the GPU. GPU performance is compared to both single-core and multicore CPU performance, with multicore CPU implementations written using OpenMP. The paper also discusses advantages and inefficiencies of the CUDA programming model and some desirable features that might allow for greater ease of use and also more readily support a larger body of applications.
October 30, 2010 by hgpu