Page 1 of 1

Assign WUs preferentially to preferred GPU

Posted: Tue Mar 24, 2020 10:55 am
by Mandrewch
My system has two GPU cards an older Geforce GTX 670 and a newer RTX 2060
is it possible to make sure that WUs are first assigned to the newer faster RTX 2060 and then to the GTX 670 if another WU becomes available

Re: Assign WUs preferentially to preferred GPU

Posted: Tue Mar 24, 2020 3:32 pm
by jonault
Not that I'm aware of, no. Ideally both of them would be folding full time as there would be no shortage of work units. As it stands, it's just the luck of the draw as to which one is able to get a WU.

Re: Assign WUs preferentially to preferred GPU

Posted: Tue Mar 24, 2020 5:09 pm
by Mandrewch
Thanks, it isn't going to matter much when there is a shortage of WUs that it in that case it goes that to a slower GPU

Re: Assign WUs preferentially to preferred GPU

Posted: Tue Mar 24, 2020 6:13 pm
by bruce
There are two possibiles:
I think FAHClient looks at your idle slot(s) and requests a WU for a specific hardware configuration. Then it probably moves on to another idle slot. I could be wrong about that, but if I'm right it will take a new Client release which won't happen any time soon.

When the Work Servers reach their individual bandwidth limit, they (briefly?) inform the Assignment Servers that they can't deliver any new WUs. The AS looks at the list of WS that report that they have WUs that match your Config and if none are avilable, you get that message. If you're seeking a GPU WU and the WS finds it can't find a functioning WS which has them there's no question of prioirty. Once it does find a server with GPU WUs, it does check your GPUSpecies but it's only dealing with the question about whether to give you a WU or not. If you're the guy with the GTX670, it's not going to say "Sorry, No_Assign" just because it thinks a RTX 2060 might come along a little later and ask for that same WU and it's the last one it has.

BTW, a GTX670 folding at 99% can be as fast as a RTX working at 55%. A project containing a small protein, can't effectively use an excessively large number of shaders so throughput can go down on "faster" GPUs. The same is true for CPU WUs. If science needs us to analyze small proteins, they can make good use of even a few threads as opposed to allocating a huge number of threads.

The AS/WS code does try to tune the overall performance of FAH by allocating proteins based on their size as well as available resources.