PDA

View Full Version : R520 will be able to do Physics nearly as AGEIA do.


Pages : [1] 2

Graphicmaniac
10-06-05, 09:50 PM
http://www.xbitlabs.com/news/video/display/20051005202331.html

just need working drivers

seems that also any card newer than 9700 will be able to give a little help to the cpu

toxikneedle
10-06-05, 10:07 PM
I don't buy it.

Hex
10-06-05, 10:30 PM
LoLLeRsK@tEs

SH64
10-06-05, 10:54 PM
If the feature is there for any 9700+ why didnt we see it in action from 2 years ago ?? at least some tech demos or as a special feature for HL2 since its ATi GITG :bleh:

anzak
10-06-05, 11:17 PM
I've read that this was possible before, but can't remember exactly where. From what I read its possible on any 3d graphics processor.

Subtestube
10-06-05, 11:20 PM
Technically yes, this is possible - but it isn't easy, and in modern games we're so GPU limited anyhow that you're cycle stealing from something with no time to spare. As much as I like the idea, ATi are marketing something that's been researched for some time, and doesn't seem likely to become common in games any time soon. To be clear, it takes a LOT of work to make physics work well on current graphics processors.

For more information check out http://www.gpgpu.org

EDIT: Though to be fair, if they strip away the API stuff (which apparently they're planning to), one might have better luck. Even so, it'll still be a LOT of work, and if the GPU is already working all the time, it's pointless.

anzak
10-07-05, 12:29 AM
Even so, it'll still be a LOT of work, and if the GPU is already working all the time, it's pointless.

No kidding. Why not tap into something like Creative's X-Fi. lol

Abba Zabba
10-07-05, 12:33 AM
You guys want to see what your GF 6800/7800/6600 can do GPGPU wise? ;)

OWA
10-07-05, 12:52 AM
You guys want to see what your GF 6800/7800/6600 can do GPGPU wise? ;)
Does that mean a new demo sometime soon? :)

Abba Zabba
10-07-05, 01:14 AM
Here it is, sorry no source since it's the propriety of NVIDIA

http://www.realityflux.com/abba/images/snapshots/HDRGPUParticles2.jpg (http://www.realityflux.com/abba/C++/HDR%20GPU%20Particles/HDR_GPU_Particles.zip)

OWA
10-07-05, 01:16 AM
Cool, thanks!

1280x1024 screenshot
http://img38.imageshack.us/img38/4867/hdrgpuparticles200510070017494.th.jpg (http://img38.imageshack.us/my.php?image=hdrgpuparticles200510070017494.jpg)

Edit: Heh, you beat me to the punch. :)

Edit 2: I think the particles should be green.

Abba Zabba
10-07-05, 01:24 AM
I was able to run a million particle at 20 FPS...without the fancy HDR stuff though :p

OWA
10-07-05, 01:31 AM
Is that an option we can change in the demo? It's running really well for me.

Abba Zabba
10-07-05, 01:35 AM
Is that an option we can change in the demo? It's running really well for me.
Nah you can't as it's hard coded :p
Hmm maybe I should add few settings to toggle GPU/CPU physics management to highlight the great performance of NVIDIA GPUs :D

OWA
10-07-05, 01:37 AM
That would be great.

Anyway, I really like it. Slowing the sim down so it's in slo-mo looks really cool.

superklye
10-07-05, 01:51 AM
You know, I heard the r520 is able to cure baldness, impotence and AIDS, too! :rolleyes2

Alaa
10-07-05, 02:05 AM
You know, I heard the r520 is able to cure baldness, impotence and AIDS, too! :D

OWA
10-07-05, 02:19 AM
This was interesting...actually, it just dawned on me why it happened. Nevermind.

http://img189.imageshack.us/img189/4624/demo1jh.th.jpg (http://img189.imageshack.us/my.php?image=demo1jh.jpg)

fivefeet8
10-07-05, 02:26 AM
Awesome demo. ARe all the particles physics calculated? That is quite amazing that there could be so many.

nutball
10-07-05, 04:10 AM
Awesome demo. ARe all the particles physics calculated? That is quite amazing that there could be so many.

If the particles don't interact with each other this kind of sim is pretty trivial on the GPU, 'cos you can do each particle in parallel, plus the particle data never needs to leave the GPU -- you can store the positions and velocities as floating-point textures, updating the particle position is then simply a render to a 2D render target. You then use that render target as input to a vertex shader. Each "pixel" in the texture/render target represents a different particle, and because the particles are independent, each pixel is independent (as it is in most graphics processing) and you get parallelism up the wazoo.

Having the particles interact with the surrounds isn't too difficult either, the trick there is in the pixel shaders that you use to update the positions and velocities. But again, with non-interacting particles this isn't too challenging.

