GPUs - graphics processing units
The term GPU was popularized by nVIDIA in 1999, who marketed a computer graphics card called GeForce 256 as “The world’s first GPU”. However, the card was mainly designed for rendering of high-end computer graphics and enhancing computer-based gaming performance. In contrast, today’s GPUs also provide an inexpensive platform for developing and executing high-performance non-graphical applications. The development of general-purpose applications on GPUs is often termed as GPGPU (General Purpose Computing on GPUs) and a number companies have started to produce GPUs that are capable of general purpose computation.
Among the various kinds of GPUs, we have specifically chosen nVIDIA’s Tesla is a popular development platform, however latest GPUs like Fermi K80, Pascal, Volta are also not very different in terms of basics. All these devices allow programmers to develop applications using an easily programmable C-like language, called Compute Unified Device Architecture (CUDA).