PDA

View Full Version : Physics Graphic card by Nvidia


Pages : 1 [2] 3

jAkUp
08-13-05, 03:59 AM
First of all, a CPU can never be the substitute for a dedicated PPU, thats like saying a CPU can be the substitute for a dedicated GPU. The PPU is fitted for physics rendering, and can cache up rendering data to its 128mb memory.

also, if the PPU were to be on the video card PCB, do you guys think it would share the graphics card ram? I think that would suck, memory is very expensive, and since the PPU has 128mb of ram, it might make more sense to get a extra card.

Just like how onboard video well... sucks. :)

Subtestube
08-13-05, 04:12 AM
also, if the PPU were to be on the video card PCB, do you guys think it would share the graphics card ram? I think that would suck, memory is very expensive, and since the PPU has 128mb of ram, it might make more sense to get a extra card.

I'd actually like to see the PPU in a very fast PCIe slot - maybe an 8x one, and just give it access to main memory, and maybe 64 megs of onboard mem. As I said earlier, if the PPU's really going to effect gameplay, it needs to effect objects within the game world. That means that for every update it's going to have to ship all that data up and down the bus anyhow, except for non effectual objects like smoke. So, I'd basically think that the best use would be to stream object data to the PPU, and have it render positional data for smoke etc with onboard memory. If I remember correctly, the PCIe bus allows for direct peripheral -> peripheral connections, so the PPU could send its onboard data directly to the GPU when done with it, and the rest of the data would already be in the main memory anyhow.

I'm not sure how much of a bottleneck this would be, but bear in mind that one of the main reasons the GPU needs memory is for textures. In this case all you need is geometry, though I guess it would speed things up a little to store the geometry on the card, and then just ship matrices up and down the bus.

walterman
08-13-05, 07:24 AM
First of all, a CPU can never be the substitute for a dedicated PPU, thats like saying a CPU can be the substitute for a dedicated GPU. The PPU is fitted for physics rendering, and can cache up rendering data to its 128mb memory.

Of course than a dedicated PPU will be faster, but, my question is 'do we really need another DSP for physics ?', cause it will be expensive, & cpu performance will scale very fast in the multi-core era, & what sort of calculations does physics need ?. Maybe a real world example of calculation will solve this question.

Subtestube
08-13-05, 07:52 AM
Of course than a dedicated PPU will be faster, but, my question is 'do we really need another DSP for physics ?', cause it will be expensive, & cpu performance will scale very fast in the multi-core era, & what sort of calculations does physics need ?. Maybe a real world example of calculation will solve this question.

Depends on what sort of physics you're talking about. Light and such, i.e. graphics, are a specialised form of physics - though we don't do those at all. For object collisions for example, you need to calculate where the two objects collide (per polygon), which is going to be a pretty poorly scaling vector op - you break down the model a little so you can figure out what polys are likely to be involved in the collision, then, (AFAIK), you exhaustively check possibilities. Then, you figure out respective weights, forces, and the normals of the surfaces at point of impact. Using that data you can figure out how both objects should move post collision. If you think about high school physics, it's basic vector math, except that you're not operating with point sources, and you need to know exactly where they hit each other - which isn't self evident just from model and movement data. Also note that soft body collisions are significantly more difficult, although a recently proposed algorithm reduces the time complexity to only 2 x that of rigid bodies, with linear scaling (as I recall).

For water things get a little more tricky in some ways, and simpler in others. My understanding is that the easiest way to do convincing water is to model it as infinitely small particles with vectors indicating velocity. Each particle needs to find the particles near it (spacial subdivision here reduces this from an n^2 problem to an almost linear one), and decide how their velocities effect that motion. Essentially, each particle is going to be moved by gravity, a dampening force (albeit a small one), and the force of the particles around it. You do also need to check for collisions here, but that's somewhat easier with point/object collisions.

Ultimately a physics engine as we currently see it involves lots and lots of vector force calculations, in addition to a few calculations to figure out which polygons are interacting with which polygons (this is mainly slow because there are so many polygons). I should say that to really do even these highly simplified physics properly is pretty expensive, as you have n^2 calculations every update, where n is the number of objects (inc. particles). Spacial subdivision, as I've stressed, helps a lot.

One other possible physics calculation is forces within an object, for the object to bend (and potentially break) an' the like. This, also, is expensive if the object's densely tesselated, especially to prevent self intersection. Note that soft bodies done properly are a LOT harder than rigid ones.

