The rigid body simulation on a Radeon HD 6970
Here is a test of rigid body simulation in OpenCL. The rigid body pipeline runs 100% on GPU:
OpenCL_gpu_rigidbody_pipeline_AMD is a proof of concept of a rigid body simulation, entirely running on GPU using OpenCL. The demo currently only runs on AMD Radeon with up-to-date graphics/OpenCL drivers. It works on a recent NVIDIA GPU with latest 290.53 graphics drivers.
The OpenCL kernels are compiled the first time you run the demo. After that, the startup time should be much better.
You can download this prototype HERE.
I tested the demo on a Radeon HD 6970 with latest Catalyst 12.1 and the demo seems to work fine. But on GeForce GTX 460 with R90.36 it’s another story. All blocks fall together, that’all!
The rigid body simulation on a GeForce GTX 460
Source: Geeks3D forum
On Hd4650 mobility ,all the blocks seem to fall together!!!
Works correctly here, on my GTX570 and the latest beta drivers (295.51). I just had to edit the batch file for the Nvidia binary to enable interop for a nice speed-up.
on 560 Ti works good, 290.53 driver
GTX470 + 9600GT..
running the without_interop_nvidia.bat
this uses 9600GT only..even with CUDA set in control panel to use only the GTX470..blocks move all together
edit the bat to allow interop..
this uses the GTX470..
and works as it should
running 295.51
I tried to update 295.51beta and I can work 100% running GTX 480 but I think to OpenCL 1.1 is 1.5x slower than 1.0 because also for LuxMark but nvidia doesn’t fix this issue yet about 3 months…
i wonder what the point of the AMD and nvidia versions of exe’s and bat’s is?
i mean the AMD versions work identically to the nvidia versions
without_interop_xxx works on the gtx470 if i change –preferred_gpu to 0 (from 1)
with_interop is set to –preferred_gpu=1 but still runs on the gtx470..
…strange..
“but nvidia doesn’t fix this issue yet about 3 months…”
NVidia has CUDA, OpenCL is for AMD.
“NVidia has CUDA, OpenCL is for everybody.”
Fixed.
“Fixed.”
NVidia has CUDA, OpenCL is for AMD which can’t GPGPU at all, because of invalid VLIW5 design and screw hands.
Now fixed.
On GF9500GT with 285.62 (latest official driver) all blocks fall together – nothing interesting happens. It would be quite strange to be architecture feature dependent. Does it use anything special in particular ?
By creating an efficient, close-to-the-metal programming interface, OpenCL will form the foundation layer of a parallel computing ecosystem of platform-independent tools, middleware and applications.