GPU compute breaks out
Speaking of enormity, Nvidia is certainly talking up the potential of the GT200 and its siblings for applications beyond traditional real-time graphics processing. This isn't just idle talk, of course; the potential of GPUs for handling certain types of computing problems has been evident for some time now. Quite a few tasks require performing relatively simple transforms on large amounts of similar data, and GPUs are ideal for streaming through such data sets and crunching them. Starting with the G80, Nvidia has built provisions into each of its graphics processors for GPU-compute applications. The firm has also developed CUDA, a C-like programming interface for its DX10-class GPUs that it offers to the world free of charge via a downloadable SDK.

The first GPU-enabled applications came from specific industries that confront particularly difficult computing problems that are good candidates for acceleration via parallel processors like GPUs: oil and gas exploration, biomedical imaging and simulation, computational fluid dynamics, and such things. Both Nvidia and ATI (now AMD) have been showing demos of such applications to the press for some time now. Both companies have even re-branded their GPUs as parallel compute engines and sold them in workstation- and server-style configurations. Indeed, surely one of the reasons Nvidia can justify building large GPUs like the G80 and GT200 is the fact that those chips can command high margins inside of Tesla GPU-compute products.

Impressive as they have been, though, such applications haven't typically had broad appeal. Nvidia hopes the next wave of GPU-compute programs will include more consumer-oriented software, and it's fond of pointing out that it has shipped over 70 million CUDA-capable GPUs since the introduction of the GeForce 8—a considerable installed base. Meanwhile, the company has quietly been buying up and investing in makers of tools and software with GPU-computing potential. At its press event for the GT200, Nvidia and its partners showed off a number of promising consumer-level products in development that use CUDA and the GPU to deliver new levels of performance. Among them:

  • Adobe showed a work-in-progress version of Photoshop that uses the GPU to accelerate image display and manipulation. The demo consisted of loading up a 442 megapixel image—a 2GB file—and working with it. GPU accelerated zooming allowed the program to flow instantaneously between a full-image view and close examination of a small section of the image, then move back out again. The image could be rotated freely, in real time, as well. Using another tool, the Adobe rep loaded up a 3D model of a motorcycle and was able to paint directly on its surface. He then grabbed a bit of vector art, stamped it on the surface of the model, and it sort of "melted" into place, moving with the bike as the view rotated. Again, the program's responses were instant and fluid.
  • Nvidia recently purchased a company called Rayscale that has developed a ray-tracing application for the GPU. Their software mixes traditional GPU rasterization via OpenGL with ray-tracing via CUDA to create high-quality images with much better reflections than possible with rasterization alone. At present, the company's founders said, the software isn't quite able to render images in real time; one limiter is the speed penalty exacted by performing a context switch from graphics mode to CUDA. Nvidia says it's working on improving the speed of such switches.
  • A firm called Elemental is preparing several video encoding products that use GPU acceleration, including a plug-in for Adobe Premiere and a stand-alone transcoder called BadaBoom. The compny showed a demonstration of a very, very quick video transcode and claimed BadaBoom could convert an MPEG2 file to H.264 at a rate faster than real-time playback—a huge improvement over CPU-based encoding. The final product isn't due until August, but Nvidia provided us with an early version of BadaBoom as we were in the late stages of putting together this review. We haven't yet had time to play with it, but we're hoping to conduct a reasonably good apples-to-apples comparison between video encoding on a multi-core CPU and a GPU, if we can work out the exact quality settings used by BadaBoom. Obviously, H.264 video encoding at the speeds Elemental claims could have tremendous mass-market appeal.
  • Stanford University's distributed computing guru, Vijay Pande, was on hand to show off a Folding@Home client for Nvidia GPUs—at last! Radeons have had a Folding client for some time now, of course. The GeForce client has the distinction of being developed in CUDA, so it should be compatible with any GeForce 8 or newer Nvidia GPU. Pande said the GeForce GTX 280 can simulate protein folding at a rate of over 400 nanoseconds per day, or over 500 ns/day if the card's not driving a display. We have a beta copy of the Folding client, and yep, it folds. However, we're not yet satisfied with the performance testing tools Nvidia supplied alongside it, so we'll refrain from publishing any number of our own just yet. I believe the client itself shouldn't be too far from public release. (If you haven't yet, consider joining Team TR and putting that GPU to good use.)
  • Last but certainly not least, Manju Hegde, former CEO of Ageia, offered an update on his team's progress in porting the physics "solvers" for the PhysX API to the GPU in the wake of Nvidia's buyout of Ageia. He said they started porting the solvers to CUDA roughly two and a half months ago and had them up and running within a month. Compared to the performance of a Core 2 Quad CPU, Hedge said the GeForce GTX 280 was up to 15X faster simulating fluids, 12X faster with soft bodies, and 13X faster with cloth and fabrics. (I believe that puts the GTX 280's performance at roughly six to 10 times that of Ageia's own PhysX hardware, for what it's worth.) Their goal is to make sure all current hardware-accelerated PhysX content works with the GPU drivers.

    Hegde also pointed out that game developers have become much more open to using hardware physics acceleration in their games since the acquisition, with 12 top-flight titles signing on in the first month, versus two titles in Ageia's two-and-a-half years in existence. Among the games currently in development that will use PhysX are Natural Motion's Backbreaker football sim and the sweet-looking Mirror's Edge.

    One question we don't know the answer to just yet is how well hardware physics acceleration will coexist with 3D graphics processing, especially on low-end and mid-range GPUs. Hedge showed a striking "Creature from the Deep" demo that employs soft bodies, force fields, and particle debris at the event, but he later revealed that demo used two GPUs, one for graphics and the other for physics. Again, context switching overhead is an issue here. We expect to have an early PhysX driver to play with later this week. We'll have to see how it performs.


The creature from the deep wriggles like Jello thanks to PhysX
Copyright ©1999-2009 The Tech Report. All rights reserved.
About us | Privacy policy | Subscribe to our mailing list