History of GPU Computing
Graphics chips started as fixed-function graphics processors but became increasingly programmable and computationally powerful, which led NVIDIA to introduce the first GPU. In the 1999-2000 timeframe, computer scientists and domain scientists from various fields started using GPUs to accelerate a range of scientific applications. This was the advent of the movement called GPGPU
, or General-Purpose computation on GPU.
While users achieved unprecedented performance (over 100x compared to CPUs in some cases), the challenge was that GPGPU required the use of graphics programming APIs like OpenGL and Cg to program the GPU. This limited accessibility to the tremendous capability of GPUs for science.
NVIDIA recognized the potential of bringing this performance for the larger scientific community, invested in making the GPU fully programmable, and offered seamless experience for developers with familiar languages like C, C++
, and Fortran
GPU computing momentum is growing faster than ever before. Today, some of the fastest supercomputers in the world rely on GPUs to advance scientific discoveries; 600 universities around the world teach parallel computing with NVIDIA GPUs; and hundreds of thousands of developers are actively using GPUs.
All NVIDIA GPUs—GeForce®, Quadro®, and Tesla®— support GPU computing and the CUDA® parallel programming
model. Developers have access to NVIDIA GPUs in virtually any platform of their choice, including the latest Apple MacBook Pro
. However, we recommend Tesla GPUs for workloads where data reliability and overall performance are critical. For more details, please see “Why Choose Tesla
are designed from the ground-up to accelerate scientific and technical computing workloads. Based on innovative features in the “Kepler architecture,
” the latest Tesla GPUs offer 3x more performance compared to the previous architecture, more than one teraflops of double-precision floating point while dramatically advancing programmability and efficiency. Kepler is the world’s fastest and most efficient high performance computing (HPC) architecture.