AMD and Intel have been talking a lot about "visual computing" lately, and this week it was nVidia's turn, as it hosted a whole conference called Nvision, based around the topic. I wasn't able to attend (only so many west coast conferences I can get to), but I've reviewed a number of the presentations and a lot of it looked very interesting.

Of course, visual computing is not a new theme for nVidia (nor indeed for the old ATI parts of AMD), though too often graphics has been thought of as being solely for gaming. Indeed, the two points nVidia was trying to make going into the show were that graphics are very important beyond gaming; and that GPUs (graphics processing units) have a big role beyond graphics.

The first point is no doubt clear. nVidia CEO Jen-Hsun Huang talked about how visual computing has changed all sorts of industries - and I see it everywhere. Gaming is very cool, but whether you're talking about photo processing, video effects, medical imaging, or oil or gas visualization, high-end graphics are now an important part of all sorts of computing tasks, and thus business tasks.

The second point - GPUs being used for more than the graphics - is more interesting, in part because the technology is still emerging. nVidia has been talking for a long time about its "CUDA" environment for programming the GPU to perform parallel processing tasks, going so far as to create "Tesla" boards designed solely for that purpose. I've seen these used thus far mainly in academic research and in things like oil and gas simulation, but it's beginning to gain traction in other places as well.

Some of the examples of this at the show are really still graphics demos - the PhysX engine, which nVidia recently acquired, now running on CUDA, and some visualization studies of rendering Lamborghinis. But others are more unusual - such as Folding@Home, for which nvidia just released a CUDA client. nVidia had a number of sessions in which it highlighted the things that can be done with programming via CUDA, including huge speed-ups in certain kinds of financial and scientific models. And nVidia says such programming is getting easier because of things like C and C++ support.

Of course, nVidia's competitors have all said the same thing, but with different emphasis. ATI has talked about general purpose GPU (GP-GPU) computing for a long time, while Intel has been lately talking about converging the devices in its upcoming Larrabee architecture. And I'm starting to hear more about the OpenCL platform as well. But these are very different architectures, and for now, I'm seeing more GPU computing work done on CUDA than on anything else.

No one really believes a GPU can replace a CPU (in part because so much software is already designed for CPUs, and in part because CPUs are designed to handle the kind of serial programming that most of modern computing is based on. But GPUs are designed to handle massively parallel processes, and these are becoming more and more interesting on the cutting edge of software design. Creating the right development environment for such computing remains a big challenge , and there is a huge debate coming over how to best split applications among the GPU and the CPU.

Here are ExtremeTech's highlights.