Physic with OpenGL

HI,

is there a possibility to use the PPU (Physic Processing Unit) of Nvidia or ATI to calculate Physic WITHOUT having to use their SDK ?

I want to calculate things with that chip, is that possible ?

I want it for helping the GPU and CPU…

Could I also use one CPU for the main programm and another for physic/network/… ?

I don’t want to to so complicated thinks as in the examples ^^

Only Ageia build PPU, nVidia after acquiring Ageia stopped the production.
And no, you can’t use any hardware device without the driver and the SDK that use the driver.

I think you should go in openCL forum.
http://www.khronos.org/message_boards/viewforum.php?f=27

Why ?
Aren’t these functions defines which I can use ?
So OpenGL is just a API that uses the same hardware as the official SDK of nVidia, or not ?
The functions of DS or PSP where also gotten by #define, or not ?

  1. Isn’t OpenCL another programming language ?

  2. I thought ATI also uses a extra chip for doing physics…

So OpenGL is just a API that uses the same hardware as the official SDK of nVidia, or not ?

No. Unless you’re using NVIDIA extensions, OpenGL is just a cross-platform rendering system. NVIDIA’s SDK (as far as it uses OpenGL) is built on top of OpenGL, not underneath it.

The functions of DS or PSP where also gotten by #define, or not ?

I don’t think either of those uses OpenGL. The PSP might use OpenGL ES, but I’m not sure of that.

  1. Isn’t OpenCL another programming language ?

Yes. OpenGL is designed for rendering images. OpenCL is designed for general-purpose computation. Physics is more inline with general-purpose computation than rendering images.

  1. I thought ATI also uses a extra chip for doing physics…

ATI doesnt have any physcs support. There is no any magic PPU chip on gfx board. NVidia Physx is just implementation of Ageia Physx API on GPU.

OpenGL is rendering API. It is best to use for that. Anyway, you can use it for number crunching too but it is much easier to crunch numbers using CUDA or OpenCL.

@DarkShadow: I think you are making a bit of confusion. OpenGL is only for drawing, but since GPU power became more powerfull of CPU people start using some trick to make some computation on it. The simpler example is particle animation. They use some texture to store position end velocity and use a shader to update these value.
Now that GPU are totally programmable you can use more complicate tricks to store information in buffer to computer some basic physics with openGL but actually it’s a lot better to use specific language for them, like openCL.

But how can I programme the GPU ?
I downloaddew OpenCL but OpenCL.dll is missing…

By installing the runtime library?
Don’t know… ask on OpenCL forums… really. :slight_smile:

You need OpenCL driver. Depending on uderlaying hardware, download proper driver version from NVidia or AMD/ATI website.

So PhysX does run on the GPU ?
Because I don’t see any difference between software and harware rendering…

Isn’t software CPU and hardware GPU ?

I thought PhysX is using an EXTRA chip on the graphic card ?

And how can I programm on the GPU without OpenCL ? (CUDA ?)

“So PhysX does run on the GPU ?”

Sometimes, but currently only on nVidia and even then not always.

“Isn’t software CPU and hardware GPU ?”

Basically yes. Though “hardware” is more like “running on anything BUT a CPU.”

“I thought PhysX is using an EXTRA chip on the graphic card ?”

No it doesn’t.

“And how can I programm on the GPU without OpenCL ? (CUDA ?)”

Become an nVidia/ATI engineer maybe. In any other case, you just don’t.

Jan.

And how can I programm on the GPU without OpenCL ? (CUDA ?)

Is there something wrong with OpenCL?

true on nvidia hardware.

Yes. What kind of difference are talking about? About performances, quality?

No, AGEIA has built a dedicated chip for this but it never worked (economically speaking) because it was too expensive.

I don’t think you can. You can use ATI Close To Metal, but it is ATI specific. With OpenCL you program any compatible harwdware from any manufacturer, so why using something else?

I installed my drivers again, but OpenCL still doesn’t work…

Can’t you upload “OpenCL.dll” somewhere ?

[quote
Yes. What kind of difference are talking about? About performances, quality?][/QUOTE]

Both. I used the sample of Nvidia, but it is the same if I run it with “hardware” and “software” .

Could I use shaders to simulate physics ?

For your OpenCL problem, please go on this forum:
http://www.khronos.org/message_boards/viewforum.php?f=28

Another questions: How can it be that my PC now supports a new extension ?
I didn’t install new drivers, only a SDK…

And can I use shaders to simulate physics ?

What extension? Which SDK? OpenGL does not have any SDK.
A driver update may bring up the support of an opengl extension if the hardware is capable. For example, the Mesa3d driver, 7.5 release has brought the support of fbo which was not the case in previous ones.

If you think that it is possible to implement a physical simulation algorithm in glsl or Cg, nothing prevents you from doing it. It is just that these languages are more designed for 3d rendering.