Forgot your password?
typodupeerror
Graphics Software Hardware

Nvidia Physics Engine Almost Complete 179

Posted by ScuttleMonkey
from the close-only-counts-in-horseshoes-and-hand-grenades dept.
Nvidia has stated that their translation of Ageia's physics engine to CUDA is almost complete. To showcase the capabilities of the new tech Nvidia ran a particle demonstration similar to Intel's Nehalem demo, at ten times the speed. "While Intel's Nehalem demo had 50,000-60,000 particles and ran at 15-20 fps (without a GPU), the particle demo on a GeForce 9800 card resulted in 300 fps. In the very likely event that Nvidia's next-gen parts (G100: GT100/200) will double their shader units, this number could top 600 fps, meaning that Nehalem at 2.53 GHz is lagging 20-40x behind 2006/2007/2008 high-end GPU hardware. However, you can't ignore the fact that Nehalem in fact can run physics."
This discussion has been archived. No new comments can be posted.

Nvidia Physics Engine Almost Complete

Comments Filter:
  • It's just particles (Score:3, Interesting)

    by Animats (122034) on Monday April 14, 2008 @12:14PM (#23064958) Homepage

    This is just a particle system. Smoke, snow, rain, and maybe water look better, but it apparently has no influence on gameplay.

  • by mmell (832646) <mmell@hotmail.com> on Monday April 14, 2008 @12:19PM (#23065072)
    ...provide Linux drivers, or will the F/OSS community have to reverse-engineer this one?
  • by Handlarn (911194) on Monday April 14, 2008 @12:30PM (#23065274)
    Anyone care to explain why there's such a big difference between a GPU and a CPU? I keep hearing how GPU's are this and that much faster than a CPU at calculations like graphics, physics and such, so naturally I assume there's a big difference that makes us still chose the x86 and x64 CPUs as the main processors of a PC. What are the limitations; why can't just the libraries be ported for GPUs instead of CPUs and why don't we then just run all calculations on a GPU, if they are anything from 2 to 50 times faster?

    It just seems to me that if a graphics card can calculate physics then it would also be able to do pretty much all the same types of calculations that a regular CPU can do, but I am obviously missing a big part of it.

    Experts, continue! :)
  • by Thanshin (1188877) on Monday April 14, 2008 @12:30PM (#23065290)
    They should test physics systems with spheres on irregular ground, with uneven μ (coefficient of kinetic friction), and changing wind.

    Those are the kind of problems that force programmers to use approximations when using a physics engine.

    The next step is really abstracting the physics from the development, not having pretty water.
  • by Anonymous Coward on Monday April 14, 2008 @12:45PM (#23065572)
    Yes, particle systems are easy (in terms of physics), because they are essentially just moving points with varying velocities and accelerations... Such a simulation is easy to vectorize (eg: update the position of all points in parallel by performing lots of additions at the same time).

    Actually useful collision detection of say, convex volumes with rotational velocities, with the volumes being stored in a 3D space partition (eg: kd-tree or BSP tree) will likely prove significantly more difficult to parallelize because of the big increase in algorithmic complexity.
  • by AcidPenguin9873 (911493) on Monday April 14, 2008 @12:46PM (#23065594)

    That's exactly why I'm skeptical of CUDA in general. Rendering graphics is one of those "embarrassingly parallel" operations, where for every frame rendered, each triangle, vertex, and pixel is independent of the others. I don't know much about physics processing, but I'm guessing it's the same. Simply throwing say, 4x more hardware at the problem gives you pretty much the ideal 4x speedup. Once you introduce random data dependencies into the problem, though, parallelization is much harder and you don't get the same speedups.

    There are a lot of easily-parallelizable problems out there, which is great...but then again, there are a lot of not-so-easily-parallelizable problems out there too. I don't think CUDA would do any better than a general-purpose CPU on the latter class of problems.

  • by Animats (122034) on Monday April 14, 2008 @12:57PM (#23065760) Homepage

    They should test physics systems with spheres on irregular ground, with uneven (coefficient of kinetic friction), and changing wind.

    I always liked to test on the hard cases (see my web site) but, in fact, what game developers and animators want is not realistic physics. The game people want "infinitely destructible environments", where you can blow up anything. And, of course, eye candy. The animation people want physics they can direct, where the starting and ending positions are specified but what happens in the middle might be automated. So most character motion in video games is spliced-together motion capture bits, hand animation, and a bit of physics now and then.

    Most game physics engines today cheat on the hard cases, but by now, they usually cheat in ways that don't do something blatantly nonphysical.

    My original goal, back in 1996 when I was working on this, was to get to a two-person fighting game with real martial arts. The physics engine we had was good enough, although in the era of 200MHz CPUs, a bit slow. But a control system that can do a judo throw against an uncooperative opponent is still out of reach. Worse, controlling a physically realistic martial arts character through a game pad is just hopeless. Play would be like a typical day at the dojo: "You lost your center. Your left foot should have been further forward when you tried that throw." "Yes, sensi". Work out three times a week for a year, and you get to be halfway decent. As a game, that sucks.

    So I created the "ragdoll falling downstairs" cliche as a demo, licensed the technology to a middleware provider, and went on to other things.

  • real physics? (Score:3, Interesting)

    by goombah99 (560566) on Monday April 14, 2008 @01:01PM (#23065820)
    To what extend does this contain real physics as opposed to "game" physics. Cuda maps to linear algebra fairly well but most phyics is second order (either algebraically or as differential equations). Are they actually trying to implement those or are they just making things that "look right" but really don't obey physics.

    I recall that in the original Toy Story there is only one place they used "real physics". When the jump rope is thrown off the balcony (for the army men to descend), they used real physics to model it's tangled fall. But thye later sent it was not a good idea to use the real physics. Not only was it harder but it didn't really look right and could not be easily tweaked. So all the rest is pretend physics.

  • What about graphics? (Score:3, Interesting)

    by Guspaz (556486) on Monday April 14, 2008 @01:22PM (#23066166) Homepage
    It's great that they can do all this physics stuff on the GPU, but they seem to be forgetting the other thing you need that for; graphics. Games like Crysis don't exactly leave room on the GPU to do anything but graphics, and throwing physics into the mix will only make things worse.
  • Re:real physics? (Score:3, Interesting)

    by king-manic (409855) on Monday April 14, 2008 @03:16PM (#23067956)

    I recall that in the original Toy Story there is only one place they used "real physics". When the jump rope is thrown off the balcony (for the army men to descend), they used real physics to model it's tangled fall. But thye later sent it was not a good idea to use the real physics. Not only was it harder but it didn't really look right and could not be easily tweaked. So all the rest is pretend physics.
    What people perceive a situation to look like and how it would realistically look have drifted a lot. Due partially to the real life rarity of those situations and Hollywood/Video games distortion of it. We all expect shot guns to be massive overkill at medium to short ranges when in reality they don't hit that hard. We expect all explosions to involve flames. We expect bullets to hit with far more kinetic force then they do. We expect a whole lot of things that just don't happen in real life. It doesn't have a huge impact on most people but I'm sure it really urques the physics pedants.
  • by Anonymous Coward on Monday April 14, 2008 @04:46PM (#23069158)
    He made rough guesses at how many "frames per second" actual time runs at and how many particles there are in the universe, then asked for a simulation of it. He's asking for a simulated copy of the universe. It's funny on a lot of levels: a) he could go outside and get the same thing; b) he has an unreasonable requirement for his physics engines; c) it's absurd because it's beyond calculation; d) it's absurd because the universe can't simulate itself (simulating every particle in the universe and its calculations would require more matter/energy than there is in the universe, and since the simulation would exist in the universe the simulation would have to simulate itself within the simulation, recursively).

    Of course, it WAS funny until it had to be explained.
  • by Dekker3D (989692) on Monday April 14, 2008 @05:53PM (#23070196)
    no.. multiplayer wet t-shirt deathmatch. ;)

Every young man should have a hobby: learning how to handle money is the best one. -- Jack Hurley

Working...