2 GPUs still TDR problems

Hi there,
I am having problems with CUDA code that triggers TDR, although the code is running on a different GPU than the monitor.

I have a win7 64bit, a Quadro2000 and a Quadro600, CUDA 7.5 with latest drivers 354.42. My only monitor is connected to the Q600, which in the NVIDIA control panel is set as dedicated to graphics tasks. Also the PhysX processor is selected as the Q600. The Cuda code is called by a mex function from matlab, I keep the GPU utilization graph on and I can see the Q2000 is called when the code is executed. Execution time depends on the size of the input, if I put it low everything works fine, I get a nice peak in the Q2000 use that lasts for less than 2 seconds. If I increase the size the monitor flickers a bit, the Q2000 use drops and I get all 0s from the code. Any attempt to use the code again in the same session fails, even if I decrease again the input size. I need to restart Matlab to have it working. Sometimes Matlab crashes as a result and when restarted it gives me an error for an unexpected crash and a warning that the current session uses openGL instead of graphic hardware, trying the code in this state does not change the outcome. Once I got an error from NVIDIA drivers about an error 3 in the kernel

I suspect this is something related with TDR but I can’t get my head on why this happens as I have 2 cards. I’d rather not mess with the TDR settings and try to setup the 2 cards properly… any help?


TDR isn’t just active on GPUs that have monitors attached.

It is active on all WDDM GPUs under windows.

I don’t remember if Q2000 supports TCC mode, but that is the best avenue when using 2 GPUs under windows; use one for display and have the other (compute) GPU in TCC mode if it is supported.