Finally, as Carmack mentioned in that Quakecon Keynote, physics don't scale nicely like graphics. You need to calculate physics for EVERY important object - not just those the viewer can see. With graphics stuff, you only need to actually deal with things within the field of vision.

I think a physics processing unit is in practical circumstances probably an effective solution for small-mid level simple physics in games. It will certainly make some neat effects more possible (smoke in particular should look pretty hot). That said, I also think it's a clumsy solution for a general problem. I'd much rather see general purpose highly parallel programmable vector co-processors to work with the CPU. Basically like a GPU or a PPU, only general purpose, so it can be used for whatever requires vector processing power at the time.

walterman
08-13-05, 09:34 AM
Thank you very much for the info. So, we're dealing with n^2 complexity problems, almost, where each object could interact with the rest, & each object calculation involves a lot of vector math. So, a programmable ppu would really help here with special optimizations for physics.

So, for example, in a n^2 problem, a cpu that can perform 1000M of fp operations per second, would be able to perform sqrt(1000M) -> around 30K operations for a n^2 problem, & we need a lot of operations per object, lets say 30 ops per object interaction, wich may be low, so, we end with 1K objects/second, & add 50 fps, & we get 20 objects/frame.

Well, this is the worst case i think, & without using any heuristic for the Algorithms. Just the brute force approach.

So Carmack is really right when he says that you cannot apply physics to all the objects of the scene.

coldpower27
08-13-05, 11:13 AM
I'd rather see a dedicaded PPU with it's own memory interface and PCB, or an addin card for PCI-E, as right now the GPU are already maxing out their die size and memory bandwidth, not PCI-E I/O bandwidth but, with the agressive increases in performance through parallelism I doubt we will see die size shrink by much unless they scale back on how much performance increase we get in subsequent generation.

Like for instance, Aegia's PPU is about 11x transistors on 0.13 micron, that would place it around 180-200mm2 territory, could you even imagine adding all that to a 90nm based G70 and also be castrated by the sharing the G70's GDDR3 1.2GHZ

nvnews-reader
08-13-05, 11:50 AM
It'd be nice to seed the market with PPUs by including them on the GPU at least initally. I wonder if it is possible to scale physics by limiting the number of particles/polys that are effected.

rohit
08-13-05, 02:51 PM
Is it known that these PPu's will be available in different models?
Like hi-end, low-end, mid-end? Spending sumthin like 100 bux on it isnt as ichy as spending 300bux.

Graphicmaniac
08-13-05, 07:00 PM
I have remembered an old interview done with David Kirk, NVIDIA's Chief Scientist, by an italian website.
Here he had already given an idea about what he (and then probably Nvidia) thinks about Ageia and the possibility of integrate physics calculation in the GPU:

" Is remarkable interest towards the proposal of Ageia, company that has announced a card Pci to which competes specifically the calculations legacies to physics of the scenes 3D. Which is your opinion in merit?

Premetto that I find the announcement of extremely interesting Ageia, and is a good for the field that Ageia is pushing the interest towards physics in the games 3D. However, task that I use it of a specific solution for a within of this type is not in the long run the corrected approach more. The GPU put into effect them like very famous are tied to the programmabilità: consequently, if the power of elaboration put to disposition of the system is sufficient to the scope the GPU can Ago elaborate code for the management of physics of a game 3D. part of the nature of the modern GPU that one of being able to be programmed in order to carry out specific tasks, and between these I do not see in order which reason you cannot be also physics.

The question that can be placed a fan is but this:

"if I have 250€ in more for a upgrade, what I will make some"

the answers are several: it will acquire a card dedicated for the management of physics in the games 3D, or will try to acquire a card more recent video of puts into effect them, that it will not only allow of having more elaborative power with the shader but even than to use part of the resources of the GPU for the management of physics? Or, it will acquire a second card video to make to work in parallel to the main one via SLI, newly having to disposition more elaborative power from the subsystem video? The answer to this question, my warning, will allow to establish if dedicated solutions less as that one of Ageia of will have success or not."


translated link:
http://translate.google.com/translate?u=http%3A%2F%2Fwww.hwupgrade.it%2Fartico li%2Fskvideo%2F1318%2F2.html&langpair=it%7Cen&hl=it&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools

there are also interesting information about when H.264 decoding will be added and about EDRAM.

