A while ago, I swapped out a slow 512MB GPU with a faster 256MB GPU. All of the in-progress and downloaded work units refused to run and showed a status of "Waiting for memory". So at first I thought seti wouldn't run on my 256MB GPU. But when I put that card in another box, seti recognized it and loaded it with work units. Everything worked fine.
I saw different work units called cuda_fermi on yet another gpu in my network. I concluded that on the server side, seti looks to see what hardware you have and loads appropriate work units.
My question is... how much flexibility do I have in swapping out my GPUs and not upsetting the apple cart? Would it be better to abort unfinished GPU work units and have seti download new ones whenever I swap out a graphics card? Should I instead only do that in cases where the gpu work units won't run?
I read the boards after my problematic GPU switch and did in fact roll back drivers all the way to the 180 series. I turned off one of my monitors, etc. and CPU-Z always reported 256MB. I could not make the work units for the 512MB GPU restart in the 256MB GPU. As soon as I put the old GPU back, the tasks started running again.
So if you say it's OK to keep running tasks for another GPU, I can do that and will only abort if they don't restart or if I see computation/validity errors.