https://stackoverflow.com/questions/17186638/modifying-registry-to-increase-gpu-timeout-windows-7
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:
asked Jun 19 '13 at 8:40
1,27332953
-
Are the
cuda
andcudafy.net
tags really relevant? – BenC Jun 19 '13 at 9:27 -
@BenC i have removed the cudafy.net tag but i left the cuda tag there, this issue with the TDR Timeout is quite common when launching cuda kernels – RoBiK Jun 19 '13 at 11:25
-
@RoBiK: all right, I needed to make sure :o) – BenC Jun 19 '13 at 12:07
add a comment |
1 Answer 1
up vote12down voteaccepted
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.
answered Jun 19 '13 at 9:02
1,520913
-
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
-
1
@HansRudel the screenshot looks correct to me – RoBiK Jun 19 '13 at 11:22
-
Thanks very much @RoBik – Hans Rudel Jun 19 '13 at 11:42
-
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 6 '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 7 '13 at 17:17