Slashdot Mirror


World's First Physics Processing Unit

Duane writes "Gamers Depot has an exclusive interview with the team behind Ageia - the maker of the world's first Physics Processing Unit (PPU) - which was just announced today. "Sure we've all heard about the CPU and GPU - that's old hat by now and as most hardware reviewers will tell you, it's about time we got something that's truly revolutionary. Yeah, Pixel shaders are cool, and can do a lot of really nice things; however, pale in comparison in scope to what the PhysX chip from Ageia has the potential to bring to gaming.""

25 of 494 comments (clear)

  1. Interesting idea by Dark+Paladin · · Score: 4, Interesting

    I just finished reading the article, and this actually has some potential.

    The biggest problem they're going to have to deal with, and granted, I'm not a game developer so someone can feel free to fill in the details, is that I would believe that most developers have their own method for dealing with physics - from simple collision to ragdoll and the like. The idea is "How do I tell the computer these things are touching each other' (like bullets - these are "instant shot", so the developer just says "if there's a straight line between the direction the Player A is facing, and if that line would intersect Player B, then it's a hit. If not, then miss." And algorithms like that are done by matrixes, if I'm not mistaken. Other "hits" deal with actual objects (rockets moving, goops from the goop gun, etc).

    But the difference between Quake III and Unreal Tournament is more than just 'draw the graphics", it's also in how each engine deals with how those collisions are managed.

    So with a PPU, you have to decide on a common library of collisions. Good news: more objects you can play with and let the PPU decide what's getting hit. Bad news: everybody's game will react basically the same and they'll have to decide if that's a good idea.

    Either way, I'll wait a year or so and see what happens. Best of luck to the developers - looks like they're at least shooting for something unique.

    1. Re:Interesting idea by dillon_rinker · · Score: 2, Interesting

      Physics processing boils down to one thing:

      INTERSECTIONS (sometimes known as collisions)

      If all solid objects are rendered as sets of triangles, it is conceptually simple to have the physics engine report back which triangles are intersecting each other. Ideally the engine is sophisticated enough to report when a triangle from set A intersects with a triangle from set B (where A and B might be the set of triangles that make up a player and the set of triangles that make up a rocket, respectively).

      Determining the effect of instant shot weapons is easy enough also; if all three vertexes of a "triangle" are on the same line, the "triangle" is a line. Instead of bullets, you "draw" an invisible "triangle" in the direction the gun is pointing and see if it intersects with anything interesting.

      If two sets of triangles intersect, the software can determine what should happen, but the hard part, computationally, is figuring out when those intersections occur.

    2. Re:Interesting idea by genneth · · Score: 2, Interesting

      Actually, it wouldn't require the physics to be the same. Just like graphics are not the same between Doom 3 and an X server using GL for accelerated window drawing, they can both be sped up by OpenGL. For example, one of the biggest "sinks" for CPU power with physics simulation is collision detection. The algorithm for collision detection between (N-dimensional) polyhedral objects, optimised with interframe computation re-use, is already very well known -- it's the Lin-Canny algorithm, and manages amortized constant time checks (wrt to object polygon count). But the test still takes a huge part of the processing time needed for rigid body simulations, and the general algorithm and data structure could be offloaded to a co-processor. It's the sort of thing that every engine, whether 3d or side-scrolling or weird 5D plutonian steam hockey would need.

  2. Re:There's a white paper on their web site... by daVinci1980 · · Score: 2, Interesting

    Try the whitepapers here.

    They have very good info, and little-to-no marketting BS.

    --
    I currently have no clever signature witicism to add here.
  3. Here's why it matters by Deep+Fried+Geekboy · · Score: 5, Interesting

    If you have a game like Unreal Tournament 2004, it is the physics processing that really kills your framerate, no matter how good your GPU. You can see this by simply swapping between the Deathmatch and Onslaught gametypes. The Onslaught world is filled with vehicles which run off the Karma physics engine, and they KILL your framerate, so that the game effectively becomes CPU-throttled, instead of GPU-throttled (which is what we are used to). A PPU is a genuinely brilliant idea, and relatively easy to implement. It will be interesting to see what the programming interface is... and whether the board runs an engine like Karma or something they've invented all for themselves. Prepare to be amazed, I think.

    --

    I'm not wrong. You haven't thought about it hard enough.

    1. Re:Here's why it matters by oliverthered · · Score: 2, Interesting

      What makes you think this isn't killing the graphics side of things?

      If you look at most games they have static worlds, so why don't they have move moving parts like doors, windows, fans, windmills, fixed physics holes blown in walls even if there's no physics attached to them?

      Because move able objects kill all you attempts to optimise the 3D objects, BSP doesn't work for deformables, QTrees can be done, but it's quite intensive and you have to use non-uniform QTrees which are a lot slower.

      So for a PPU to work it must be able to deal with space processing as well as just hard physics.
      Infact if the space processing was performed on fast off CPU processors then you'd be able to do a lot more physics on the CPU.

      --
      thank God the internet isn't a human right.
    2. Re:Here's why it matters by clutch110 · · Score: 5, Interesting
      Here is a link to an Epic developer talking about how the Unreal 3 engine will use this PPU.

      Very interesting technology, comes with its own SDK and should be able to handle many times the amount of physics based objects in a game than the CPU can handle now.

  4. how bout in bots rather than games by _ph1ux_ · · Score: 2, Interesting

    I think it would be interesting to PPUs in use in robotics. Maybe these devices can give better balance sensors - or provide intrinsic abilities for robots to know/sense how to navigate and interact within the world.

    Shouldnt mechs use this to create highly mobile bipedal motion with a good ability to balance in chaotic environments (fast paced combat)

    ???

  5. Nice pictures, nice blurb by turgid · · Score: 4, Interesting
    but what the heck is it? Is it just a RISC processor with lots of FP SIMD units for doing lots of sums in a hurry? Is it VLIW? Is it related to any existing CPUs? Is it just the next evolutionary development of the current generation of GPUs?

    Pictures of boards are all well and good, and the martketing hype is fun, but we need to know.

  6. Re:There's a white paper on their web site... by Anonymous Coward · · Score: 1, Interesting

    "I haven't seen a proper white paper since the www took off"...

    Try NASA's Technical Report Server. Very handy.

  7. Excellent, fascinating, BUT.... by TomorrowPlusX · · Score: 5, Interesting

    I'm not a professional developer... that said I'm developing both a robotic simulation API/framework and a game, both in my free time, both *heavily* use the open dynamics engine for physics.

    The Open Dynamics Engine is free, & open source. It's not the best physics engine, by any margin. However, being open source I can afford it... and most importantly I can use it on my Mac ( hell, I actually provided some patches to get it to correctly use single-precision trig when OS X.3 came out ). Plus, I want to release my game and robot simulator under an open source license... can't expect people to *buy* novodex or havok just to build the apps.

    This PPU looks like a *wonderful* thing, but reading their site, and the interview, it sounds like to use it you've got to use Novodex. That said, Novodex is awesome -- and many games use Novodex already for physics.

    (Perhaps I missed something, maybe Novodex is just an API wrapper. Maybe they'll have a low-level API which you can bind to as you want. )

    But the thing is, I'd like to be able to buy one of these boards and *not* have to shell out for a developer license for an API which isn't even available on Mac ( maybe it is ). Also, both my simulator and game are intended to be released under an open source license at some point. So, no novodex for me. So, no PPU for me.

    Perhaps we're just a little short on data at the moment.

    --

    lorem ipsum, dolor sit amet
  8. And we will be getting this how? by Telvin_3d · · Score: 2, Interesting

    I would be far more excited if they had any information on how this great new chip was going to be distributed. Are they working with ATI or NVIDIA to integrate this new chip onto existing graphics cards? Might be the only way they will make use of the full bandwidth on the PCI-E slots ;) Or are they working on getting a new type of card out onto the market? And if so, have they talked to the motherboard manufacturers on the type of requirements that it might need? Nice announcement. And I hope that it pans out, but I would appreciate a little less "Look at our big announcement on how we will change everything" and a little more real information on how they plan to do it.

  9. There is already a PPU for PCs! by Anonymous Coward · · Score: 1, Interesting

    And it is definitely worth a full-on article Slashdot article of its own, but here it is anyway (Coral cache) and (Google cache with appropriate highlighting). :)

    This PPU is from October 2004, and is from the creator of the Devtendo and Grand Theftendo. (both = Coral cache)

  10. Re:First Impression, This is stupid. by RichardX · · Score: 4, Interesting

    1) Games do not use Real Physics, they fake it. If they didn't fake it, you wouldn't want to play it.

    Games also do not use Real Graphics (whatever that would be. Raytracing, presumably) - instead they fake it. And yet they still benefit a hell of a lot from GPU cards.

    This card does not force physics to be realistic - there's nothing stopping a developer making cars that go at 600 MPH, or having characters leap a tall building in a single bound. It just enables things like that to be done much easier, and more convincingly.

    2) Processors are currently faster then what programs can use(If programmed correctly). It is going to take a few years before games keep up with Processors.

    Only because of your GPU. Go on, take that baby out of there and fire up Doom 3. Whoops! Where'd your framerate go?
    The reason most games fly on current hardware is because they offload most of the work to the GPU. The major tasks outside of graphics are physics and AI - and the physics are getting increasingly more complex as games become more realistic.
    Those lovely flying ragdoll bodies have to be calculated somewhere, y'know.

    3) Why not just have two general purpose processors. Multithreading is getting pretty common. What would the added advantage between having a seperate processor just for Physics,then having two general usage processors?

    Again, the same could be said about a GPU. This does bring up an interesting point, however. If this takes off it won't be long before you have a GPU, soundcard (with hardware 3D audio), PPU, probably some kind of AI hardware card...
    how long before someone goes "Hey! I know! Why don't we combine all these things into a generic processor.. I know.. we could call it a.. uh.. CPU!"

    --
    Curiosity was framed. Ignorance killed the cat.
  11. IMPORTANT ADDENDUM by Anonymous Coward · · Score: 1, Interesting

    Sorry to reply to myself (it's okay, I'm AC, just pretend I'm another person), but:

    PLEASE do not hammer the original website I linked to in the previous post. I did not warn the webmaster that I would be posting links to his awesome site on Slashdot, albeit in the form of Coral cache and Google cache links.

    Moderators and editors: If the parent post gets moderated up, please also mod this post so people are adequately warned. I'm just trying to give a responsible heads-up here. And if an editor wants to post an article about any of Mr. Provinciano's NES-based projects that I linked to here, please feel free to cite AC as the source of the story. Thanks!

  12. Back in 1979 ... by Knx · · Score: 2, Interesting

    MVI $0018, R0
    ANDI #$2, R0
    BNEQ @@kaboom

    Back in 1979, that's how you would have 'asked' the STIC (Standard Television Interface Chip) of the Intellivision whether MOB (Moveable OBject) #0 collides with MOB #1. Typically, MOB #0 could be a cool 8x16 pixels character and MOB #1, say, a funky 2x2 pixels bullet.

    Yup: that's a hardware collision detection, commonly used to drive some important 'physics' of the game and save quite a lot of precious CPU cycles (remember that I'm talking about a 895Khz machine of the early 80's).

    And no: this thing is not the World's First Physics Processing Unit! It's just ... er ... slightly more sophisticated. :-)

    Just an example among others, of course.

    --
    The problem with Slashdot memes is that YOU INSENSITIVE CLOD!
  13. But most physics happens on the server ... by ANeufeld · · Score: 2, Interesting

    ... not the client, in MMORPG's.

    The reason is the client can be hacked to allow the player do violate the rules, like walking through walls, etc.

    A PPU on the server might help the server support more complex environments, more users per server, etc.

    For stand alone games, and scientific applications, this is a pretty neat idea. But I don't think the power-gamers are going to be purchasing extra hardware that just sits there, while the server does the physics.

  14. PCI-E bandwidth by Anita+Coney · · Score: 2, Interesting

    Doesn't a PCI-E slot have enough bandwidth to include a PPU on the GPU?! If a PPU is a good idea, then it would seem that nVidia or ATI could simply slap a chip on their own cards and sell them for more money.

    BTW, never in my life did I ever think I'd say the phrase, "PPU on the GPU"!

    --
    If someone says he and his monkey have nothing to hide, they almost certainly do.
  15. Putting everything on seperate units by bonch · · Score: 3, Interesting

    We've already pushed off sound, graphics, and now physics onto seperate processors. Why not just craft an entire game console onto a single card and be done with it? Jeesh.

    1. Re:Putting everything on seperate units by Surt · · Score: 5, Interesting

      A game console doesn't have one of these (yet), nor are even the next generation likely to.

      What this is suggesting is rather that games are for the most part not general purpose tasks, and that as a result general purpose cpus can be grossly outperformed by special purpose cpus. Once you reach that notion, then you just have to decide what the set of special purpose cpus you need are. It's a repeating process where parallelizable areas of the codebase are identified, and special purpose cpus are crafted to handle them, so that the performance limiting area of code keeps moving to some task for which the special purpose chip hasn't yet been built.

      For quite some time the graphics capabilities of the GPUs has been the limiting factor in effectively conveying the game designer's intended experience. We're now reaching the point where the GPUs are so effective that what now looks 'wrong' has more to do with physics simulation than with graphic rendering. (Though I'll still say that there are 3 or 4 generations of graphics improvements yet to come that will still have a significant effect, it's just that now it has reached the point where it is no longer clear that more GPU improvements will have the _largest_ effect on perceived quality.)

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:Putting everything on seperate units by AltaMannen · · Score: 2, Interesting

      "A game console doesn't have one of these (yet), nor are even the next generation likely to."

      I don't get what is so different between a GPU and this PPU thing. A GPU is mainly multiplying vectors and matrices and dot products and division, physics simulation is not very different, although the result is handled differently. As far as current consoles, the PS2 VUs are able to handle a lot of physics related tasks, and with the CELL in PS3 I'm hoping for even more capable physics handling. I'd like to see more specs on this thing before I write it off completely though.

  16. Interesting idea, even if vaporware by graphicsguy · · Score: 2, Interesting

    Having a dedicated physics processor seems like an interesting idea, even if the press release here is just some vaporware.

    For such a processor to succeed, we probably need some similar properties that have driven the success of the graphics processor.

    1. The problem should be embarrassingly parallel.
    2. We need to reduce the most common physics processing problems to a simple API and data flow model.
    3. The above data flow model should offer some advantage over just crunching the data on a second or third CPU.

    We can do various types of physics simulations on the CPU and the GPU today. In some cases, we can get significant speedup using the GPU, especially if we can minimize readback and redundant computation. To drive adoption of a separate PPU, it had better be possible for a more customized architecture to significantly outperform the GPU or cost much less (otherwise we could use a dual-GPU solution instead).

  17. Re:Where does this fit? by trb · · Score: 3, Interesting

    I'll echo this question. The PPU sounds like another form of coprocessor - vector processor, graphics processor, etc. I can understand why you'd want one in general, but if you were desigining one, I don't know why you'd limit it to (game) physics.

  18. Re:Tomorrow's kids just got much dumber by Kaenneth · · Score: 2, Interesting

    I'd suggest you try Half-Life 2 then. The physics model is like your own little science lab.

    At one point you have to weigh down one end of a plank with cinder-blocks in order for the other end to support you.

    I used to hate trying to parrellell park (can't even spell it!) in reality, but after practicing with manuvering the dune buggy in Half-Life 2 my vehicle steering skills have improved so I can do it easily.

    you can also be creative in acheving the goals of the game. At one point you have to disable an electronic gate, instead of killing the guards, and fighting my way to the switch, I sniped a wooden block holding a generator trailer in place, so it rolled away, then drove at high speed through the gate without killing anyone.

    A better simulation of the real world means video game skills can translate into real skills.

  19. View from a physics engine expert by Animats · · Score: 2, Interesting
    As someone who's written a serious physics engine, I look forward to seeing this tomorrow at GDC.

    There's no one key item that bottlenecks a rigid-body physics engine, and it's not a simple pipelining problem like graphics, so the main thing special-purpose hardware can provide there is parallelism. And plenty of double-precision floating point power. (In a single-precision system, you have to take great care to never try to do physics far from the origin.)

    Collision detection is a minor CPU load if you do it right. If collision detection is using more than 10% of your physics time, you're doing it wrong. This may seem counterintutive, but the good algorithms are incredibly fast, even in complex environments. It's more of a data structure issue.

    Deformation, i.e. finite element analysis, is more of an inner loop crunch problem than rigid body physics. Finite element analysis has been parallelized for decades in engineering applications, and the problem is well understood. It's localized; you can divide the problem up into cells. So I'll bet that's what they are focusing on.