My question is there is any limit of time from OpenCL in work items?
And is there is any way to increase that time ?
I read in some web sites there is a limit of delay inside each work item equal to 10s seconds or more in bad cases !
but i don't know is that true or false ?
I will explain to you my problem , i have a small program in OpenCL contain "for loop" and some operations, the program work successfully , but when i re-write the same program code but with a bigger "for loop" the Microsoft Visual Studio stop execution my program and a message appear telling me "display driver stopped responding and has recovered ".
therefore i asked is there a specific time if the work item doesn't finish it's work during it the execution will stop ?
There's no limitation on how long a single workitem of workroup is executed.
But there is a limit that any of your enqueued NDRanges cannot exceed approx. 10 seconds.
It's a good feature: the driver thinks that your kernel reached an infinite loop or something, and resets the GPU. You'r program will crash, but at least you don't have to reset your PC.
To avoid this, make sure that none of your clEnqueueNDRangeKernel() takes longer than 5 seconds.
I appreciate supporting , i think you solve my problem but please if you can provide me with reference PDF, link ,book
that include these information because i need it to document my resource.
As I remember, this thing was called 'VPU recover' and it had a checkbox in the older versions of Catalyst control panel.
This function is always enabled in new drivers.
You're lucky, there is a whole PDF that is all about "VPU Recover" -> http://www.ati.com/products/catalyst/VPU_OVERVIEW.pdf