PS3 Linux Performs Real Time Ray Tracing
fistfullast33l writes "A video posted on You Tube shows three PS3s networked together to perform Real Time Ray Tracing. Keep in mind that PS3 Linux runs in a hypervisor, so the RSX graphics chip is not being used at all. Even more impressive, PS3 Fanboy is reporting that Linux also limits the number of SPEs to 6 at once, so not all the horsepower on each of the PS3s is being utilized. According to the You Tube Summary, IBM Cell SDK 2.0 is being used for the IBM Interactive Ray-tracer (iRT). This apparently was done by the same team that presented a tech demo at GDC 2007 of a Linux PS3 rendering a 3 million polygon scene in real time at 1080p resolution."
PS3 Fanboy is reporting that Linux also limits the number of SPEs to 6 at once
That is incorrect - Linux does not limit the SPEs - Out of the 8 available SPEs, the PS3 hardware disables 1 and one is reserved for the hypervisor leaving 6 for Linux running atop the hypervisor.
The Linux PS3 never rendered a 3 million polygons scene in real-time, it decomposed the scenes into batchs that were dispatched to blades to do the rendering and the result brought back to the PS3.
It's written clearly in the article, please read it before you post about it.
The reason only six are available to the OS is that one us used by the hypervisor for DRM purposes and the eighth is disabled for chip yield purposes. Raytracing is very parallelizable task, so it's not surprising that eighteen SPEs working in parallel could perform realtime raytracing.
One point: there's yet another SIMD engine on that chip... people forget about VMX (altivec). It's bolted onto the PPC PPU core as well.
Those "arbitrary" limitations aren't so arbitrary. Sony intentionally limited PS3 Linux in order to prevent competition from homebrew games. Sony's taking a big dollar loss per console sold, and their bread-and-butter to make that up is game licensing fees. If PS3 Linux had access to the full power of the PS3, the homebrew scene instantly becomes a major threat to Sony's cash flow.
Interestingly, Microsoft's XNA is going the complete opposite direction. They do have some arbitrary restrictions (access to Xbox Live, difficulties in sharing your games), but those are in place for technical reasons rather than business -- XNA is still very young, and Microsoft wanted to get it out there so people could play with it even though they hadn't had a chance to sort out security issues with some features. XNA game packaging and Xbox Live access are coming.
Umm, let's take a look at what you're saying there...
know there's been some limited applications of realtime raytracing in gaming. IIRC your temple in Black & White had some in the ceiling
Umm, I think you have Radiosity confused with ray tracing.
I don't think this is very exciting, however. It's not like it has gaming applications; you need three PS3s to get it done. Wake me up when one PS3 can do realtime raytracing in-game.
Then you must not know much about computer graphics. I doubt you could have done this with the PS2 or the XBox. The fact that a next gen machine can do this is very interesting, especially in a distributed fashion over the network. Distributed computing really is the future, and may someday take place inside game consoles as well. IF you have a spare processor and your buddy doesn't, is it efficient for him to borrow your CPU time? This is definitely a discussion that is occurring in normal computing space, let alone console gaming.
Not to mention, this isn't being done with the Sony SDK. This is done using free tools available via the internet. A college student could build this for a research project if they wished. This is proving that Sony allowing people access to Linux on the machine really is working. It counters the argument of XBLA's framework being the best thing ever. In fact, they could release this code as part of the GPL for free and it wouldn't be encombered by any Microsoft system or Sony system whatsoever.
Sony intentionally limited PS3 Linux in order to prevent competition from homebrew games
I don't buy that for one second. There is no way homebrew will provide any amount of competition to professional publishing houses, with their multi-million-dollar budgets and professional artists, composers, and so forth. Hell, just look at the Linux/Windows open-source game market... oh, right, there isn't one (aside from the odd exception, like Tux Racer or Frozen Bubble).
The only reasons I can think of to lock down the PS3 are:
a) Piracy. A fully unlocked PS3 may make it possible to run pirated software on the machine.
b) It serves as an alternative to their rather expensive professional development kits, cutting into a source of revenue.
Personally, I suspect the former.
Certainly not "free" exactly. But in general, as long as you're using a good acceleration structure and can hold everything in-core, performance is roughly O(lg N) in the number of polygons. So the speed hit going from 50k to 100k polygons would be roughly equivalent to that of going from 100k to 200k. That's where the scalability of ray tracing comes in. There's still going to be quite a difference between one big polygon and 100k of them.
You'll also find that most ray tracers exhibit the same performance variation between facing a wall and facing a full landscape. It may not be as dramatic due to the relatively high constant of proportionality for a software ray tracer vs. a GPU but it's still there. A large part of that is probably just cache performance -- you'll have a lot more cache hits facing the wall.
Reflection-wise, you've got the right idea -- there will be a decent speed hit for them. But you've got it backwards. Doing a good job of computing color bleed effects require a ray tracer which supports global illumination and that can take astronomically more rays to compute than a decent implementation of basic specular reflections. You probably need at least 100 rays/pixel or more to even have a prayer of not having any excessively noisy image. Ray tracing is a point-sampling technique which means that any time you have any sort fuzzy/soft kinds of effect like ambient occlusion, glossy reflections, soft shadows or color bleed from indirect illumination.
Linux has, afaik, access to as many SPEs as the games... that is 6. The reasons aren't related to
linux support at all but to the PS3 design:
- One SPE is unuseable because Sony uses chips with only 7 good SPEs to improve yields
- One SPE is reserved by the HyperVisor for its own use, possibly DRM related
- The 6 remaining ones are useable by the operating system, wether it's the Game OS or
Linux, there is no difference in that area.
Linux does not use it for its own benefit - the extra SPE is not usable by linux to enforce what Sony calls "O/S security". E.g. ensuring that linux cannot access the PS3's partition on the hd.
I would hardly say this benefits linux.
In either case, the important thing to note is that the SPE is not being used to perform raytracing.