cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

geoffrey
Journeyman III

*VERY* poor OpenCL/OpenGL interop performance

Acquire and release GL objects take orders of magnitude longer than kernels

Hi,

I've been experimenting with GL-interop, and for some reason, even the SimpleGL SDK sample is ridiculously slow (around 60-70 fps).

After some investigating using APP Profiler, it would seem that the kernel itself executes very fast in about 0.3 ms, but ACQUIRE_GL_OBJECTS and  RELEASE_GL_OBJECTS tasks (listed in the Data Transfer row) take up about 5.6 milliseconds, each!

As the time consumed is proportional to the size of the texture, I must assume that some kind of (possibly CPU-GPU) copying takes place. The question is, why? I would have thought avoiding these costly copies is the point of using interop.

I'm using VS2010, APP SDK 2.5, Catalyst 11.8, Windows 7 x64 and a single Radeon HD 4850 video card.

Regards,
Geoffrey

0 Likes
2 Replies
geoffrey
Journeyman III

Okay, solved this on my own.

Simple the HD 4850 card is not yet suited for GPGPU calculations, and the texture did get copied through system memory.

The HD 6xxx series cards ran this demo at ~600 fps, as expected.

0 Likes

The 4850 is a very powerful card for a subset of GPGPU calculations(and mainly using CAL, not OpenCL), but the HD5XXX series and later is the first generation of hardware that was designed with OpenCL in mind, so it is recommended to use at least that generatation.
0 Likes