Raje
08-14-05, 02:23 AM
Haven't seen these links in this thread. For those who are interested these links might be useful.

http://www.ageia.com/

http://dmode.datamachine.net/ageia.html

http://www.nvnews.net/vbulletin/showthread.php?t=50931

dcorban
08-14-05, 07:52 PM
My problem with an add-on processor like this is that very very few games would use it. Think about all the features that have been available for years now that only get used in a game or two (HDR is one example). Developers love to (have to?) program for the lowest common denominator. Unless it is very quick and easy to add external physics support without harming performance for people without physics hardware, I don't see this feature being used other than a in couple of AAA platinum selling titles. Even then, probably not until support is included in the DirectX API.

rohit
08-14-05, 07:58 PM
Think about all the features that have been available for years now that only get used in a game or two (HDR is one example)
64-bit support is the other.
a64's are available since so long. yet ive heard only FarCry taking advantage of it.

Raje
08-14-05, 08:04 PM
Unless it is very quick and easy to add external physics support without harming performance for people without physics hardware, I don't see this feature being used other than a in couple of AAA platinum selling titles. Even then, probably not until support is included in the DirectX API.

AEGIA has supposedly done a good job of making that the case. The Multi-threaded Software Physics Engine used in Unreal Engine 3 will immediately see speed improvements when you plug in a PPU.

"We've been using the AGEIA physX SDK with the Unreal Engine 3 for the past year and it has added some awesome effects. It’s going to be exciting to see what AGEIA physX can do once the physX processor hits the market."
Tim Sweeney,
Founder and lead programmer Epic Games

retsam
08-14-05, 09:56 PM
64-bit support is the other.
a64's are available since so long. yet ive heard only FarCry taking advantage of it. ive played unreal 2004 64 bit ..only took them two weeks to recompile and run ...i dont know if this ever got released to the public thoe...

killahsin
08-16-05, 10:07 AM
Of course than a dedicated PPU will be faster, but, my question is 'do we really need another DSP for physics ?', cause it will be expensive, & cpu performance will scale very fast in the multi-core era, & what sort of calculations does physics need ?. Maybe a real world example of calculation will solve this question.


The answer is yes we do. 600 ridged bodies vs 6000(30k max rumored) = real simulated fluid dynamics.

Redeemed
08-16-05, 02:45 PM
Well, how long have we had vcards that support SM3.0 and PS3.0? And, upon those cards first release, how many games fully utilitzed SM and PS3.0? At first there won't be many titles that support the accelerated physics, but in time there will. The CPU isn't designed specifically for physics, therefore even a dual core chip couldn't offer the performance of a dedicated PPU.

Without a PPU, we'd either never see or wouldn't see for a long time individual pieces of clothing, hair, and other clutter found in the real world that has their own physics properties. Jackets and hair swaying realisticly as people walked or ran, imagine all the clutter along street roads that could be added to increase realism. Each of those items you'd be capable of interacting with.

For damage to buildings, they could be damaged many different ways. You could take out an individual section of the building or just a wall, you could down the entire building, etc. And there would be actual physics per particle (well, alteast it'd probably look that way) so the building always crumbled in a different yet very realistic manner each time.

Finally, no little white bubbles resembling water splashing, real splashes where the water actually looks like water.

Things like this no current CPU could ever do. It would require a dedicated PPU. Keep in mind that AGIEA's initial target will probably be the high end gamer. So, if you didn't shell out $400+ for you vcard and even more for the rest of your system, don't worry- this PPU obviously isn't for you. ;) :D :D

But I sure aim to get one. ;) :D :D

Kojiro
08-16-05, 03:51 PM
Physics Shimizic. What deleopers need to consentrate on right now is the actual 3d engine. F.E.A.R. is a great example of this. :p

Games that run on the unreal engine 3 and Doom 3 engine will prove this fact.

Besides how many FPS games do we really need? :rolleyes:

Redeemed
08-16-05, 07:54 PM
Besides how many FPS games do we really need?

BILLIONS MORE!!! ;) :D :D

Leech
08-17-05, 03:12 AM
ive played unreal 2004 64 bit ..only took them two weeks to recompile and run ...i dont know if this ever got released to the public thoe...


I don't think the Windows version did, but the Linux version is available as 32 or 64 bit. There are two other games that I know of that have 64bit versions, Chronicles of Riddick and Shadow Ops; Red Mercury (at least I think that was the name of that game.)

Leech

