A Review on GPU Programming Strategies and Recent Trends in GPU Computing
Keywords:
Parallel Programming, GPUs, CUDA, Fermi, Debugging, Programming Strategies, Optimization.Abstract
The advancements in the field of internet and cloud computing has resulted in a huge amount of multimedia data
and processing of this data have become more complex and computationally intensive. With the advent of the
scalable, inexpensive Graphics Processing Units (GPUs) with very high computation power, the processing of
such big data has become less expensive and efficient. Also fast developments happening in the field of
programming languages and different programming and debugging tools adds to the ease of GPU programming.
However, utilizing the resources of the GPU effectively and fully is still a challenge. The goal of this paper is to
present a brief review of NVIDIA’s state of the art Fermi architecture and to survey different programming and
optimization strategies adopted by researchers’ to accelerate the GPU computation. This survey aims to provide
researchers with knowledge about the different programming and optimization techniques in GPU programming
and to motivate them to architect highly efficient parallel algorithms by extracting maximum available
capability of the GPUs. The paper also explores some recent trends in the field of GPU programming.