Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • 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 thr

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

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

      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.

    • by fistfullast33l (819270) on Thursday April 05 2007, @04:18PM (#18627197) Homepage Journal
      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.
      • Re: (Score:2, Interesting)

        Umm, I think you have Radiosity confused with ray tracing.

        I do not. But I can't find a citation, either. They definitely didn't use radiosity, which tends to take more CPU to do right than the raytracing itself does. (I'm no graphics expert, but I've spent a fair bit of time noodling around with 3d graphics, mostly with Lightwave 3D.)

        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.

        The two ar

        • Radiosity is definitely used in games, because while the straight-forward algorithm is slower than raytracing, you can do some fancy tricks with precalculating certain characteristics of the scene, that makes it possible to do in realtime. Here is an article that explains it in detail [gamedev.net]. Don't know what Black & White was using.
        • Radosity is very expensive to compute, uses a lot of memory, etc. That's why it's precomputed. Much like how "light maps" are precomputed for use with static geometry.
      • IF you have a spare processor and your buddy doesn't, is it efficient for him to borrow your CPU time?

        Only if he plans on PAYING for it. That CPU time isn't free.

        The PS3 is reported to run 220W when running folding@home.

        In New York, the average residential cost of power in 2006 was 16.86 cents: (http://www.ppinys.org/reports/jtf/electricprices. html)

        So 220W or 0.22kW x .1686 $/kWh x 24h/day x 365days/year is: $324.93 per year

        The price of residential electricity in California is 14.32 which is slightly less.
      • 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?
      • Re: (Score:3, 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 probabl
    • Wait... He hooked up three PS3's to do real-time raytracing, and you _don't_ find it impressive? Sure it's not entirely novel, but it sure does make you drool slightly.

      Or... Perhaps 3 isn't enough, wake me up when he makes a 50 node PS3 Beowulf cluster?
      • Wait... He hooked up three PS3's to do real-time raytracing, and you _don't_ find it impressive? Sure it's not entirely novel, but it sure does make you drool slightly.

        Why should I find it impressive when a cluster of machines does realtime raytracing? What's the news here? That you can do it with a small number of machines by using PS3s? In a year or two the PS3 will be slow, old news.

      • Re: (Score:3, 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 [uni-sb.de] of FPGAs [uni-sb.de] 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. [realstorm.com]

        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 nothin

    • I disagree. I think making games work on multiple gaming units instead of constantly forcing an upgrade to a newer model is a better idea. In five years when a PS3 costs $200 I'd be glad to buy a second one or even a third for newer more intensive games. I'd love to see a little icon on the box saying that the game requires two units. I'd hope they'd make it more user-friendly to network the machines together by that time though.

      I'd love to see a massive world that could be raytraced in movie quality during
      • I disagree. I think making games work on multiple gaming units instead of constantly forcing an upgrade to a newer model is a better idea. In five years when a PS3 costs $200 I'd be glad to buy a second one or even a third for newer more intensive games.

        And in five years they will have brought out a new platform, whether you want them to or not, and no one will be making games for your platform.

        As I remember they said that as they get Cell processors into other consumer electronics that some of the work c

        • To extend your arguement, you also tend to see the same problem PC gaming sees once you start stringing multiple Cells together.

          One is, these things never work %100 of the time - manufacturers dick around with specs to save a few cents, and suddenly you have Cell-based systems that don't even talk to each other.

          The second is this: once you have people connecting multiple PS3s, you end up with the same problem PC gamers see: games either target the lowest-common platform (one PS3), or they target multiple pe
        • Re: (Score:3, 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 cheape
      • Actually, there are 8 SPEs, but one is ALWAYS disabled on the PS3. AFAIK it's done in hardware. I assume that it's done to improve yields but I've never heard any concrete answer on that. You may be right that the seventh SPE is used for the Hypervisor, but an article I read stated specifically that it was used by the kernel.
        • If i remember correctly it was based on the fact that IBM's manufacture of the Cell processor resulted in huge numbers of chips which didn't have the full 8 functioning cores. I remember figures of 40% being thrown about that weren't functioning properly. Now if you say that you only need 7 of the 8 cores functional then you're saving a lot of money.

          Of course, it's not fair for a PS3 to have 7 or 8 cores and nor is it easy to manage, so ensure that all PS3s have a 7 core limit.
  • 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.
  • Wrong (Score:4, Informative)

    by swissmonkey (535779) on Thursday April 05 2007, @04:02PM (#18626919) Homepage
    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.
  • 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]
    • Re: (Score:3, 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.

      • I believe that the grandparent was referring to the hardware acceleration that common GPUs provide, which is fairly useless for raytracing.

        This is not to say that ray tracing can't be accelerated by providing the appropriate routines in hardware, just that there's a mismatch between what is needed for ray-tracing and what nVidia et al. provide to support OpenGL and DirectX, so even if the graphics hardware on the PS-3 were available in Linux, it wouldn't be that beneficial for this project.

        • Modern graphics hardware is actually quite programmable. Although this RSX is based off of the G70, not the G80 (which is essentially a specialized stream processor), you can probably do some interesting General-Purpose GPU [gpgpu.org] things on it.
    • Raytracing, by definition, is not hardware-accelerated. Of course the RSX isn't being used

      Well, isn't a graphics chip just a piece of specialized instructions optimized for graphics applications? The point I think the developers are making is not that the RSX would be useless for the ray tracing calculations due to the fact that it's not specialized for those algorithms, but that the graphics display in the end (polygon rendering, shading, etc.) is not accelerated either - you're getting raw processing fro
    • by suv4x4 (956391) on Thursday April 05 2007, @04:27PM (#18627329)
      Raytracing, by definition, is not hardware-accelerated. Of course the RSX isn't being used.

      Where is, if I may ask, this 'definition'?
  • 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).
  • 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 te
    • As I remember, that figure is only given so it can be compared to traditional techniques. Polygons are "free" in ray-tracing. It doesn't matter if you have one giant polygon, or 100,000 little ones; they should render at roughly the same speed (memory and such makes up for the difference). Since you only draw what's visible (where in rasterized drawing you have to draw everything, tricks help reduce overdraw but it's still there) it doesn't matter how many polygons you have. Ray-tracing is relatively consta

      • 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.
  • 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 ra
  • Look out Hollywood. (Score:3, Interesting)

    by Odinson (4523) on Thursday April 05 2007, @04:55PM (#18627717) Homepage Journal
    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)

    :)

    • [blockquote]Your civilization has built the Internet.(+2sci) This obsoletes the Hollywood wonder.(+1hap)[/blockquote]
      Too bad the effects of The Internet expire with the creation of the RIAA/MPAA Wonder.
      • All these people are being paid real money to do real work. Now some of them are doing paper pushing due to the shear size of the crew, but these are not in the majority. [...] They need all these warm bodies because MOVIES ARE COMPLEX AND HARD TO MAKE.

        They're a lot more complex (at least in terms of number of people required) when you're dealing with physical sets and actors.

        Look at how many of those names are gaffers, grips, wranglers, medics, coaches, assistants, stunt men, stand-ins... you don't need people to keep track of props when your props are all digital. You don't need to ensure actors' safety when all the actors do is speak into a microphone. You don't need trained, unionized electricians hooking up your lights when you can add new light sou

          • So all you've done is pushed all their duties onto one person's shoulders.

            Not quite. You can completely eliminate many of the tasks that have no purpose in the virtual world (CGI actors don't need medics, assistants, makeup artists, or craft services), and many of the other tasks can be performed by fewer people in less time.

            Virtual set or real set, someone still has to create it. Same with props. Part of the reason we have "division of labour" is that there is only so many hours in a day, and one person can't be an expert in everything.

            Correct. To make something good, you'll still need a team of artists and modelers. But that doesn't mean you aren't saving a ton of time and money!

            One or two people can build a virtual set in a matter of hours. They don't need building materials, paint, lad

  • 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].

    • Armored... Core...

      ARMORED... CORE...

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

      armored... core...
      • First off, while I loved the original Armored Core, the series has kind of lost its way since then, and AC4 has gotten some really mediocre reviews.

        Secondly, you can also get it for the Xbox 360 [gamespot.com] so that's hardly a compelling reason to get a PS3. Especially since AC4 for the Xbox 360 makes use of Live, which is missing on the PS3 side.

        • Armored Core always gets mediocre reviews. It's like a rule or something.

          But the GGP poster didn't ask for exclusives - just for games worth playing... Not that it matters, AC Zombie doesn't discriminate, he just hungers, hungers for Armored Core....

          (Armored Core Zombie prefers Kawamori-infused Armored Core, but Armored Core Zombie will take what Armored Core Zombie can get...)
    • Re: (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 ful

      • Re: (Score:3, 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
        • Hasn't it occurred to you that those "professional publishing houses, with their multi-million-dollar budgets and professional artists, composers, and so forth" would be developing "homebrew" if they could avoid license fees? Sony wouldn't want that.
          • Re: (Score:3, 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 prote
        • I think you're right. The cost of the dev kit hardware, while considerable, pales in comparison to the basic platform licensing costs.
    • 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. :)