Slashdot Mirror


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."

21 of 135 comments (clear)

  1. Linux doesn't limit the SPEs by Anonymous Coward · · Score: 5, Informative

    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.

  2. Wrong by swissmonkey · · Score: 3, Informative

    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.

    1. Re:Wrong by prionic6 · · Score: 2, Informative

      I made the same mistake as you: I only read the older article that is linked last, so I thought the submitter did not notice that the rendering was done by a blade farm. But that Article is talking about an older project of the same group. The youtube video linked here is about a scene that is renderes in realtime by 3 network-linked PS3s. Just to clarify :)

  3. seven available SPEs; one used for DRM by maynard · · Score: 2, Informative

    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.

  4. Of course no RSX... by the+linux+geek · · Score: 2, Insightful

    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/

    1. Re:Of course no RSX... by MBCook · · Score: 2, Insightful

      Um... no. Ray tracing, by definition, CAN be hardware-accelerated. All that it is is tracing the path of light beams to build the image. It can be hardware accelerated. There have been projects in the past (university students, and even companies) to make hardware accelerators for ray-tracing.

      I'd love to see that definition that say it is not hardware-accelerated.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    2. Re:Of course no RSX... by suv4x4 · · Score: 3, Insightful

      Raytracing, by definition, is not hardware-accelerated. Of course the RSX isn't being used.

      Where is, if I may ask, this 'definition'?

  5. Re:Limits by Osty · · Score: 2, Informative

    This looks interesting at first but the arbitrary limitations placed on the PS3 seems to be a show stopper. I mean why pay $600 for a "performance" machine that isn't even given the chance to live up to its specs?

    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.

  6. Re:Some thoughts by MBCook · · Score: 4, Interesting

    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.
  7. Graphics applications by fistfullast33l · · Score: 4, Informative

    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.

    1. Re:Graphics applications by Anonymous Coward · · Score: 4, Informative

      Actually, he probably knows more than you. If you truly knew much about ray-tracing, you would understand why phrases like "real-time raytracing" are a big yawn for anyone with some experience. Ray-tracing can be arbitrarily scaled in complexity (given proper constraints). Heck, there was a game for the Atari Jaguar that claimed to do "real-time raytracing". If I gave you a scene of a thousand diffuse-shaded spheres, I could raytrace that in realtime on a PS2. If I gave you a scene of a thousand semi-transclucent marbles contained in a glass vase on a glass table in a hall of mirrors, I don't care how many PS3s you throw at it, it won't be able to raytrace something that looks good in realtime. If you limit the number of ray bounces and ray transmissions for the Cell to finish it in "realtime", it will look like ass. So "real-time raytracing" is just some amorphous term that sounds cool, but is meaningless as a performance metric. I was using a 3D package in 1992 that did "realtime interactive raytracing" on a machine with 1/100th the CPU power of a PS3. Sometimes it was realtime, sometimes it wasn't. It is all dependent on the scene complexity. Plus, you can get to photorealism (the ultimate goal, right) much more efficiently than via ray-tracing so what's the point?

    2. Re:Graphics applications by Darkfred · · Score: 2, Informative

      As an actual Games Programmer, in Graphics engines, I have to agree with you. The other thing to note is that ray tracing is by no means a speed benchmark as it is very implementation and scene specific. We had real time raytracing of in the demo scene 10 years ago and earlier. On a system 1/1000 or less the power of the PS3. And it would be a simple matter to whip up a similar pc demo. You'd just have to tweak the settings controlling density of rays for antialiasing and reflection calculations, it probably wouldn't be distinguishable.

      --
      ----- 70% of all statistics are completely made up.
  8. Re:Some thoughts by AKAImBatman · · Score: 2, Interesting

    Wait... He hooked up three PS3's to do real-time raytracing, and you _don't_ find it impressive?

    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. :-/
  9. Look out Hollywood. by Odinson · · Score: 2, Interesting
    Notible, fully animated, $3000 budget movies with desktop directors should show up in the next couple of years. The first software vendor to sell a wide open game engine with a diverse enviornment like GTA, WOW, etc and an explicit disclaimer that they won't sue you or ask for a cut if you make financially successful commercial movies with it will make a killing!

    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)

    :)

  10. Re:Limits by Abcd1234 · · Score: 2, Informative

    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.

  11. Re:I'd buy. by MikeFM · · Score: 2, Interesting

    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.
  12. Re:Polygon? by The+boojum · · Score: 3, Informative

    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.

  13. Re:It's a simple scene, of course... but... by SirLoadALot · · Score: 2, Funny

    Yes, and the sheep will explode with *amazing* detail.

  14. Re:Some thoughts by nickthecook · · Score: 2, Informative

    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.

  15. Re:Limits by edwdig · · Score: 2, Insightful

    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.

  16. Importance of parallelism by master_p · · Score: 2

    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.