Disclaimer: It certainly can be software, it could be an issue with dirty power, you could find that there are manufacturer drivers out there that are not the latest, but are tested to be more reliable by users. It could be the power connections are not as well connected as they could be, and that it might not be seated well in the socket. I'm listing things you can test, and ways you can "improve" the situation IF it is the usual cooling issue.
The AMD card is more likely to hit this gpu recover which is a hard fail usually like a few bits of ram total wrong, or processing going awry, usually in high temperatures (probably ram from most of the designs).
Continued overclocking No! :-)
Run furmark test the gpu processor, then test the ram with an artifact testing, always watch the temperatures when doing the hard testing like that. By testing the processing of it "more" with the renders, and testing the ram of it "more" with the artifacts testing, you could see if one aspect of it causes the recover problem. Watch the temperatures and see what temperature it more likely happens in.
Crank up the fan till your ears bleed (100%), and test again, use the furmark or play a game with the fans going full bore.
Try to keep the temperatures displayed to the user below 80*C and see if it still does it.
Sure the GPU is fully capable of surviving some 100*C temperatures, and working fine (so they say) I just don't find that to be true myself, and the rams are often hotter than the GPU in different manufactured designs.
Clean out the dust.
Stop the automated stepping, and create specific profiles for the clock rates. I use "Green" as a Gpu 300- mem300 for desktop and 2d browser, and idling. I use "low" 600 - 600 for watching HD video, minor games that are mostly 2d, and editing and other low GPU difficulty tasks. I use a Stock profile called "Med" I manualy created for games, and I do have a "High" Overclock profile for those tough to render games.
Profiles are then easily accessed via the Catalyst notification tray icon (right click). For me it has always been easier and better to snap to the exact speed I desire, vrses the auto. Some people would find it a pain. My "green" 300-300 setting is lower than the software will even set it.
Potentially fan speed can be locked into manual profiles also, but I am using speedfan and advanced fan control (graphing) to get that automatic my way.
As a last effort when you have nothing to lose and no warranty, and are ready to throw it out, get ram pads, and thermal interface goop like as5 and dissassemble the whole thing, clean it out, change the thermal interfaces so it is new and fresh and clean, and reassemble more carefully than they do when pumping them out on a production line.
Mine works :-) But I breech the warranty right after I test it to be operational, I always use some fan graphing program, like afterburner, atitool (obsolete mostly), or this time it is speedfan, to change the temperature profile. I do not need it cooler than 60* and I do not want it hotter than 80*. I get it in that zone as best as possible.
I find drivers with the least stability complaints and everything goes perfect for years. I avoid updating drivers when it is working properly, unless the update states that it solves specific issues with a game I am having that specific issue with. I would also update if they would give us better control of the thermal profiles without 3rd party software.
The Bclk adjustments on the motherboard over 100 increase the PCI bus speed, I tried for a long time to get minor bclk tweaked just a bit higher like 102 & 105, because it would Push the Video and my raid a little harder. On my motherboard an Asus Hero, changing the bclk never did anything useful and everytime created instabilities that did not show up right away.