Stories
Slash Boxes
Comments

News for nerds, stuff that matters

PS3 Linux Performs Real Time Ray Tracing

Posted by Zonk on Thu Apr 05, 2007 03:46 PM
from the sweet-hotness dept.
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."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Some thoughts (Score:2, Interesting)

    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.

    that's not a strictly accurate description of the situation, although it's close. Linux doesn't limit it, it uses one SPE for its own benefit. So 7 SPEs are in use, just as they are when playing games, but one of them is consumed by the kernel.

    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.

    I know there's been some limited applications of realtime raytracing in gaming. IIRC your temple in Black & White had some in the ceiling. But I'm talking about actually useful effects, not just some non-play-related eye candy.

    • Re:Some thoughts (Score:5, Interesting)

      by MBCook (132727) <foobarsoft@foobarsoft.com> on Thursday April 05 2007, @04:09PM (#18627023)
      (http://www.foobarsoft.com/)

      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.

      [ Parent ]
    • Graphics applications (Score:5, Informative)

      by fistfullast33l (819270) on Thursday April 05 2007, @04:18PM (#18627197)
      (http://www.digitalplight.com/ | Last Journal: Thursday September 27, @10:26AM)
      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 [wikipedia.org] confused with ray tracing. [wikipedia.org]

      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.
      [ Parent ]
      • Re:Graphics applications by drinkypoo (Score:2) Thursday April 05 2007, @04:27PM
      • Re:Graphics applications by vux984 (Score:2) Thursday April 05 2007, @07:25PM
      • Re:Graphics applications (Score:4, Informative)

        by Anonymous Coward on Thursday April 05 2007, @07:32PM (#18629455)
        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?
        [ Parent ]
      • Re:Graphics applications by Darkfred (Score:3) Thursday April 05 2007, @08:30PM
      • Re:Graphics applications by init100 (Score:2) Friday April 06 2007, @03:45AM
    • Re:Some thoughts by Rakshasa Taisab (Score:2) Thursday April 05 2007, @04:22PM
    • Re:Some thoughts by 3p1c (Score:1) Thursday April 05 2007, @04:28PM
    • I'd buy. by MikeFM (Score:2) Thursday April 05 2007, @04:35PM
      • Re:I'd buy. by drinkypoo (Score:2) Thursday April 05 2007, @04:48PM
        • Re:I'd buy. by default luser (Score:2) Thursday April 05 2007, @05:06PM
        • Re:I'd buy. by MikeFM (Score:3) Thursday April 05 2007, @05:14PM
      • Re:I'd buy. by Broken scope (Score:1) Thursday April 05 2007, @06:13PM
        • Re:I'd buy. by Broken scope (Score:2) Friday April 06 2007, @10:09PM
    • Correction by Anonymous Coward (Score:1) Thursday April 05 2007, @06:50PM
    • Re:Some thoughts by nickthecook (Score:2) Thursday April 05 2007, @09:18PM
    • Re:Some thoughts by jimstapleton (Score:2) Friday April 06 2007, @07:03AM
    • Re:Some thoughts by Kupek (Score:2) Friday April 06 2007, @08:50AM
    • 1 reply beneath your current threshold.
  • Linux doesn't limit the SPEs (Score:5, Informative)

    by Anonymous Coward on Thursday April 05 2007, @03:59PM (#18626877)
    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.
  • Limits (Score:1, Insightful)

    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?
    • Re:Limits by Osty (Score:2) Thursday April 05 2007, @04:08PM
      • Re:Limits by Abcd1234 (Score:3) Thursday April 05 2007, @05:00PM
        • Re:Limits by Burpmaster (Score:2) Thursday April 05 2007, @05:39PM
          • Re:Limits by bn557 (Score:1) Thursday April 05 2007, @07:28PM
          • Re:Limits by nuzak (Score:2) Thursday April 05 2007, @09:41PM
          • Re:Limits by edwdig (Score:3) Thursday April 05 2007, @09:58PM
            • Re:Limits by ozphx (Score:1) Sunday April 08 2007, @06:32AM
        • Re:Limits by Osty (Score:1) Thursday April 05 2007, @06:05PM
        • Re:Limits by Castar (Score:2) Thursday April 05 2007, @07:17PM
    • Re:Limits by MDiehr (Score:1) Thursday April 05 2007, @04:16PM
  • Wrong (Score:4, Informative)

    by swissmonkey (535779) on Thursday April 05 2007, @04:02PM (#18626919)
    (http://slashdot.org/)
    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.
    • Re:Wrong by prionic6 (Score:2) Friday April 06 2007, @07:08AM
    • Re:Wrong by mderdem (Score:1) Saturday April 07 2007, @11:00AM
    • 1 reply beneath your current threshold.
  • 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.
  • Of course no RSX... (Score:3, Insightful)

    by the linux geek (799780) on Thursday April 05 2007, @04:04PM (#18626967)
    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/ [uni-sb.de]
  • After all, with all those Cell processors, cranking out Ray goodness is a plus.

    Now, if they could just grok that the lack of high quality games on the PS3 is not helping - and ditch the Blu-Ray drive that noone wants and/or needs they could drop the price to something reasonable.
  • I recall early rumours about the PS3 having 39 processors, 4 cell chips with 9 each, plus 1 supervising CPU.

    If only Sony had stuck with that and given us a machine that could real-time raytrace, then I probably would be queueing up to spend $837 on it (UK price of £425 converted at today's exchange rate).
  • Polygon? (Score:2)

    by RyanFenton (230700) on Thursday April 05 2007, @04:20PM (#18627221)
    Does the polygon rating mean that much in terms of ray tracing performance? From what I've done with raytracing, most objects exist as geometric additions/subtractions of primitive shapes. A door would be a cube transformed to be stretched into a rectangular plank, plus a couple cylinders for the various parts of the door handle, plus a sphere for the handle end, minus a series of cubes for the lock opening shape. Polygons only come into play outside the engine, when you're trying to decide how to map textures across objects, then you'd want to represent the side they're painting as a polygon - but only before it goes to the engine, it would just be a single texture for all sides wrapped around the visible object. You might have a separate polygon primitive, but I'd think it would be one of the least ones used, in terms of raytracing efficiency.

    You can cheat a lot in comparing polys to primitives when it comes to comparing raytracers to polygon engines. Still, it's been a while since I've played with raytracers, and I'm interested in what I've missed - this seems like it would be a real treat to see in action.

    Ryan Fenton
    • Re:Polygon? by MBCook (Score:2) Thursday April 05 2007, @05:11PM
      • Re:Polygon? (Score:4, Informative)

        by The boojum (70419) on Thursday April 05 2007, @05:50PM (#18628401)
        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.
        [ Parent ]
        • 1 reply beneath your current threshold.
  • Impressive? (Score:1)

    by AbsoluteXyro (1048620) on Thursday April 05 2007, @04:28PM (#18627351)
    I'll be the first to admit that I don't know much of anything about ray tracing... but I should hope an $1,800+ setup could render a single automobile in 3D.
    • Re:Impressive? by Talgrath (Score:1) Thursday April 05 2007, @07:34PM
    • 1 reply beneath your current threshold.
  • But this means that maybe another factor of four in performance will allow for simple scenes to be fully raytraced using general purpose processors. But raytracing is an "embarassingly parallelizable" problem, so a dedicated ray processing unit (RPU, by analogy to CPU, GPU, and PPU) could probably provide that factor of four performance improvement today, per ray pipeline, and fit many more ray pipelines than generally programmable cells on the same silicon...

    So does this mean we're on the edge of having raytraced rendering in specialised video cards? Will nVidia's rayForce 9Z800 show up running 40 FPS raytraced Warcraft in a few years?
  • Look out Hollywood. (Score:3, Interesting)

    by Odinson (4523) on Thursday April 05 2007, @04:55PM (#18627717)
    (http://www.warcloud.net/~odinson/ | Last Journal: Wednesday January 14 2004, @11:43AM)
    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)

    :)

  • by anss123 (985305) on Thursday April 05 2007, @04:55PM (#18627725)
    It can! Doesn't look very nice, granted, but it did it! That makes it as powerful as a PS3, right? Because we need the power of the PS3 for real time ray tracing. Wheee.
  • Imagine a Beowulf cluster of these.
  • by Bones3D_mac (324952) on Friday April 06 2007, @02:27AM (#18631741)
    While it seems like a good idea on paper, shared processing for gaming may not be so great in practice. In order for a shared processing setup to really be used reliably, wouldn't it require taking control out of the hands of the user and contractually forcing them into maintaining a set number of "always connected" hours at a set bandwith for a set number of processor cycles, so a bare minimum of threads across all connected systems can be processed for each node on the entire network?

    If not, does that mean game developers will only produce games that run well on a single, unnetworked system? Or, would we have a huge mess of games whose performance is so inconsistent that it can't be benchmarked due to constantly changing network/node conditions? Does this mean we might one day face such oddities as being unable to play certain games on our brand new next-next gen consoles because there's insufficient processing power available from other nodes on the network to handle the minimum requirements?

    I could see this becoming a tech support nightmare on the launch date of such a system when the first few dozen users can't get their system to do anything other than boot up to a menu and a single task bar saying something like "waiting for sufficient processing power from the network... one moment please."
  • by DohnJoe (900898) on Friday April 06 2007, @04:03AM (#18632043)
    anyone else noticed they were not using any textures (except for the sky maybe)?

    I guess the SPU's limited memory may have something to do with this, so maybe procedural textures would be the way to solve this.
  • by master_p (608214) on Friday April 06 2007, @04:10AM (#18632059)

    This and other implementations (google's MapReduce [wikipedia.org] 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 [wikipedia.org] was way ahead of its time.

    The 100 year programming language would be the one that implements the Actor [wikipedia.org] model most efficiently.

    Nature's computation machines are not very fast, but they are vastly parallelized [wikipedia.org].

  • You know... (Score:1)

    by Guppy06 (410832) <diwancio@@@earthlink...net> on Friday April 06 2007, @08:42AM (#18633375)
    (Last Journal: Saturday October 27, @04:36PM)
    ... there's a joke here somewhere comparing the library of games for Linux to the library of games for the PS3.
  • by deathsquirrel (956752) on Friday April 06 2007, @09:41AM (#18634031)
    It may have been mentiond but using 6 spes isn't less than the full potential of the PS3. It's generally more. There are 8 but sony shut one down at the factory. Number 7 is reserved for the OS. Number 6 is required to be made available to the OS at the drop of a hat. That means that games can count on having 5 available.
  • by rsilvergun (571051) on Sunday April 08 2007, @04:46PM (#18657937)
    I mean, there's no way you could actually find 3 wii's to purchase for networking, let alone get your grandparents to stop playing bowling long enough to do the rendering.
  • bah. (Score:1)

    by Synt4x_3rr0r (921206) on Monday April 09 2007, @09:17AM (#18662575)
    So what if it can do realtime ray tracing? It's nothing new at all. My bloody Atari 1040 ST can do realtime raytracing rendering ffs, as proven in a demo for it, which name i have forgotten. And the 1040 ST has only an 8mhz M68k CPU with 1MB of RAM, no graphics chip what so ever :P Ofcource, it looks alot better on a PS3, but again, its nothing new :)
  • by MS-06FZ (832329) on Thursday April 05 2007, @04:04PM (#18626953)
    (http://1-4-4.home.comcast.net/ | Last Journal: Wednesday March 01 2006, @03:16PM)
    Armored... Core...

    ARMORED... CORE...

    Armored... RAVEN! RAVEN! AAUGH! Aaa -

    armored... core...
    [ Parent ]
  • by Anonymous Coward on Thursday April 05 2007, @04:49PM (#18627657)
    Ah, the Xbox fanboy, shocked to discover that the PS3 really might be more powerful than his little console.

    This demonstrates that one of the more common Slashdot anti-PS3 memes is simply untrue: you really can do useful things with Linux on the PS3. That alone makes it worthy of Slashdot and also demonstrates a very powerful feature of the PS3 that the Xbox 360 simply lacks.

    This is Linux, on the PS3, being clustered together to show something really cool.

    How you've managed to corrupt that into a "PS3 is unimportant" I'll never be able to understand.

    The PS3 is open enough that they were able to take off-the-shelf PS3s and write clustering software to generate a single HD image. That's pretty cool and a testement to the power of the PS3, no matter what the Xbox fans think.
    [ Parent ]
    • 1 reply beneath your current threshold.
  • by Caffeinate (1031648) on Thursday April 05 2007, @05:33PM (#18628155)
    Are you serious? The implications of a device capable of performing calculations with that level of precision on a model that good would be a huge step forward in computing technology!

    I know I shouldn't feed the troll, but to paraphrase Malcolm Reynolds, it is occasionally hilarious.
    [ Parent ]
  • by Doctor_Jest (688315) * on Thursday April 05 2007, @08:45PM (#18630019)
    I smell bitter "can't afford a PS3" syndrome.

    It's okay... I can't afford a ferrari either, but when one of them goes 200mph on a freeway, I still think it's neat. :)

    It's funny... laugh. :)
    [ Parent ]
  • 6 replies beneath your current threshold.