What is CUDA Technology?
NVIDIA® CUDA™ technology is a fundamentally new computing architecture
for the GPU to solve complex computational problems across consumer,
business, and technical industries. CUDA (compute unified device
architecture) technology gives data-intensive applications access to
the tremendous processing power of NVIDIA graphics processing units
(GPUs) through a revolutionary computing architecture unleashing
entirely new capabilities. Providing orders of magnitude more
performance and simplifying software development through the standard C
language, CUDA technology enables developers to create solutions for
data-intensive processing to produce accurate answers, in less time.
GPU computing with CUDA technology is an innovative combination of
computing features in next generation NVIDIA GPUs that are accessed
through a standard ‘C’ language. Where previous generation GPUs were
based on “streaming shader programs”, CUDA programmers use ‘C’ to
create programs called threads that are similar to multi-threading
programs on traditional CPUs. In contrast to multi-core CPUs, where
only a few threads execute at the same time, NVIDIA GPUs featuring CUDA
technology process thousands of threads simultaneously enabling a
higher capacity of information flow.
One of the most important innovations offered by CUDA technology is the
ability for threads on NVIDIA GPUs to cooperate when solving a
problem. By enabling threads to communicate, CUDA technology allows
applications to operate more efficiently. NVIDIA GPUs featuring CUDA
technology have a Parallel Data Cache that saves frequently used
information directly on the GPU. Storing information on the GPU allows
computing threads to instantly share information rather than wait for
data from much slower, off-chip DRAMs. This advance in technology
enables users to find the answers to complex computational problems in
real-time.
Technology Features
• Unified hardware and software solution for thread computing on CUDA-enabled NVIDIA GPUs
• CUDA-enabled GPUs support the Parallel Data Cache and Thread Execution Manager for high performance computing
• Standard C programming language enabled on a GPU
• Standard numerical libraries for FFT and BLAS
• Dedicated CUDA driver for computing
• Optimized upload and download path from the CPU to CUDA-enabled GPU
• CUDA driver interoperates with graphics drivers
• Supports Linux and Windows XP operating systems
• Scales from high performance professional graphics solutions to mobile and embedded GPUs
• Native multi-GPU support for high density computing
• Supports hardware debugging and profiler for program development and optimization
The above described things are taken from NVIDIA Website.
Check out NVIDIA CUDA Homepage for complete information