Ray tracing for PCs-- a bad idea whose time has come
Dean Takahashi sent me an e-mail pointing to a piece he wrote on VentureBeat describing statements Wednesday by Intel's Chief Technical Officer Justin Rattner targeted at NVIDIA. CNET's own Brooke Crothers covered the same story and provides additional background here.
Intel Chief Technology Officer Justin R. Rattner
(Credit: Intel)The technology at issue relates to 3D graphics for PCs. All current PC graphics chips use what's called polygon-order rendering. All of the polygons that make up the objects to be displayed are processed one at a time. The graphics chip figures out where each polygon should appear on the screen and how much of it will be visible or obstructed by other polygons.
Ray tracing achieves similar results by working through each pixel on the screen, firing off a "ray" (like a backward ray of light) that bounces off the polygons until it reaches a light source in the scene. Ray tracing produces natural lighting effects but takes a lot more work.
(That's the short version, anyway. For more details, you could dig up a copy of my 1997 book Beyond Conventional 3D. Alas, the book is long since out of print.)
Ray tracing is easily implemented in software on a general-purpose CPU, and indeed, most of the computer graphics you see in movies and TV commercials are generated this way, using rooms full of PCs or blade-server systems.
Naturally, Intel loves ray tracing, and there are people at Intel working to make ray tracing work better on Intel hardware.
The occasion for Rattner's remarks Thursday was a meeting for industry analysts at the Computer History Museum. At the meeting, according to Takahashi, Intel showed how a four-chip, 16-core demo system could play "Quake Wars: Enemy Territory" at 16 frames per second.
Honestly, that's pretty pathetic, since you can get higher frame rates with a dual-core CPU plus one good graphics chip. Your system price and power consumption will be a tenth that of the Intel demo system.
Rattner basically implied that Nvidia must actually agree with Intel that ray tracing is a good idea because Nvidia recently bought ray-tracing firm RayScale and Rattner says Nvidia is trying to hire away Intel's ray-tracing people.
Takahashi compared this conflict with the "Phoney War" of 1939-1940 and said the real fighting will begin when Intel introduces Larrabee, a CPU-based graphics chip, at Siggraph in August.
But I don't think there's going to be much of a fight there.
Intel is trying to defend a crazy idea-- that CPU-based ray tracing is a practical alternative to GPU-based polygon-order rendering.
We can guess why they decided to push this alternative--Intel's a CPU company and its people are CPU-centric. But the numbers don't work out: ray tracing takes more work than polygon-order rendering. Going from pixels to polygons requires searching (tracing rays), whereas going from polygons to pixels merely requires a relatively simple set of calculations known as "triangle setup."
Ray tracing's advantages for lighting effects are pretty minor; current graphics chips can be programmed to get good results there too, with less work.
I imagine Intel noticed that ray tracing could be another way to use the many cores in Larrabee, and figured this could be the basis of some competitive differentiation, but what should have been a minor point in some future marketing campaign has grown into an overblown strategic initiative.
On the hardware side, Larrabee isn't even optimized for ray tracing. On the software side, there's no support for ray tracing in Microsoft's Direct3D middleware, and no way any version of Direct3D in the foreseeable future will rely on ray tracing.
Larrabee will certainly support ray tracing--every CPU does--and some future version of Direct3D may support ray tracing as an option, but it could be 10 years or more before ray tracing becomes a required feature for any real-world software.
And to whatever extent ray tracing can be useful, Nvidia can write efficient ray-tracing code for its GPUs faster than Intel can tape out more capable versions of Larrabee. Nvidia is looking for ways to use ray tracing for lighting and other purposes, but this effort is minor compared to the work it's putting into polygon-order rendering.
Rattner is very smart--too smart not to know the situation. I think he's just doing his job, supporting his company's position whether he fully agrees with it or not.
And once Intel starts selling Larrabee, it's only going to get a day or two to talk about ray tracing before the focus will turn, properly, to Larrabee's performance on the technology that matters: good old polygon-order rendering. And at that point, I don't think Intel's going to have much to say.
Peter N. Glaskowsky is a computer architect in Silicon Valley and a technology analyst for the Envisioneering Group. He has designed chip- and board-level products in the defense and computer industries, managed design teams, and served as editor in chief of the industry newsletter "Microprocessor Report." He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. 




Microsoft is not Intel's only major partner that could that could make this CPU-based graphics chip useful. Aspects of Apple's upcoming Mac OS X 10.6 developments seem to target Intel's Nehalem & Larrabee.
Multicore
?Grand Central,?
a new set of technologies built into Snow Leopard, brings unrivaled support for multicore systems to Mac OS X. More cores, not faster clock speeds, drive performance increases in today?s processors. Grand Central takes full advantage by making all of Mac OS X multicore aware and optimizing it for allocating tasks across multiple cores and processors. Grand Central also makes it much easier for developers to create programs that squeeze every last drop of power from multicore systems.
QuickTime
Media and Internet
Using media technology pioneered in OS X iPhone, Snow Leopard introduces QuickTime X, a streamlined, next-generation platform that advances modern media and Internet standards. QuickTime X features optimized support for modern codecs and more efficient media playback, making it ideal for any application that needs to play media content.
OpenCL
Another powerful Snow Leopard technology, OpenCL (Open Computing Language), makes it possible for developers to efficiently tap the vast gigaflops of computing power currently locked up in the graphics processing unit (GPU). With GPUs approaching processing speeds of a trillion operations per second, they?re capable of considerably more than just drawing pictures. OpenCL takes that power and redirects it for general-purpose computing.
Nowadays, it's more becoming a question of how to fully utilise a GPU than the CPU which is in my opinion unfortunately the opposite of Intel's mentality.
- by Datsond June 17, 2008 5:01 AM PDT
- Man that looks horrible! what happened to my paragraphs?
- Reply to this comment
-
-
- by Peter N. Glaskowsky June 23, 2008 12:23 AM PDT
- Sorry 'bout that. Of course, they were mostly Apple's paragraphs from http://www.apple.com/macosx/snowleopard/ . :-)
-
-
(4 Comments)Anyway, thanks for the comment, and I do agree that Direct3D isn't the only possible source of software support for ray tracing... but nothing Apple has said points to any ray-tracing support in Snow Leopard, either.