Nvidia Physics Engine Almost Complete
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 is just a particle system. Smoke, snow, rain, and maybe water look better, but it apparently has no influence on gameplay.
It'll be like 1996 all over again, only from a physics not graphics perspective. That, and there might be a new Duke Nukem game due out within the next 12 years.
...provide Linux drivers, or will the F/OSS community have to reverse-engineer this one?
Is a particle motion simulator a abnormally easy test case?
When I was getting up to speed on IBM Cell programming, IBM had a programmer's tutorial (excellently written, btw). The example problem they used for their chapter(s?) on code tuning were a particle simulator. It was a wonderful example problem, because it showed how to vectorize a program. But then when we went to vectorize our own algorithm, it didn't fit the Cell's vector programming instructions nearly as cleanly, so in the end we didn't get nearly the performance increase due to vector instructions as did the particle simulator.
So I'm thinking that just even though CUDA can do a good job with particle motion simulations, we shouldn't remotely assume that it's good for particular algorithms for which each of us is responsible.
http://www.nvidia.com/object/cuda_get.html offers: "NVIDIA Driver for Linux with CUDA Support (169.09)"
So, physics should work on Linux, having been ported to CUDA already, and CUDA being cross-platform, but the question is if any Linux games will actually support and/or make use of it.
Don't get me wrong, I am a HUGE fan of linux, I use it on all my computers. However, there is no point in releasing drivers for this in Linux because the only use would be physics accelerated games, which won't be ported to Linux anyway. Any program that would use accurate physics in Linux already uses the CPU to calculate it.
Yes it's an anecdote! Were you expecting original research in a Slashdot comment?
PC Gaming is dead . . . right?
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!
How much is this going to push back the release date on DNF, now that they can add in advanced physics stuff?
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.
Well, if there were official drives, that would certainty make porting games easier...
The *only* use?? Geez, I'd like to get my hands on the API to write some physics educational/demonstration software. Or just create physically accurate simulations for kicks. We don't *have* to rely on others to write software for us.
That's okay - somebody else already posted the answer - this thing'll use an established mechanism (CUDA). I don't know what that is, but after this card hits the market, I'll probably start to find out.
However, you can't ignore the fact that Nehalem in fact can run physics.
In fact, I can.
Interested in open source engine management for your Subaru?
(sarcasm on)Yes, I am sure there are no scientific or enginnering applications for accellerated physics calculations (sarcasm off).
Anyone ever tell you that a lot of scientific types use Linux on their workstations? They do.
However, you can't ignore the fact that a car in fact can take you from A to B... but if you need to cover long distance very quickly then airplane (or something like this) is the only way.
Forgive my naivety,
but is there such thing as netsted particles?
Full objects, made of "bound particles" (polygons that when constrained to eachother act as an object) but that whole object can be a particle?
Then if destroyed the resultant triagles themselves become particles?
I ask in that I would like to know if a whole seemingly static scene can really be generated/destroyed/interacted with as if everything were particles...
Or is this how things are already done??
It just seems to me that super-particles is how reality is built anyway....
I want to see 10^88 particles simulated at 10^33 frames / second.
I'll be impressed if they manage Windows drivers that don't crash on a regular basis.
Duke Nukem: Atomic Particle Edition!
*bows*
I almost typed Addition. Ah wordplay.
Comment removed based on user account deletion
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.
Some drink at the fountain of knowledge. Others just gargle.
Just sayin'. ;^)
Yes, but does the model always guarantee that the product of the standard deviations of the particle's momentum and position is always greater than half the reduced Planck constant?
>The Cell processor as well as the current GPU crop (with the exception of ATI) can only do single precision and that is known to reduce the accuracy of your computation.
CellBE can do DP floating point calculations... just not as well as SP. (not being an understatement, A HELL OF ALOT less)
There was even a special version IBM created solely for doing alot of double precision.
This, of course, is if i am actually in the same universe i was in yesterday.
Ok guys, how about we use that embedded anemic GPU for these functions? It would off-load work from the CPU, improving whole-game performance dramatically I would imagine.
Karma Whoring for Fun and Profit.
I play oblivion and when I kick objects or hit them with an arrow or spell or warhammer, they go flying accurately. They drop accurately, roll accurately, and bounce accurately. And I don't have a physics processor. So how did they do it? How is this some big innovation if they can already put extremely realistic physics into a game with existing technology? And not even existing, OLD! I used to run it on a 6600GT OC and recently got an 8600GTS OC and have an AMD 4400+ X2 and it still did nearly perfect physics.
Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
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.
Yeah, I cant wait to model the big bang on a quad-GPU machine.
Linux games? I guarantee you that many packages tagged "science" will use this in no time and games will be left to rot.
The government can't save you.
Wow ! That's more than 4 times faster than the human brain can detect. Now if I only knew why a frame rate this high is needed. Anybody?
id seem to make all their games for Linux, and they also like using random accessories like that USB flak jacket thing that simulates you getting shot (by quickly puffing up pockets of air with pneumatic compressors). No doubt Quake 5 or whatever will support it at least.
which is totally what she said
what linux games??
Aside from all the physics software others mentioned that would benefit greatly from that, the statement about zero Linux games ever using it is quite a bold one. Please point out where in the license agreement you must work for a video game company that isn't id nor Epic in order to use CUDA.
Hey, look! It's Bono's brother.
Considering they cant write Vista drivers that don't crash, how safe is it to do complex physics stuff and trust the results?
I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
They're fake
Plus, I wouldn't be surprised if (once this technology catches on) the Wine folks make a pass-through library that allow Windows games to take advantage of this feature when running under Linux.
Um you can, it's CUDA, you can read (yeah right) more about it http://www.nvidia.com/object/cuda_home.html and http://en.wikipedia.org/wiki/CUDA
Can you possibly put this in terms we're more likely to understand... like Libraries of Congress per fortnight?
/hides back under the bridge
Move all sig!
Let's see how well a cluster of these does on nuclear weapon or reactor design.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
I think the key to that kind of martial arts game would be to give up the idea of controlling the hands and feet directly (step-by-step). The player assumes a "higher level" of control, and the physics engine calculates all the movement. All the environmental factors would be taken into account.
Current fighting games use mostly preanimated characters. It's noticeable when you watch their feet slide on the ground, like their standing on ice.
The key to this is to make a simulation that can stand and react on it's own and then create an interface the provides a meaningful gaming experience.
Injury and fatigue would be just more input, resulting in a hobbled or gassed fighter on the screen.
Bigtime Consulting - "We're the best because we cost the most"
The article states that the number of developers working on this is 25.000 *FIGURES* ! Given that there are only nine figures of people on this planet, who are these untold legions, slaving away on creating realistic physics?
I'm not sure what this means. Does it mean, that at some future date, there will be drivers and maybe a patch for UT3 that will let me run the UT3 PhysX demos on my 8800GT - without PhysX hardware?
Can't tell form the info posted.
http://www.unfocus.com/
Unfortunately for some, you've got to make Unreal Tournament 3 not suck so hard that they'd buy it even if it was available for Linux.
Karnal
I'm using CUDA for my masters project, and I've had the same problem that you describe. The way CUDA works, having a conditional statement that evaluates differently in each thread will kill your performance. It makes sense as to why:
A GeForce 8800GTX has 16 multiprocessors, which each have 8 processors, so a total of 128 processors. It's your basic SIMD (single instruction, multiple data) architecture. So if you have lots of conditions, you go from having 128 processors, to having 16 as your code serializes because it has turned into MIMD.
In my particular project, there have been times where I've tried to optimize something with an if statement, but it's not worth it for the reason described above. With that said, it's still much faster then doing computation on the CPU. I think the biggest problem to working with CUDA, at least for me, is that I've never worked with an SIMD architecture like it, so I don't know any really good techniques. I assume they're out there, but I haven't come across anything more then what they say in the CUDA programming guide, which is fairly minimal.
I think CUDA is good for what it is designed to do, but you won't see a real time raytracer on it anytime soon even though the gflops are there.
As I understand it, some legacy hardware will be able to take advantage of the particle rendering through a software update. Is that still the case?
-516
nuff said
I've been compiling and running cuda fine on my Fedora 8 x86_64. 8800GTX at 182GFlops for n-body.
.
But don't worry, we're working on new technology as we speak! Forget the users of our graphics cards, physics is the future! SCIENCE!
http://freegamer.blogspot.com/2001/01/free-games-list.html
Why would you do that? CUDA works on Linux already and would ran native.
Next you're going to be telling me the WINE guys are working on a wrapper for openGL...
snippet from wine/dlls/opengl32/opengl_norm.c:
Yarr! Lets run some universes!The *only* use?? Geez, I'd like to get my hands on the API to write some physics educational/demonstration software. Or just create physically accurate simulations for kicks. We don't *have* to rely on others to write software for us.
However, you can't ignore the fact that Nehalem in fact can run physics.
... That sounds more like "Enslaving the GPU"
Physicists in my field (Lattice Quantum Chromodynamics) have been harnessing the computing power of existing GPUs to get teraflop performance on a desktop - handy if you don't have access to a supercomputer.
Just cause something is a GPU doesn't mean you can't get your hands dirty and make it do some real work.
Hangon