Leech
08-17-05, 03:26 AM
I guess they would eventually start calling these "gaming cards."

Old sound cards used to also be called this. Back in the early early days of PCs, you'd have a card that had a just db15 gaming port which analog joysticks could be plugged into. Then later when soundcards started becoming more common, the game port was commonly integrated into the soundcard (and this port was also used for MIDI instruments.)

IIRC, creative SB16 cards were the last to have game ports.

A physics card wouldn't really have much use beyond gaming, so the business application of these wouldn't be economically practical.

This wouldn't make a lot of sense though if nvidia plans on continuing with their SLI configurations. The only way you could conceivably not waste money in that configuration is if the physics calculations were somehow multithreaded.



I don't know if that would be a good idea to share them, theres bound to be a bottleneck somewhere in doing that.


Actually, my Audigy 2 Platinum came with a gameport. So they're not completely outdated, as did my Awe64 which came out after the SB16.

Back on topic.....Just wondering something... if they start coming out with PPU's, what is the CPU going to be used for? Word Processing? As it stands, I've seen articles being posted fairly recently about using GPU's to do calculations to help the CPU along, since the GPU pretty much just sits there and does very little while in a 2D desktop. If you think about it, what is all that Ram on your video card doing while you're in 2D? Considering it only requires a 16mb card to have 32bit color in 1600x1200 (I think that's right, I'm tired and my memory sucks). I want to know where the other 240mb of ram on my 6800 GT is doing while I'm writing this article. It's nice fast GDDR3 as well!

If you really think about how long computers have come since the SB16, it's kind of sad that we're still asking for more power. Maybe if the developers would actually OPTIMIZE the **** out of their code, then we wouldn't have these games that require gigs of hard drive space and memory and 3+ghz CPU's.
Look at this; http://www.theprodukkt.com/kkrieger.html

That's a game (with full 3D rendered textures) that takes up 96 kilobytes! For some reason everything keeps getting smaller and smaller, except for software. I know it's getting more complex, and hence larger. But still, they could optimize their code and use some compression on the textures at least.

From what I can understand, doesn't the PS3 basically use some of it's Cell processors as PPU's? And wouldn't this somehow limit some games on how they could tweak the physics in their game? Maybe I'm just talking out of my ass there.... but if a PPU could significantly reduce a lot of the code within the software, to instead just make calls to the PPU, then I'd be all for it. Especially if it could also be used when it's idle as more power for compiling or something similar. It'd be especially good for programs like Maya and 3D studio Max.

Leech

Subtestube
08-17-05, 06:41 AM
EDIT: On re-reading, the following sounds 'short' and rude - it wasn't intended to be. I stand by the material in there.

No, I'm sorry - a PPU will in no way reduce the size of modern games. It won't improve mesh compression, and it won't improve procedural tex generation/tex compression, and I'm afraid that that's really all that will significantly reduce game size. Even with bound libraries and such, compiled code isn't going to come to more than a few megs... maybe 50 at the kind of uppermost level. It's all assets that takes up space.

Oh, and even with a PPU, and CPU will still do just about everything. Y'know - task switching, kernel/memory management, task management, AI (in games), organising the calls to the other more specialised hardware... etc. Dedicated hardware reduces CPU load by taking simple often repeated non-general functions off it, and doing them faster than a general purpose processor ever could. Because almost all of the tasks that actually make computers go are general purpose, your CPU will still have lots to do! So don't worry.

As for using dedicated hardware to 'help' the CPU - sure, good idea, if it can. The GPU has become increasingly general due to programmability, so it's beginning to become possible for it to do some simple general tasks, just so the CPU isn't always swamped. As for the PPU, the same thing could potentially happen. Bear in mind though, the beauty of the Von Neumann architecture is its generality.

Redeemed
08-17-05, 01:50 PM
Sounds like somebody id an engineer. ;)

If your cpu is swamped, get an X2 or multiple Opterons. ;) :D :D :D

SlamDunk
08-18-05, 11:15 AM
Has it been mentioned yet that NV bringing their own PPU solution to the market is actually not true. It was just a misunderstanding by some journalist.

Graphicmaniac
08-18-05, 12:30 PM
slamdunk, read on page 3 the article i linked and posted, was from a big-piece of Nvidia :p

SlamDunk
08-18-05, 01:14 PM
What I could understand he did not talk about NV PPU but he seemed to only talk about using the GPU for physics calculations...