WHAT IS GPU COMPUTING?
GPU computing is the use of a GPU (graphics processing unit) together with a CPU to accelerate general-purpose scientific and engineering applications. Pioneered five years ago by NVIDIA, GPU computing has quickly become an industry standard, enjoyed by millions of users worldwide and adopted by virtually all computing vendors.
GPU computing offers unprecedented application performance by offloading compute-intensive portions of the application to the GPU, while the remainder of the code still runs on the CPU. From a user's perspective, applications simply run significantly faster.
CPU + GPU is a powerful combination because CPUs consist of a few cores optimized for serial processing, while GPUs consist of thousands of smaller, more efficient cores designed for parallel performance. Serial portions of the code run on the CPU while parallel portions run on the GPU.
Most customers can immediately enjoy the power of GPU computing by using any of the GPU-accelerated applications listed in our catalog, which highlights over one hundred, industry-leading applications. For developers, GPU computing offers a vast ecosystem of tools and libraries from major software vendors.
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.”
Tesla GPUs 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.
"GPUs have evolved to the point where many real-world applications are easily implemented on them and run significantly faster than on multi-core systems. Future computing architectures will be hybrid systems with parallel-core GPUs working in tandem with multi-core CPUs.'
Professor Jack Dongarra
Director of the Innovative Computing Laboratory
The University of Tennessee
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.