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.
Raytracing, by definition, is not hardware-accelerated. Of course the RSX isn't being used. Much more impressive is the cluster that, a few years ago, ran raytraced Quake 3.
/
http://graphics.cs.uni-sb.de/~sidapohl/egoshooter
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.
Note that the RSX (the graphics powerhouse) is not being used at all and could cut things down. Real time ray-tracing on a lower level (say 720p) may be feasible on one PS3 using both chips. You won't run your game with it (unless you render at 480p and upscale or something), but you could use it for cut-scenes or menus or other things where you don't have the overhead of traditional games processing (AI, etc.).
Also, one SPE on each console was dedicated to compressing the resulting image (to save bandwidth), and an additional SPE was used on the client to decode the images. That means there were 5 + 5 + 4 = 14 SPEs doing actual ray-tracing. That's just a hair over 2 machines if they didn't have to deal with the encoding/decoding process. Add the RSX in and this looks like it may be feasible to me (again, not for game-play where you have to run AI and such).
Still, quite cool and shows you what a PS3 is capable of in some situations.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
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.
Not really. You can do more with a stack of FPGAs for a lot less. Not to mention that real-time raytracing on desktop computers has been a hot topic of research for a while now. (Especially in the demo community.) Here's one of my favorites.
For having hooked up 3 Cell cores, I actually would have expected something slightly more impressive than a car on a pedastal. I hate to be negative, but this is really nothing more than a marketing stunt by IBM. Sega pulled the same stunt with the Dreamcast marketing 8 years ago, and look where it got them.
Javascript + Nintendo DSi = DSiCade
Forget about it if the company gives you tools and permision remap/redraw everything easily with 2d sources.
Desktop directors will be the garage band rock stars of the next few decades.
You might know me by my old .sig
Your civilization has built the Internet.(+2sci) This obsoletes the Hollywood wonder.(+1hap)
Novel theory: Modern Man evolved from psychopath
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.
I already have redundant crap glued to my tv. Distributed processing is a benefit because it'd allow that redundant crap to work together to do something other than gathering dust. I probably wouldn't upgrade all my crap to have Cell processors in it but when I upgrade it anyway, as I'm likely to do within a five year period, then I may as well get new equipment that'll work together instead of being at war with each other.
Upgrading a console every five years is a dying concept. It's much easier, and cheaper, to use a fixed system and just add additional systems as needed. Games are getting to the point where more of their processing will be parallel anyway so why cram it all into a single box? My guess for the PS4 would be a smaller, faster version of the PS3 that is CPU-compatible with more RAM, HDD, and possibly a better video chipset. I'd also take a guess at a mini rack-mount attachment where you can plug-in streamlined versions that don't have bluetooth, usb, a/v, etc built-in but that will fit into the nice little rack. The prices could come down, the systems could get a lot smaller, cooler, quieter, and less energy hungry, and performance could be increased rapidly instead of in five year leaps. Sony could sell the intitial units for prices parents wouldn't run from and offer affordable upgrading to the power of the system. A lot more people would shell out $200 three times than $600 once especially if it adds onto what they already have.
The Cell processor isn't just a Sony thing and is available to be added to any company's products. You can buy Blade servers that run a Cell processor. It's a real CPU and not just a toy CPU for some gaming console.
Developing distributed programs isn't that difficult. What is difficult is taking existing code libraries and tools and porting them to a distributed model. With game consoles and PC CPUs going towards that model though developers are going to have to make the change. Once your libraries and tools are designed for distributed programming it can be easier because you don't have to do things in time slices. Getting a lot of CPU intensive complex systems to run in tiny segments as you loop over them is a much bigger pain in the ass IMO.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
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.
Yes, and the sheep will explode with *amazing* detail.
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.
No they wouldn't. A couple thousand dollars per developer for a dev kit is a drop in the bucket compared to the production costs of a large game. Settling for a homebrew toolchain would cost far more in lost productivity than it would to buy the dev kits.
And even if Sony did open up the hardware completely for homebrew, you still need distribution channels. Considering PS3 games ship on 27 GB discs, they aren't very download friendly. And obviously there is a benefit to using Sony made discs with copy protection over downloadable games without copy protection.
This and other implementations (google's MapReduce algorithm, for example) prove the importance of parallelism for tomorrow's computing. I would love to have 10000 small general purpose CPUs on my machine without any custom chips than one monster general-purpose CPU and one mega-hardcoded GPU.
Some random thoughts:
The transputer was way ahead of its time.
The 100 year programming language would be the one that implements the Actor model most efficiently.
Nature's computation machines are not very fast, but they are vastly parallelized.