Information about kernel execution time limit? large kernels blank the screen

Hi, I’m a newcomer to CUDA so forgive me if any of my questions seem a little vague. I’m writing small test apps at the moment to teach myself the ins and outs of cuda programming. I’ve written a very simple Mandelbrot renderer to test the performance of my GTX 280 - problem being that my kernel is quite large, and running it out of emulation mode with a fairly reasonable thread/iteration count will make my screen go blank, forcing me to reboot. Normally I’d experiment to see where exactly the problem lies, but having to reboot every time the program runs is a little over the top.

I’ve heard from various sources that the OS (in my case Vista) limits kernel execution time because of quirks in the driver model, but nothing specific and I’m not sure if a problem as catastrophic as this could be caused by a large kernel or not (surely the program would just crash, and not make the whole system unresponsive)? At the moment my kernel is a mess, but I’m hesitant to change and test anything because of the blanking issue. Is there any concrete information on the limit on kernel execution time?

PS. The reason the execution time is so large is because I’ve implemented complex powers! Without complex powers I can run at 2048x2048 @ 5000 iterations just fine… with complex powers, I’m not even able to run a kernel with 32x32 @ 20 iterations.

Maximum running time of a single kernel is limited to 5 sec in Windows XP (And it’s ‘virtually’ unlimited if you don’t have monitor attached to graphic card. But due to confirmed driver bug even in this configuration max. running time is limited to ~10-12 sec).
In Vista I believe max running time is 2 or 3 seconds, but you can adjust (or even disable) it in system registry (that’s pure theory, I haven’t tried it ;-) )

Hmm. That does seem like an awfully large limitation. Have nvidia acknowledged the problem… any fixes on the way? I suppose it’s fairly simple to work around but I’d rather not have to design my programs around a quirk which may or may not be permanent.

I don’t mean to hijack this thread, but this is the first I’ve heard of a limit on kernel execution time. Does LINUX suffer from the same limitation and, if so, what is the maximum kernel execution time there?

It has been acknowledged and should be fixed with the next official driver.

With Linux you can avoid 5 sec limit by not running X, AFAIK.

Please see some information:


Thanks for the information!