CUDA, the Demos, and HDR With AA
With the GeForce 8800 series architecture, NVIDIA is also announcing their "CUDA" initiative. CUDA is an acronym for Compute Unified Device Architecture. All GeForce 8800 GPUs will support NVIDIA's CUDA, which provides a unified hardware and software solution for data-intensive computing.
CUDA's main features include a new "Thread Computing" processing model that takes advantage of the heavily threaded nature of the GeForce 8800 GPU architecture.
CUDA basically encompasses all GPUGPU functionality, including NVIDIA's Quantum Effects physics technology. Quantum Effects allows for physics effects to be simulated and rendered on the GPU. The GeForce 8800 GPU's stream processors will eventually be used in games to implement more realistic water, smoke, fire, hair, explosion, particle effects, etc., in games that take advantage of the technology. And because these computations are being run on the GPU, the host CPU is freed to run the game engine and AI.
To take advantage of CUDA, NVIDIA will be releasing a compiler that will allow standard C code to be executed on the GPU. Of course, only certain types of applications will benefit from being run on the GPU, namely those that require massive amount of floating point performance, like Folding@Home for example. The GPU's architecture will complement traditional general purpose CPUs by providing additional processing capability for inherently parallel applications. CUDA technology utilizes GPU resources in a different manner than graphics processing, but both CUDA threads and graphics threads can run on the GPU concurrently if desired. Because the architecture is unified, GPU resources can be dynamically allocated for pixel, vertex, or geometry shader duties, in addition to CUDA or Quantum Effects related processing tasks.
With every new GPU, NVIDIA inevitably releases a handful of technology demos designed to exploit the new features and capabilities of the product. This time around, NVIDIA did away with the fairy-tale characters and enlisted the help of Playboy model Adrianne Curry to show off the 8800 series. The Waterworld and Froggy demos also show off the Geometry Shader and Stream Out capabilities of the GeForce 8800. Prior to now, the geometry necessary to create the objects in the Waterworld demo would have been executed on the CPU. But with the 8800, growing vines, and the particle effects for the water are all tasked to the GPU. The manipulation of Froggy's body is also being computed on the GPU, something that could not have been done before.
There's no question, the lush cinematic worlds of Oblivion are a showcase of the current capabilities of DX9-based game engines. However, until now, High Dynamic Range (HDR) lighting effects, combined with full scene anti-aliasing, have only been available to users of ATI graphics cards, since NVIDIA's legacy products do not support the necessary features in hardware. Valve's proprietary method of 16-bit floating point driven HDR actually works on NVIDIA-based cards but that was the only game engine to utilize this technique. With NVIDIA's new GeForce 8800 series architecture, all standard methods of HDR, including FP16 and FP32 are supported with both multi-sample and super-sample AA enabled.
As you can see, the effect is quite impressive and though these screen shots were taken at high resolution with 8X AA enabled, frame rates were still more than playable for this game title. As you'll note, our FRAPS frame counter, in the top left corner of the screen, shows a range of 39 - 60 fps. If you've spent time in the worlds of Oblivion, you'll know this is completely fluid for game play. Though the game itself was unable to detect the capabilities of our GeForce 8800 GTX and enable AA with HDR in the game engine, we turned on HDR in Oblivion's options menu and then forced 8X AA on in NVIDIA's driver control panel. On a side note, at XHD resolutions of 2560X1600, 2X AA with HDR enabled was also very playable as well. XHD gaming nirvana indeed.