NVIDIA CUDA is in technical terms a graphics processor-based C-compiler and the purpose of NVIDIA’s CUDA technology (Compute Unified Device Architecture) is the exact same as ATI’s Stream concept. It will simply broaden the use of the graphics processor from just handling images and graphics to other complex calculations at high speeds. We’ve already soon how ATI’s Stream technology is used by Stanford for its Folding@Home client and NVIDIA seems to be convinced that its CUDA technology will offer similar possibilities.
CUDA has been developed for NVIDIA’s new G80 architecture as it tries to make use of all of the calculation power of the graphics processor’s 128 shader processors (GeForce 8800 GTX). Unlike ATI, NVIDIA has chosen to design a specific CUDA driver for its new graphics cards, a driver which is installed next to the regular graphics card driver.
CUDA will make it possible for software developers to make applications and directly for NVIDIA’s CUDA-compatible GPUs and it’s not manipulated graphics code, which seems quite promising. Areas where you will be able to use CUDA are, just as with ATI Stream, financial analysis and physical effects in games. The latter is something we will surely hear more about from NVIDIA soon.
“CUDA-enabled GPUs offer dedicated features for computing, including the Parallel Data Cache, which allows 128, 1.35GHz processor cores in newest generation NVIDIA GPUs to cooperate with each other while performing intricate computations. Developers access these new features through a separate computing driver that communicates with DirectX and OpenGL, and the new NVIDIA C compiler for the GPU, which obsoletes streaming languages for GPU computing.”
We’re looking forward to some more concrete areas for the CUDA concept and perhaps Stanford should take a look at NVIDIA’s new GPGPU solution now that G80 has been launched.