Kernel crashing drivers: simply too long?

I wrote this kernel here:

[url=“http://codepad.org/MGZYtNRO”]http://codepad.org/MGZYtNRO[/url]

and i ran it on a gtx280 device, where it makes crash the graphics driver (video driver has stopped working and has been recovered)

the problem arises when i raise the dimension of the parameters of gsizeXY and gsizeT above 2.
as far as i understand gpus are some sort of SIMD processors and execute all branches.

In my case, with gsizeXY =3 and gsizeT=2 i would have something like 1000 iterations
is it simply too much?

another thing i dont understand exactly is when that error is supposed to happen.
I always tought that it happens when a single program takes more than 2 seconds to execute.

But in my case here, i made a small mistake in the beginning , and i had the line 53 as following:
|| (ct < 0) || (ct >= zres)) {

since zres in my tests was always 0, it executed some meaningful code only for the first 3 or 4 images (depending on gsizeT), but it DID work with a gsizeXY of 3, even tho it branched into //do nothing for most of the times

is there something else i am missing?

Watchdog.

Thanks, in fact that was it… And for some reason i forgot i had the same problem on windows vista…

However, if someone searching the forum lands here having the same problem,

i solved changing the first 2 values described here :
[url=“Testing and debugging TDR during driver development - Windows drivers | Microsoft Docs”]Microsoft Docs - Developer tools, technical documentation and coding examples

in fact the one that matters is the first one. If your “enqueueNDRange” exceed that time, drivers will be stopped.
Also changing that value requires rebooting :)

hope it helps