Cell Power at GDC 2007
This week at Game Developers Conference IBM will show a Linux based PS3 real-time rendering a complex (3 million triangle) urban landscape, at 1080p resolution, using only software rendering techniques (iRT).
Even though the PS3’s RSX is inaccessible under Linux the smart little system will reach out across the network and leverage multiple IBM QS20 blades to render the complex model, in real-time, with software based ray-tracing. Using IBM’s scalable iRT rendering technology, the PS3 is able to decompose each frame into manageable work regions and dynamically distribute them to blades or other PS3s for rendering. These regions are then further decomposed into sub-regions by the blade’s Cell processors and dynamically dispatched to the heavy lifting SPEs for rendering and image compression. Finished encoded regions are then sent back to the PS3 for Cell accelerated decompression, compositing, and display.
Here is a resolution reduced (30MB) Quicktime movie of the demo.
Myself, Mark Nutter, and Joaquin Madruga will be on hand in the IBM booth to run the demonstration so stop by, introduce yourself, and swap some Cell programming stories. Even though much has been made in the press about how difficult the Cell processors is to program, our team of three started with a couple white papers and in only three months created this renderer, the 3dsMax to BVH tree output tool chain, the display client, and the blade distribution framework using only the tools provided in the Cell SDK. Actually we spent as much time trying to figure out how to preserve our 3dsMax models during export and create a good BVH tree as we did writing the Cell code.



Hi Barry,
is there a possibility to get this movie in a full resolution? I’m giving presentations on Cell for our IBM customers from time to time and demos like this are very impressive.
Looks good! I need to go to the GDC next year it looks like, along with E3. I just found this blog and I am glad to be here.
Hi Alexander,
The version we show is a 150MB 720p version. If you have an ftp site I can push you a copy. The real output is 1080p which when H.264 compresssed results in a 600MB file that most machines can’t even decode at 30 frames/sec.
To put this render job in perspective I just ran one frame of this scene through 3dsMax’s default ray-tracer an it took my Centrino Duo (dual core x86) machine one hour eight minutes to render what Cell and the iRT renders in less than one half of a second.
Welcome to the blog M.Willard. GDC has grown a lot in the last 5 years. It’s now a must stop for developers and anyone following game technology.
How much PS3 are needed to render this scene @ 30 FPS ?
Are you sure it is 68 minutes and not 68 second? It seems so much difference between the CELL and the core duo or maybe it is a difference between the two renderer.
this means that at certain tasks CELL is 10 000x more powerful than dual core intel centrinos.
KapN, Each PS3 only has 6 SPEs available under Linux so at 1080p resolution it would take around 15 PS3s to render this scene at 30 fps.
chris1515, yes it took 68 minutes not 68 seconds to render one frame. A lot of this has to do with the differences between the iRT and the default 3dsMax renderer. The iRT is designed around exploiting coherent rays using SIMD and speed is the number one goal. The 3dsMax ray-tracer is a very generalized renderer designed for image quality and while the output iRT and 3dsMax images were nearly identical in this test the 3dsMax renderer is capable of much higher image quality. Autodesk is paying a huge price for their processor agnostic coding style.
i have been seeing some real time ray tracing, lo res of course(it couldnt be any other way on these days machines),and my conclusion was that there is no a whole scene real time ray tracing, and by looking those pictures there is stil lack of reflections on some objects like Menington board and such, lack of opaques, just look out the window and youll see. shadows are all right but not foto realistic. it shows that more processing power should be added to our silicone to get the results we are realy looking for (or its just problem in that software piece?).
So you are pushing 1080p@30fps content out from linux using the ps3fb driver? For some reason I didn’t think the frame buffer driver would be able to keep up with that kind of datarate.
CAUDA, items like the Menington sign aren’t reflective because the artist didn’t assign a reflective property to the sign. The iRT renders what ever properties are assigned to the 3dsMax model. Likewise the windows are opaque because the artist didn’t model the interiors of the buildings.
cabbey, yes we are pushing greater than 30 fps at 1080p via the dumb frame buffer interface provided under PS3 Linux. The key is to only let SPEs touch the pixels and DMA them directly to the frame buffer. A 1080p 32 bit frame buffer is only 8MB of data so at 30 fps you’re pushing around 240 MB/sec. Given that Cell has 25 GB/sec of bandwidth to XDR memory this is just a drop in the bucket.
Another point I wanted to clear up is that the iRT is a completely scalable ray-tracer. One SPE can render the entire 3M triangle city model by itself at 1080p. If other SPEs are found the renderer’s performance scales up linearly. Likewise if the PS3 can locate more remote Cell processors the performance will continue to scale. Minimally you need one SPE on a PS3 to run the renderer.
Hi Barry,
I tried finding more info about iRT at the IBM Developer Site, but couldn’t. Do you have any further information and/or links, and will iRT be released commercially or be open-source?
Hi,
I’m wondering what’s the difference between iRT and project shown in the ‘white papers’? Is iRT basically a copy of this other project ?
Regards,
Peter
Am I the first to ask….
Is this code/app going to be published…
I would LOVE to pump some polygons to this renderer….
Just to tinker with it would be awesome
I would like to know the FPS of this scene rendered with 1 PS3 (6 SPEs)?
ps3 overtime will excel into an all around media system. i strongly believe that the cell broadband engine ray tracing or openrt will harness and benefit gaming especially with its amazing realistic architecture. i am currently working for amd and so far i am hearing so many rumors and hype about the highly anticipated ray tracing program. i am anxiously waiting for ray tracing to be implemented in games in our near future, 2008-2009. i hope we take this in consideration.
You can now download this renderer for your Linux PS3 or QS20 blade:
http://www.alphaworks.ibm.com/tech/irt