I am running NDRanges with big work sizes (about 1 million items) on my HD 5750 where each kernel is quite time consuming, so the whole NDRange takes almost 1 second to run. I've noticed that the Windows GUI almost freezes, for example if trying to move a window while running the kernels.
From what I can tell this is because Windows needs the GPU and cannot preempt to gain control of it from the kernels.
Question 1: Initially I assumed the whole NDRange would not run at once, instead I thought Windows could get control of the GPU in between local work groups. Now I'm guessing this is not the case, is that right?
Question 2: What is the accepted best way to prevent this temporary GUI freeze, if the kernels cannot be made to run faster? Dispatching many smaller NDRanges instead? If so, is there any guideline on the maximum NDRange execution time before the GUI starts suffering?
Thanks for your time!