Where things become really tough is if you want the particles to interact with each other. One good example of where this is necessary is in particle-based fluid dynamics. Another might be balls or rocks that bounce off each other. In those sims the particles interact with their near neighbours. This is very much more difficult, particularly doing the neighbour finding (which typically requires chasing along linked-lists, and in the general case can play havoc with your locality of memory access). AGEIA have a demo of their PPU doing this, and although I've read a paper describing how it might be done on a GPU I've yet to see a demo.

Grid-based fluids on a GPU is pretty trivial too, because the finite-difference schemes required closely mirror those found in graphics. There's been an NVIDIA demo around for years of 2d grid-based fluids on a GPU. The problem with grid-based methods is that they're generally only good for gentle waves -- if you want crashing waves then you've got re-entrant surfaces and all that sort of jazz, particle-based methods are much better suited to these problems (they're more robust against mixing).

Rakeesh
10-07-05, 01:31 PM
http://www.xbitlabs.com/news/video/display/20051005202331.html

Are they kidding or something? They are basically saying that just because their GPU's process vectors, they can just arbitrarily use it to do physics calculations. It sounds as though they are trying to imply that you'll have a full blown PPU just by owning an ATI card. Marketing spin at its finest.

Heres an interesting question though, how well are current GPU's designed for multitasking like that?

Zelda_fan
10-07-05, 01:37 PM
Heres an interesting question though, how well are current GPU's designed for multitasking like that?

I think you're misunderstanding what they were saying. You don't just have one 1800XT and multitask it to graphics and physics, you have a seperate graphics card for graphics, they you plug in another graphics card and use it for physics.

Raje
10-07-05, 07:14 PM
Are they kidding or something? They are basically saying that just because their GPU's process vectors, they can just arbitrarily use it to do physics calculations. It sounds as though they are trying to imply that you'll have a full blown PPU just by owning an ATI card. Marketing spin at its finest.

Heres an interesting question though, how well are current GPU's designed for multitasking like that?

Well, ATI would tell you that their R520 is GREAT at it since it can handle 512 threads.

http://www.beyond3d.com/reviews/ati/r520/index.php?p=04

R520's "Ultra Threaded Dispatch Processor" is the element that ATI have designed in order to better increase the overall utilisation of the Shader ALU's by breaking the tasks down into smaller chunks that can be interleaved more effectively. The central Pixel Shader dispatch unit first breaks down each of the shaders into "threads" (batches) of 16 pixels (4x4) and can track and distribute up to 128 threads per pixel quad. When one of the shader quads becomes idle, due to a completion of a task or waiting for other data, the dispatch engine will assign the quad with another task to do in the meantime, with the overall result being a greater utilisation of the shader units, theoretically.

With up to 128 threads per quad, there will plenty of temporary values (all at FP32 precision) that will need to be retrieved quickly in order to switch threads efficiently and to this end ATI have implemented a very large general purpose register array in the R520 series. The register array is multi-ported, allowing for multiple read and writes, and has a high bandwidth connection to the shader ALU's in each of the quads. In total there is enough register space for 32 128-bit (FP32 per component) pixels per thread, however should a thread require more register space, rather than dumping the extra requirements out to memory, the systems dispatch processor just reduces the number of active threads - this system should balance out the performance a little more as threads that have very high register utilisation should be fairly long and hence there is less need to balance out any latency operations anyway.

Doesn't necessarily mean that some threads could be graphical and some could be physics stuff, but I don't see why not.

The real questions are: Can it accelerate game physics as well as or better than a 2nd CPU core? Can it accelerate game physics as well as or better than an AEGIA add-in card?

The answers to these questions, assuming it can process at least some physics in real time with latency low enough for games, will continuously change based on what game you want to use it on, what graphics load you also have, how many "shader pipes" you have (R580 is supposed to have 3 times the "Shader Pipes" per ROP as R520 (Assuming they keep 16 ROPs that's 48 for the R580 vs. 16 for the R520)), as well as other things -- such as memory latency and storage capacity.

Vagrant Zero
10-07-05, 08:17 PM
I think you're misunderstanding what they were saying. You don't just have one 1800XT and multitask it to graphics and physics, you have a seperate graphics card for graphics, they you plug in another graphics card and use it for physics.

I'm not paying $500 for a graphics card that will be doing physics work when I can buy a $400 card that was built from the ground up to be a PPU.

Nv40
10-08-05, 08:25 PM
It is very unlikelly that developers will be doing physics in ATI or NVidia gpus in real games. THey dont have the power to handle *heavy games* and at the same times physics. Looks Fear results.. a single R520 and the G70 are unplayable at 1600x1200 with highest quality settings. And when faster hardware comes ,heavier games will too. Physics will be done like today ,in the cpu ,for more complex physics ,dual core processors or Dedicated physics hardware is the way to go ,forget the PR marketing , Gpus will not solve the AIDs either.. :)