The future of computation is the Graphical Processing Unit, i.e. the GPU. The promise that the graphics cards have shown in the field of image processing and accelerated rendering of 3D scenes, and the computational capability that these GPUs possess, they are developing into great parallel computing units. It is quite simple to program a graphics processor to perform general parallel tasks. But after understanding the various architectural aspects of the graphics processor, it can be used to perform other taxing tasks as well. In this paper, we will show how CUDA can fully utilize the tremendous power of these GPUs. CUDA is NVIDIA’s parallel computing architecture. It enables dramatic increases in computing performance, by harnessing the power of the GPU. This paper talks about CUDA and its architecture. It takes us through a comparison of CUDA C/C++ with other parallel programming languages like OpenCL and DirectCompute. The paper also lists out the common myths about CUDA and how the future seems to be promising for CUDA.
[1]
Danilo De Donno,et al.
Introduction to GPU Computing and CUDA Programming: A Case Study on FDTD [EM Programmer's Notebook]
,
2010
.
[2]
David B. Davidson.
Introduction to GPU Computing and CUDA Programming: A Case Study on FOlD
,
2010
.
[3]
Yongchao Liu,et al.
CUDASW++: optimizing Smith-Waterman sequence database searches for CUDA-enabled graphics processing units
,
2009,
BMC Research Notes.
[4]
Jon Nielsen,et al.
Parallel programming with CUDA
,
2012
.
[5]
Miguel A. Vega-Rodríguez,et al.
Accelerating Particle Swarm Algorithm with GPGPU
,
2011,
2011 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing.