Ne yazık ki çoğu GPU bir seferde birkaç görevi yürütmeyi desteklemiyor ve bu nedenle öncelik atamanın bir yolu yoktur. Bu, OpenCL çekirdeğiniz çalıştığında, GPU tarafından yürütülen tek görevdir ve çekirdek tamamlanana kadar durum böyle olacaktır.
Çekirdeği çalıştırırken bilgisayarın kullanılabilmesini istiyorsanız (normal masaüstü etkinliği, göz atma, videolar, oyunlar) her çekirdek yinelemesinin çok hızlı olması gerekir. Bu nedenle, her bir çekirdek başlatma kümesi tarafından harcanan zamanı azaltabilirsiniz (yani, clEnqueueNDRangeKernel ile sıralanan her iş), aradığınız şeyi elde edebilirsiniz. Bu, NDRange'ın küçültülmesiyle elde edilebilirdi, ancak GPU üzerinde etkili olacak kadar büyük olması gerekiyordu. 5120 iş öğesi gibi bir şey, Radeon HD 5870'de en az olduğum şeydi. Veya her çekirdeğin miktarını azaltabilirsiniz.
Her bir küçültülmüş işin yürütme süresini saniyenin 1/2'si kadar düşürürseniz, bilgisayarın kullanılabilir olması için iyi bir şans vardır. Herhangi bir şey fark etmeden oyun oynarken her bireyin saniyenin 1/120'ini aldığı OpenCL programlarını çalıştırabildim.