The present document aims at providing a beginner's introduction to the exciting world of Graphics Processing Units (GPU) and the current state of the art in terms of both hardware and software solutions. Not expecting to be exhaustive we still hope it will be of use to those novice users who wish to know a bit more but found themselves lost in the ocean of material available on the web. We are aware that due to the rapid development of graphics accelerators technologies most of the material overviewed will be soon considered obsolete; however it is also true that given a sound basis updates are easier to develop. We apologize for any missing reference and encourage the reader to contact us to report any suggestions that might improve this manuscript.
The document unfolds into five main sections. Chapter 2 provides a brief history of graphics hardware accelerators from the CGA Hercules to the Radeon 47x0. Chapter 3 surveys some of the most recent hardware architectures available on the market: the NVIDIA GeForce GTX 200 series and the ATI Radeon R700 series. Chapter 4 introduces some of the most commonly used programming models and API platforms available for graphics and general purpose program development on the GPU. Both vendor-dependent and cross platform solutions are addressed. Chapter 5 casts some light on future trends in graphics hardware and GPGPU HPC architectures. A Getting Started appendix introduces the concepts at the base of shaders programming and PyGPU, an embedded language for GPU programming with the high level language Python.
Download the full report here