I have two computers which use different amd radeon gpus (7970 and a 5850). Both of the machines hang on DistrRTgen at 100% every now and then. Once DistrRTgen hangs, it will never come back on its own. For example, I went away once a trip and came back and find that one of my machine was stuck on it for 72 hours and the other for 118 hours. Clicking suspend and then resume will complete the task though I have not check to see if the result is valid or not.
What I did to improve my up time is to download BoincTasks and add a rule to suspend DistrRTgen after so many minutes. It works about half the time. I will often find a DistrRTgen task suspend at whatever time I set and another instance of DistrRTgen working correctly. I just hit resume to flush the suspended task. However, every once in a while, I will find DistrRTgen hanging for hours. WIth BoincTasks and checking Boinc every now and then, I find that DistrRTgen is able to run most of the time.
I used the BoincTasks found at www.efmer.eu/boinc/boinc_tasks
I wished I knew how to make DistrRTgen run all the time without having to check on it, but at least it is up and running more often than it used to be. Someone else did a writeup on BoincTasks in this Forum and that is why I started using it.