Multiple GPUs - where is the bottleneck? (Linux)

Discussion created by schenwo on Feb 23, 2011
Latest reply on Feb 25, 2011 by schenwo

Setup: HD5830 (for OpenCL computing), Nvidia 8500GT (for graphical desktop), Core i7, CentOS 5.5

When I have heavy OpenCL load on the HD 5830 I observe that my graphical desktop (which runs on a separate GPU with a separate X server) partly freezes despite having a multi-core CPU on which only one core is busy with handling the OpenCL overhead. I wonder why does this happen? Where is the bottleneck?

The freeze endures until the execution of a bunch of kernels started with clEnqueueNDRangeKernel is finished. In this time, input from the keyboard is not processed and video playback hangs. In contrast, moving windows with the mouse still works smoothly, and other processes which run on the CPU in the background are only slightly impaired. And one last observation: The OpenCL-related load on the CPU is mostly in kernel space.

Thus, I wonder if there is a performance bottleneck at the kernel or interrupt handling level while OpenCL kernels are started and executed on the HD5830?

Any other suggestions and maybe solutions to get things running smoothly in parallel? And what is your experience when you use several GPUs in parallel for OpenCL stuff? Does the parallel execution bring some performance gain, or do the GPUs slowdown each other?

Thanks, Wolfram