I think task priorities might be a good way to resolve this but if not, perhaps this can start a conversation as I expect I'm not the only person who would like to optimise how their computers crunch through GPU based work.
In my particular case, I have a 4 GB graphics card in a Windows 10 PC which is easily capable of running one "All-Sky Gravitational Wave search on O3" task but does not really have the RAM for two. This particular type of task is interesting because it has several long periods when the GPU is pretty much idle and so it would be good to run something else during these idle times. I have tried running two such tasks at once, sometimes with improved overall throughput but sometimes not and generally the computer is not usable for anything else otherwise throughput can be quite a lot worse. Running "Binary Radio Pulsar Search (MeerKAT)" tasks concurrently with GW tasks would be an option but these seem to massively put the brakes on the GW tasks while the MeerKAT tasks seem to run just fine, as if they were running by themselves.
What would be good in this situation is a way to suspend any MeerKAT tasks unless the GW task is not using the GPU. This way, the preferred GW task can run unimpeded but then the GPU is not idling away during those two or three CPU intensive periods. Perhaps a priority assignment for different types of tasks could be a way to achieve this? So basically high priority tasks will block lower priority tasks from running on the GPU unless they do not need it.
Of course this all might go away in a few weeks when the GW work runs out but then there'll hopefully be more work in the future, right?
On a side note, if it were possible to suspend low priority tasks then there would also need to be a good way of managing the retrieval of both type of tasks. Presently I need to disable the "All-Sky Gravitational Wave search on O3 (GPU) [O3AS]" option, then increase "Store at least n days of work" option in BOINC to get MeerKAT tasks and then once enough tasks have been downloaded revert those changes. BOINC should be able to download some low priority tasks alongside high priority ones so it can run them when there is time.
Copyright © 2024 Einstein@Home. All rights reserved.
Something along these lines
)
Something along these lines has been asked for MANY MANY times from the Boinc Developers but since they are all strictly volunteers now, no pay at all from Boinc, they are working more on keeping it going instead of expanding the capabilities of it. One idea that would help towards your problem is a separate cache for the cpu and the gpu crunching but again nothing yet has come out.
There is a Boinc Alpha gmail mailing group that talks about new things as they come out and asks people to test them before they are released as a new Boinc Release.
This link is how you can subscribe to the Boinc Alpha emails:
https://boinc.berkeley.edu/wiki/Instructions_for_alpha_testers