Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Nvidia Physics Engine Almost Complete

ScuttleMonkey posted more than 6 years ago | from the close-only-counts-in-horseshoes-and-hand-grenades dept.

Graphics 179

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."

cancel ×

179 comments

Sorry! There are no comments related to the filter you selected.

It's just particles (2, Interesting)

Animats (122034) | more than 6 years ago | (#23064958)

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

Re:It's just particles (3, Funny)

Dr. Eggman (932300) | more than 6 years ago | (#23065010)

Super-soakers Online! Cloth and liquid simulations determine who got wet, how wet, and whether or not that means they're out!

Re:It's just particles (5, Funny)

grahamd0 (1129971) | more than 6 years ago | (#23065132)

EA Presents: Cancun Wet T-Shirt Contest 2K9!

Re:It's just particles (5, Funny)

Mastadex (576985) | more than 6 years ago | (#23065792)

With what is promised by this physics engine, you will be able to tell between all natural and fake boobs. Its all in the bounce!

Re:It's just particles (1)

Dekker3D (989692) | more than 6 years ago | (#23066048)

i'm a hobbyist programmer... and can't even count the number of times i've wanted to make something like that :P
just never had the time, sadly enough...

Re:It's just particles (1)

tzot (834456) | more than 6 years ago | (#23067024)

Like what? Like the 'Breast Bounce Technology [google.com] ' of Lula 3d [wikipedia.org] ?

Spoiler (2, Funny)

spruce (454842) | more than 6 years ago | (#23067254)

They're fake

Re:It's just particles (5, Funny)

lorenzo.boccaccia (1263310) | more than 6 years ago | (#23065802)

and 2k10, 2k11, 2k12, 2k13, 2k14, 2k15, 2k16, 2k17.
in 2018, the EA CEO will make an official communicate on how the pc market is saturated and in decline, and will stop the franchise.
the modding community will happily mod the first one until 2m1. console users instead will stubbornly buy the new one each year until eternity, inflating console market usage and lolling about their platform superiority.

Re:It's just particles (2, Funny)

Anonymous Coward | more than 6 years ago | (#23066598)

Mod +6: This comment goes to 11.

Sync between machines with different cards? (1)

tepples (727027) | more than 6 years ago | (#23066044)

Super-soakers Online! Cloth and liquid simulations determine who got wet, how wet, and whether or not that means they're out!
Only if everybody else is using the same brand of physics accelerator, or if some physics API specification makes some guarantees about the output given the inputs. Otherwise, simulations run on multiple machines fall out of sync. A compromise solution is to use coarse particles for game logic and finer particles for iCandy.

Re:Sync between machines with different cards? (5, Informative)

Mr Z (6791) | more than 6 years ago | (#23066348)

Huh? The local physics computations are only being used for presentation and local extrapolation. The server recomputes the relevant physics anyway, and can re-sync everyone periodically. That's how FPSes work to reduce lag--they do local extrapolation, and the server periodically snaps everyone back in line. It sometimes leads to what John Carmack calls "paradoxes" where locally displayed events get undone, but it works.

So, if some portion of your local physics calculation is purely for local presentation (e.g. game outcome doesn't depend on exactly how dirt particles fly around or boobs bounce, but you want it to look realistic), the server doesn't need to reproduce any of that to model the game correctly. Your screen might look different than someone else's, but in an immaterial way. For the super-soaker example, the server will still compute actual "wetness," possibly with a simplified model that skips computing the goosebumps and most of the dripping water.

--Joe

Using how much bandwidth? (2, Informative)

tepples (727027) | more than 6 years ago | (#23066530)

The local physics computations are only being used for presentation and local extrapolation. The server recomputes the relevant physics anyway, and can re-sync everyone periodically.
Using how much bandwidth per particle?

For the super-soaker example, the server will still compute actual "wetness," possibly with a simplified model that skips computing the goosebumps and most of the dripping water.
That's kind of what I meant by "use coarse particles for game logic and finer particles for iCandy."

Re:Sync between machines with different cards? (1)

nschubach (922175) | more than 6 years ago | (#23066544)

What about larger object... like cars, crates, and large chunks of building? If you are in a multiplayer world and one of the members jumps up on a wall section and your wall didn't land in the same spot, someone will cry foul.

Re:It's just particles (2, Funny)

Anonymous Coward | more than 6 years ago | (#23065076)

because if Portal taught us anything, its that modern games have no need for physics!

real physics? (2, Interesting)

goombah99 (560566) | more than 6 years ago | (#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.

Re:It's just particles (1)

r0bVious (923965) | more than 6 years ago | (#23066392)

IMHO, the two biggest things you should worry about in game development: Amusement and Immersion. Sometimes they go hand in hand, sometimes they don't. I'm amused by Peggle, I'm immersed in something like Bioshock. I suppose I'm also "amused" by Bioshock, but hopefully you're following my logic here. ...that being said, graphics and presentation are oftentimes huge in "immersion". I've never been one to tout graphics over gameplay, but I maintain that graphics (among other things) help proper immersion, and proper immersion makes facilitate great gameplay.

Re:It's just particles (1)

SickHumour (928514) | more than 6 years ago | (#23066562)

So it's all smoke and mirrors?

Re:It's just particles (0)

Anonymous Coward | more than 6 years ago | (#23066636)

Yes... Nvidia is obviously just blowing smoke on this one.

Duke! (5, Funny)

wild_quinine (998562) | more than 6 years ago | (#23064992)

The best news about this is that it implies that if hardcore kit kills with it, then at least budget hardware (that many people have already!) can do it acceptably. That means finally seeing games that REQUIRE physics acceleration.

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.

Nah, just a new expansion (1)

Bored MPA (1202335) | more than 6 years ago | (#23065774)

Duke Nukem: Atomic Particle Edition!

*bows*

I almost typed Addition. Ah wordplay.

Re:Duke! (1)

Ninja Programmer (145252) | more than 6 years ago | (#23067000)

Brian Hook is currently working on Duke Nukem Forever. I don't say that this guarantees it will ship, but at least Hook has a record of being able to ship projects.

I couldn't find anything specific - will nVidia... (5, Interesting)

mmell (832646) | more than 6 years ago | (#23065072)

...provide Linux drivers, or will the F/OSS community have to reverse-engineer this one?

Re:I couldn't find anything specific - will nVidia (5, Informative)

karbonKid (902236) | more than 6 years ago | (#23065196)

http://www.nvidia.com/object/cuda_get.html [nvidia.com] 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.

Re:I couldn't find anything specific - will nVidia (2, Insightful)

bendodge (998616) | more than 6 years ago | (#23066324)

Linux games? I guarantee you that many packages tagged "science" will use this in no time and games will be left to rot.

Re:I couldn't find anything specific - will nVidia (5, Informative)

somersault (912633) | more than 6 years ago | (#23066744)

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.

Re:I couldn't find anything specific - will nVidia (0)

Anonymous Coward | more than 6 years ago | (#23066910)

what linux games??

Re:I couldn't find anything specific - will nVidia (1)

danbert8 (1024253) | more than 6 years ago | (#23065204)

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.

Re:I couldn't find anything specific - will nVidia (1, Insightful)

Anonymous Coward | more than 6 years ago | (#23065292)

Well, if there were official drives, that would certainty make porting games easier...

Re:I couldn't find anything specific - will nVidia (4, Insightful)

wanerious (712877) | more than 6 years ago | (#23065300)

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.

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.

Re:I couldn't find anything specific - will nVidia (0)

Anonymous Coward | more than 6 years ago | (#23066174)

Yeah, I cant wait to model the big bang on a quad-GPU machine.

640K RAM is enough for anybody, right? (2, Insightful)

mmell (832646) | more than 6 years ago | (#23065306)

Just because you don't currently have a use for this, doesn't mean nobody ever will.

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.

Re:640K RAM is enough for anybody, right? (0)

Anonymous Coward | more than 6 years ago | (#23065546)

You don't even have to wait if you are wanting to do data-parallel calculations. All of the GeForce 8 and 9 series can run CUDA applications, and lots of people have been doing number crunching using CUDA for more than a year now.

Re:I couldn't find anything specific - will nVidia (4, Informative)

dreamchaser (49529) | more than 6 years ago | (#23065634)

(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.

Re:I couldn't find anything specific - will nVidia (1)

Atriqus (826899) | more than 6 years ago | (#23067036)

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.

Re:I couldn't find anything specific - will nVidia (1)

Spad (470073) | more than 6 years ago | (#23065702)

I'll be impressed if they manage Windows drivers that don't crash on a regular basis.

FIrst you need a Windows version that won't crash. (5, Funny)

mmell (832646) | more than 6 years ago | (#23065862)

Just sayin'. ;^)

Re:I couldn't find anything specific - will nVidia (1)

click2005 (921437) | more than 6 years ago | (#23067252)

Considering they cant write Vista drivers that don't crash, how safe is it to do complex physics stuff and trust the results?

Is particle motion a fair test case? (5, Informative)

DoofusOfDeath (636671) | more than 6 years ago | (#23065158)

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.

Re:Is particle motion a fair test case? (2, Interesting)

Anonymous Coward | more than 6 years ago | (#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.

Re:Is particle motion a fair test case? (4, Interesting)

AcidPenguin9873 (911493) | more than 6 years ago | (#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.

Re:Is particle motion a fair test case? (1)

ardor (673957) | more than 6 years ago | (#23066332)

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

Then .... use CUDA for the former and the CPU for the latter? What was your point again? :)

Re:Is particle motion a fair test case? (1)

AcidPenguin9873 (911493) | more than 6 years ago | (#23066872)

I think I was too generous when I said "a lot of easily-parellelizable problems out there". The rest of them (besides graphics and physics) are in the HPC community - protein folding, SETI, that sort of thing - the stuff people run on BlueGene. Not something your average, everyday user is going to experience, at least not in the near future.

So then, what's the real benefit of CUDA == GPGPU == general purpose processing on a GPU, if it only speeds up a certain class of general-purpose problems? It starts to become less general-purpose then, don't you think? Cheaper computing power to do protein folding or SETI, sure, but then? Maybe we'll find more problems that are helped by GPGPU, and nVdia and ATI will have the infrastructure in place to support them. But like I said, I'm a bit skeptical.

Re:Is particle motion a fair test case? (1)

Actually, I do RTFA (1058596) | more than 6 years ago | (#23066326)

Is a particle motion simulator a abnormally easy test case?

Particle motions is an abnormally parellelizable case, the only better example is graphics. So the many core solution runs a lot better than the quad-core one, given simple calculations. That doesn't scale to more inolved calculations on fewer (or more interdependent) bodies.

But... (-1, Offtopic)

Falenus (1272900) | more than 6 years ago | (#23065252)

...will it run Crysis?

yu0 fail it?! (-1, Troll)

Anonymous Coward | more than 6 years ago | (#23065264)

So (3, Funny)

Snuz (1271620) | more than 6 years ago | (#23065268)

PC Gaming is dead . . . right?

Re:So (1)

Zabu (589690) | more than 6 years ago | (#23065834)

BOOM! Head shot!

Re:So (4, Informative)

Lord Ender (156273) | more than 6 years ago | (#23066870)

NVDA is a chip maker. They make the best GPUs, period. Their chips are used in high-end PCs, but also in Sony's PS3.

Re:So (0)

Anonymous Coward | more than 6 years ago | (#23067174)

Nehalem na give up?

Experts please explain something (5, Interesting)

Handlarn (911194) | more than 6 years ago | (#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! :)

Re:Experts please explain something (1, Informative)

Anonymous Coward | more than 6 years ago | (#23065446)

Here's a quick gotcha: GPU has lots of small computing units/processors inside and can crunch a lot of data in parallel and give you results fast. However, I have yet to see one GPU that can actually do double precision floating point. 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.

What? (0)

Anonymous Coward | more than 6 years ago | (#23065994)

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

Re:Experts please explain something (2)

Rafe_Aguilera (987284) | more than 6 years ago | (#23065458)

CPU's are general purpose processors that perform a lot of different functions. GPU's are highly specialized ASICs [wikipedia.org] designed to do one or two things very, very quickly.

CPU = Jack of all trades, master of none; GPU = the highly trained specialist.

Re:Experts please explain something (1)

makomk (752139) | more than 6 years ago | (#23065596)

Except that GPUs aren't highly specialised anymore; the latest generation of Nvidia cards are basically just a large number of general-purpose CPU cores.

Re:Experts please explain something (0)

Anonymous Coward | more than 6 years ago | (#23065768)

This is incorrect. Newer GPUs can do more in terms of general-purpose computations than older generations, but they are still highly tuned towards SIMD vector operations, and still have specialized components designed to operate on texture and vertex data... They are not a large set of general-purpose cores.

Re:Experts please explain something (0)

Anonymous Coward | more than 6 years ago | (#23066618)

Except that GPUs aren't highly specialised anymore; the latest generation of Nvidia cards are basically just a large number of general-purpose CPU cores.


Got any links for some Fritz chess benchmark scores for it? Let me know when you get some.

Re:Experts please explain something (1, Informative)

Anonymous Coward | more than 6 years ago | (#23067142)

This is wrong. Actually processing the bits given any sort of operator instruction is pretty easy. Sure, there are some clever ways to implement div or mul etc. but the actual functions they perform is not too spectacular. Vector operations aren't rocket science either.

Data protection, debugging facilities, virtual memory etc. are more complex, but again they don't make an incredible difference. If they cost an order of magnitude slowdown, then you'd bet you'd see CPUs sold without them for more uses.

No, the CPU is excellent at processing large and unpredictable control flow (eg. branches), and more importantly unpredictable data access. A modern CPU like core2's ability to extract ILP and keep the memory pipeline full is quite incredible. It does this by prefetching, speculatively executing loads and stores long before dependent branches, other stores, or any other instructions have completed.

CPU = master of extracting ILP and MLP from serial code. This is the highly trained specialist.

GPU = brute force approach to executing highly parallel tasks. This is the herd of retards that is trained for some specific repetitive tasks but breaks down when asked to handle more complex situations.

Re:Experts please explain something (0)

frith01 (1118539) | more than 6 years ago | (#23065466)

GPU = Graphics (specialized) processing ( High parallel capability) CPU = Generic multi-purpose processing. Car Analogy, CPU = gas Minivan, GPU = several smaller electric vehicles. Why can the GPU deliver more packages to different destinations quicker? Why can the CPU deliver a larger single box , or a wider variety of payloads, or travel further distances between re-fuel ? CPU can delivery multiple processes, but it is engineered to support DIFFERENT things running at the same time. GPU is streamlined to do the one (subject area) as fast as possible.

Re:Experts please explain something (4, Funny)

cerelib (903469) | more than 6 years ago | (#23065666)

Wow, that has to be the worst car analogy I have ever read on Slasdot. Instead of comparing on specialization of hardware (minivan vs drag-racer might have been a winner), you went down some sort of bandwidth path. I don't even know what the "re-fuel", gas vs electric thing equates to.

Re:Experts please explain something (5, Informative)

caerwyn (38056) | more than 6 years ago | (#23065592)

Particle systems are about as perfectly a parallel problem as it's possible to get- and not only that, the calculations are generally very straightforward with few (if any) general CPU control structures (branches, loops, etc).

As a result, the massively parallel hardware on a GPU that exists to render many triangles/pixels/shader programs/etc at once can be exploited to calculate updates for many particles at once. The CPU is at an inherent disadvantage because it is only leveraging a small subset of it's full capabilities.

The CPU is very good at *lots* of different tasks. The GPU is phenomenally good at a very specific set of tasks. Physics just happens to fit within that set.

Re:Experts please explain something (5, Informative)

cowscows (103644) | more than 6 years ago | (#23065716)

In its most basic definition, a GPU is just a CPU that's been highly specialized towards graphics. It can't do anything that a CPU can't also do, it just is able to do particular things much faster. Basically, they take a lot of the common tasks that graphics require of a processor, and they put really efficient ways to do it directly into the hardware, and they put a whole lot of them.

Think of a CPU as a big tool box. There's something in there for every task, including a screwdriver that can be used to put screws into things. Then next to it, you have a big cordless 18 volt drill (The GPU). Way easier to drive screws with that than the manual screwdriver in your toolbox. But when you need to drive a nail instead, yeah you could bash it in with your screw gun, but it's easier to go back to your toolbox and find a hammer.

I guess that would make a physics processor the nail gun. Or something...

Re:Experts please explain something (1)

maxume (22995) | more than 6 years ago | (#23066762)

No, no, no, as I understand it, all tools are hammers, and all problems are nails.

This is a nice way of looking at things, as the solution to every problem is to hit it with a hammer until it isn't a problem anymore.

Re:Experts please explain something (1)

Ninja Programmer (145252) | more than 6 years ago | (#23067092)

Interesting analogy, but you have not characterized the performance differences.

GPUs have totally pipelined and highly parallel ALU units available to it. Like 64 and 128-way parallelism on 4 channels at once. Compare this to an 8-way CPU system on 2-SIMD operands at once, at between 2 and 4 times the clock rate.

The other thing is that GPUs have special calculation ALUs that for doing multiple ops at once that are better designed than SSE-2 which is too primitive.

GPUs just win because they don't need to maintain backward compatibility or be designed for implementing databases.

Re:Experts please explain something (0)

Anonymous Coward | more than 6 years ago | (#23065812)

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! :)
I believe it has to due with the fact that GPUs are designed for data parallelism, which is different from the x86 architecture, and there is time spent feeding/reading data to the GPU that would most likely negate the benefit of anything that wasn't mostly parallelized to begin with.

Re:Experts please explain something (2, Informative)

ardor (673957) | more than 6 years ago | (#23066440)

A GPU excels at massively parallel tasks. Stuff like rendering, raytracing (yes! a GPU can raytrace!), DCTs, ... essentially, a GPU is a stream processor that maps a function (a shader) on independent entities (pixels, or vertices).
Applying a complex formula millions of times, each time with a different set of coefficients? -> GPU.
GPUs fail at tasks where lots of synchronization or frequent branching is necessary. Stuff like game logic, for instance, or state machines. Your typical office application is a good example.
So, GPUs are processors that operate in a very limited area. But they excel there. This is a contrast to CPUs, which are a jack of all trades.

Re:Experts please explain something (2, Informative)

Space cowboy (13680) | more than 6 years ago | (#23066600)

Simple reason:

On my Mac Pro, I have 8 3GHz CPU's. Consider that the baseline.

I have 2 8800GT cards to drive the 30" and 2x23" (rotated, one each side of the 30" :-) monitors. That gives me 224 1.5GHz stream processors in the GPU. Even harmonising GHz, thats 8 compared to 112, and its a lot easier to get a parallel algorithm running efficiently on a GPU than on multiple CPU's due to differing hardware designs...

Now stream processors aren't quite the same as general purpose processors, but the way they're implemented these days, they can be programmed in high-level languages (see jon stokes' article [arstechnica.com] ) and if their architecture suits what you want, they can be very very quick. See here [arstechnica.com] for info on programming them...

Simon.

Re:Experts please explain something (1, Informative)

Anonymous Coward | more than 6 years ago | (#23066992)

In a nutshell: A CPU dedicates a very large portion of the die to control logic, and a relatively smaller portion to arithmetic units.

A GPU has very little control logic, and is jam-packed with arithmetic units. The control logic it does have is also fairly distributed.

The CPU has the advantage that due to instruction windowing, out-of-order execution, branch prediction, and other niceties, it can fairly efficiently execute many types of code using a fairly simple execution model. It provides things we take for granted, like a unified view of main memory.

The GPU has the advantage of massive horsepower - but essentially, the GPU can't walk and chew gum at the same time. GPUs are massively parallel SIMD (or SPMD for the newest generation) machines, so they can execute one code path over a lot of data at once. Many things your OS does do not fall under this category of massively parallelizable problems, so your GPU would execute them far slower than your CPU.

Even in the realm of highly numeric algorithms, there are some that don't translate well to the GPU model - ray tracing is one of them. Ray-tracing parallelizes well, but since GPU are SPMD, they have trouble with code with a high level of branching. There are also bandwidth issues - getting data to all the different arithmetic units on the GPU becomes a very serious bottleneck, especially for problems that lack strong data coherency. Ray-tracing has both these problems, so the end result is that GPU based ray-tracers are at best tied with CPU based ray-tracers for the current generation.

Re:Experts please explain something (1)

graphicsguy (710710) | more than 6 years ago | (#23067244)

+1 informative to the parent (if I had mod points). Also, CPU dedicates more die area to data caches.

So... (1, Funny)

Anonymous Coward | more than 6 years ago | (#23065282)

How much is this going to push back the release date on DNF, now that they can add in advanced physics stuff?

Re:So... (1)

SQLGuru (980662) | more than 6 years ago | (#23065640)

I don't think it will push it out any.....this is one less system that the designers / coders need to account for.....eventually, technology will catch up with DNF and we can simply click a "do it" button and have DNF be released.

Layne

Why particle systems? (5, Interesting)

Thanshin (1188877) | more than 6 years ago | (#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.

Re:Why particle systems? (5, Interesting)

Animats (122034) | more than 6 years ago | (#23065760)

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.

Re:Why particle systems? (1)

zsouthboy (1136757) | more than 6 years ago | (#23066974)

Link?

Oh really? (4, Funny)

bconway (63464) | more than 6 years ago | (#23065474)

However, you can't ignore the fact that Nehalem in fact can run physics.

In fact, I can.

Re:Oh really? (-1, Redundant)

gardyloo (512791) | more than 6 years ago | (#23065568)

Too late: you already replied.

However, you can't ignore the fact that Nehalem in (0)

Anonymous Coward | more than 6 years ago | (#23065652)

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.

nested particles (1)

_ph1ux_ (216706) | more than 6 years ago | (#23065686)

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

Re:nested particles (1)

Shados (741919) | more than 6 years ago | (#23065770)

I dont know much more than you about the current situation, but in the interviews of The Force Unleashed (360/PS3 versions), thats pretty much how they described their physics engine... so I'm guessing its not a new idea. Something about all of the objects being made of "molecules", and the physics engine had information about these "molecules" and how to break/bend/move them.

Real Physics engine goal (5, Funny)

Anonymous Coward | more than 6 years ago | (#23065696)

I want to see 10^88 particles simulated at 10^33 frames / second.

Re:Real Physics engine goal (3, Funny)

Anonymous Coward | more than 6 years ago | (#23066642)

How do you know you're not?

Re:Real Physics engine goal (0)

Anonymous Coward | more than 6 years ago | (#23066698)

How is this insightful?!

*flips out Frank Grimmes style*

Re:Real Physics engine goal (1)

fitten (521191) | more than 6 years ago | (#23066716)

That was done so long ago, it's got petrified dinosaur snot on it!

Re:Real Physics engine goal (0)

Anonymous Coward | more than 6 years ago | (#23066908)

I don't understand why that comment was insightful; it is estimated that there is less atoms in the observable universe than 10^88 (as in many orders of magnitude less). Surely there's more useful goals out there.

Re:Real Physics engine goal (0)

Anonymous Coward | more than 6 years ago | (#23066934)

Look outside.

Re:Real Physics engine goal (0)

Anonymous Coward | more than 6 years ago | (#23066956)

So, you want the same number of particles as there are atoms in the universe (give or take... 10-ish? orders of magnitude), running at about 11 orders of magnitude below what they would if they were rendered in one tP (Planck time).

Here's a thought: Go Outside.

What would Heisenberg do? (1)

mich.linux.guy (1271564) | more than 6 years ago | (#23065900)

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?

Finally a use for the embedded GPU... (1)

downix (84795) | more than 6 years ago | (#23066060)

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.

Re:Finally a use for the embedded GPU... (1)

fitten (521191) | more than 6 years ago | (#23066838)

The embedded GPU would need to be able to do floating point, double precision preferred.... which even the high end cards from a short time ago couldn't do (the double precision part).

what's with physics? (1)

ILuvRamen (1026668) | more than 6 years ago | (#23066072)

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.

Re:what's with physics? (1)

mich.linux.guy (1271564) | more than 6 years ago | (#23066320)

I believe you could accurately simulate a hammer with a system of six particles.

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.
60,000 is greater than 6. Your machine might slow down under that amount of computation.

Re:what's with physics? (1)

jjohnson (62583) | more than 6 years ago | (#23066422)

Physics with a few particles is easy, but it scales poorly. It's not hard to calculate a trajectory for a single object that gets hit, but truly destructible environments (the holy grail of games, for now) will require thousands of objects at least.

Re:what's with physics? (1)

fitten (521191) | more than 6 years ago | (#23066796)

Not only that but it's probably not even accurate physics. It's not a physics simulator, it's a game.

Re:what's with physics? (1)

Keith Russell (4440) | more than 6 years ago | (#23066806)

I play oblivion and when I kick objects or hit them with an arrow or spell or warhammer, they go flying accurately.

Oblivion's physics aren't as complex as they appear. They're just rigid body collisions. That lets you set up Rube Goldberg contraptions and domino stunts in the construction set (complete with comical Altmer abuse in some of the videos I've seen), but it's pretty shallow as far as simulations are concerned. If Bethesda had gone for dynamic destructible environments, then maybe, maybe, grass rendering would stop being the bottleneck in the game engine.

If you want to see the limits of Oblivion's physics engine, use cheat codes to create an uber-hero. Max out your Strength, Agility, and Marksman stats, and enemies start flying around like bad guys in a John Woo film when you hit them with an arrow.

Re:what's with physics? (1)

blahplusplus (757119) | more than 6 years ago | (#23066886)

Physics is over-rated, the big deal with physics when it was 'first' talked about really was for rag-doll physics in FPS games and things like Unreal, where you shoot someone and the body animates from an impact not in a pre-scripted manner but according to impact. Most games pre 2000 had fixed / scripted animations that occored when someone died, also you'd see weird things like when someone dies their body would be hanging off a ledge vertically, with physics these things don't (uaually) happen, the body falls over an edge, rather then being 'stuck' permanently mostly in mid air.

I just finished playing crysis and buildings would fall in on you and collapse when shot/blown up, etc, in many games the set pieces are entirely static, you cannot damage them. Physics adds some very limited destructability to certain environments and is basically used mostly to amplify special effects.

Physics in games is completely over-rated.

What about graphics? (2, Interesting)

Guspaz (556486) | more than 6 years ago | (#23066166)

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.

300 fps ! (1)

Hemlock Stones (636570) | more than 6 years ago | (#23066488)

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?

Re:300 fps ! (1)

BitZtream (692029) | more than 6 years ago | (#23066726)

Accuracy.

As a general rule, with most current algorithms used for physics calculations on a PC, the higher the frame rate, the more accurate the physics will be and the better your collision detection will be since it can more accurately find the point of a collision rather than saying 'yea a collision occurred, now backtrack slowly to figure out when it occurred and then go forward again with the response to get back to the current time step' now your amount of back tracking and replying is considerably smaller and more accurate due to the increased frame rate available.

Of course, the physics engines of today, for the most part can use smaller internal time steps to get the same result, but at some point those internal time steps take longer to process than real time, in which cause somethings got to give, be it real application frame rate, or simulation framerate/accuracy.

Re:300 fps ! (2, Informative)

Z34107 (925136) | more than 6 years ago | (#23066734)

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?

It's not needed. But it's useful for comparison.

Nehalem only got x frames per second, but nVidia Magic Goodness 9800 Large Numbers GTX got y FPS, where y > x, can show that nVidia MG9600LNGTX > CPU.

Also, presumably this won't be used to run 50,000 particle games at 300fps, but much more complicated simulations (infinitely destructable environments, not linear algebra) at 60fps.

Re:300 fps ! (1)

Gewalt (1200451) | more than 6 years ago | (#23066858)

4 times? last I checked the human psychovisual system was only capable of detecting the difference in frame rate below 15 frames a second. That means its over 20x faster than necessary. Intel had it right, they tweaked for perceivable performance. Nvidia again has it wrong, and tweaks for benchmark scores. (higher is better, no thresholds). Now if nvidia had managed to run intels demo with 20x more particles, THEN we could congratulate them. As it is tho, they only managed to put their marketing department in charge of a technology demo. They lose all points.

Re:300 fps ! (1)

Blitz22 (1122015) | more than 6 years ago | (#23066918)

Sample rate and aliasing http://en.wikipedia.org/wiki/Aliasing [wikipedia.org] . Usually a frequency(fps) of double the sample rate(human brain detection rate) will eliminate aliasing and things look smooth. There is an upper limit where you no longer see an improvement, but more fps=smoother, better looking pictures.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?