Everybody working in the GPU shader coding business has experienced Driver Hangs/BSOD’s/System reboots due to some infinite loop/typos or other bad behaviors from the WIP Shaders.
As a first measure of precaution i think it should be out of the question that we should make sure we use the latest driver for our hardware.
In order to improve efficiency sometimes the hardware manufacturer can decide to skip various safety checks (like out of bounds access). Luckily for the DirectX users that a switch to a REFERENCE device can return most of the checks back and aldo in some cases we will suffer a big speed penalty. A frame might take quite a few minutes to render but at least our software will run till the point of telling us a proper error message.
For the non-DirectX users or the people that a REF device is unacceptable Windows Vista SP1/Windows 7 comes to the rescue with a new safety feature named “Timeout Detection and Recovery of GPUs through WDDM”. Basically if the GPU driver doesn’t respond for a X period of time it get reloaded. What you might not know is that this behavior is controlled by a registry key and some programs can alter it (with your consent in the NVIDIA Parallel Nsight case) . Now if we uninstall such programs and forget to restore the feature or simply have a bad value there by some unexplained reason the Microsoft MSDN comes to our rescue with a full explanation of the system https://msdn.microsoft.com/en-us/windows/hardware/gg487368.aspx
Developing with Graphics technologies can sometimes have its painful moments but with a few tricks like these we can pass another day in development without having to constantly reboot our pc’s each time we test something.