11

Im trying to increase the timeout on the GPU from its default setting of 2 seconds to something a little longer. I found the following link but it appears its slightly different in windows 7 as i cant see anything mentioned in the webpage.

Has anyone done this before? If so could you fill in the gaps please.

Thanks

@RoBik so as follows if i want 6 days (bit excessive i know but just for example)? Thanks again for your help, +1.

EDIT This is the error im currently getting.

An error has occured and the operation has been terminated. CUDA.NET exception: ErrorLaunchTimeOut. Stack Trace for above error: at Cudafy.Host.CudaGPU.HandleCUDAException(CUDAException ex) at Cudafy.Host.CudaGPU.DoCopyFromDeviceAsync[T](Array devArray, Int32 devOffset, Array hostArray, Int32 hostOffset, Int32 count, Int32 streamId) at Cudafy.Host.CudaGPU.DoCopyFromDevice[T](Array devArray, Int32 devOffset, Array hostArray, Int32 hostOffset, Int32 count) at Cudafy.Host.CudaGPU.DoCopyFromDevice[T](Array devArray, Array hostArray) at Cudafy.Host.GPGPU.CopyFromDevice[T](T[,] devArray, T[,] hostArray) at FrazerMann.Profiler.UserInterface.TaskManager.DataRetrieval() in C:.....\TaskManager.cs:line 255 at FrazerMann.Profiler.UserInterface.MainView.btnEvaluation_Click(Object sender, EventArgs e) in C:....\MainView.cs:line 338 Inner exception:

Hans Rudel
  • 3,433
  • 5
  • 39
  • 62

1 Answers1

15

The link in your post is correct, you just need to create the corresponding key with the desired value. You will find the TDR Registry Keys description here. The setting you are looking for is

TdrDelay
Specifies the number of seconds that the GPU can delay the preempt request from the GPU scheduler. This is effectively the timeout threshold. The default value is 2 seconds.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDelay
ValueType : REG_DWORD
ValueData : Number of seconds to delay. 2 seconds is the default value.

What you need to do is to create a new key named TdrDelay of type REG_DWORD under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers and set its value to what ever you desire (value in seconds). After that you need to restart your computer for the setting to take effect.

RoBiK
  • 1,740
  • 12
  • 15
  • Thanks for replying. I think ive got it, see above, but just want to check incase i screw something up. – Hans Rudel Jun 19 '13 at 10:43
  • Hey, just tried running a kernel which should take approx 6 mins to run. I keep getting the following error (see edit to the original question.) Any ideas why this might be? The TdrDelay settings are still set at 518400 so im surprised its not working. It works for smaller kernels which run in ~40seconds. Havent tried anything larger yet. – Hans Rudel Jul 06 '13 at 10:05
  • 4
    @HansRudel that is strange, the default value for TdrDelay is 3 seconds but you are able to execute the 40 seconds kernels so that means that you have successfully changed it. Why it is failing for the long kernel i can not tell. Why don't you just try to disable the watchdog completely by setting the TdrLevel value to 0? – RoBiK Jul 07 '13 at 17:17
  • Yeah fair point. Not at home atm but ill give it a shot later n see how it goes. Thanks again. – Hans Rudel Jul 07 '13 at 17:39
  • Required reg commands: `reg query HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers /v TdrDelay` and `reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers /v TdrDelay /t REG_DWORD /d ` – masterxilo Jun 28 '16 at 13:03