GPU Computing | NVIDIA CUDA | KEPLER Architecture | High-Performance Computing
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.
"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 ComputingGraphics 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.”
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.
THE CUDA PARALLEL COMPUTING PLATFORMThe CUDA parallel computing platform provides a few simple C and C++ extensions that enable expressing fine-grained and coarse-grained data and task parallelism. The programmer can choose to express the parallelism in high-level languages such as C, C++, Fortran or open standards as OpenACC directives. The CUDA parallel computing platform is now widely deployed with 1000s of GPU-accelerated applications and 1000s of published research papers.
A complete range of CUDA tools and ecosystem solutions is available to developers. Visit CUDA Zone to learn more about developing with CUDA.
KEPLER - THE WORLD'S FASTEST,
Get 3x the performance with the NVIDIA® Kepler, the
world's fastest and most efficient high performance computing (HPC)
architecture. With innovative computing technology and features, it is
applicable to a broader range of scientific computing applications and makes hybrid computing more accessible for application developers and researchers.
MOST EFFICIENT HPC ARCHITECTURE
Delivers more processing performance and efficiency through this new, innovative streaming multiprocessor design that allows a greater percentage of space to be applied to processing cores versus control logic
Simplifies GPU programming by allowing programmers to easily accelerate all parallel nested loops – resulting in a GPU dynamically spawning new threads on its own without going back to the CPU
Slashes CPU idle time by allowing multiple CPU cores to simultaneously utilize a single Kepler GPU, dramatically advancing programmability and efficiency
Data taken from http://www.nvidia.com/object/what-is-gpu-computing.html (accessed on Jan 17, 2013) Share this post on GPU Computing | NVIDIA CUDA | KEPLER Architecture | High-Performance Computing