Message boards : Questions and problems : Scheduling 2 GPUs
Message board moderation
Author | Message |
---|---|
Send message Joined: 22 Feb 12 Posts: 19 ![]() |
I have 2 identical GPUs on my PC. GPU0 supports my screen and GPU1 runs BOINC project tasks. At the monment I use the statement "<ignore_nvidia_dev>0</ignore_nvidia_dev>" in cc_config.xml to only allow GPU1 to run BOINC tasks. However I would like to utilise GPU0 to run BOINC tasks during those hours when I'm unlikely to be using the PC (typically overnight). One way I can see to do this is to write a procedure (Windows 10) to add/delete the cc_config statement and issue the "boinccmd" command to reread the config file according to a schedule. This raises a few questions though. What happens to a task running on GPU0 when the config file is changed to disallow GPU0 being scheduled to run a task. 1) Is the task just terminated. 2) Does the task then lie dormant until scheduling on GPU0 is enabled again. 3) Is the task put back in the queue and eventually rescheduled on GPU1 when possible. |
Send message Joined: 5 Oct 06 Posts: 5149 ![]() |
I think <ignore_nvidia_dev> is one of those cc_config items which can't be changed dynamically while the client is running. You would have to use boinccmd --quit and then restart the client - that can be done from the command line too, but it's best to allow 10-15 seconds for all processes to clean up and shut down before the restart. Apart from that, your idea sounds feasible, and is the only way to achieve what you want until we finally get #41 implemented. Both running GPU tasks will be stopped when the client is stopped, and only one will be restarted in 'day' mode. The second will sit 'waiting to run' until a GPU becomes available, and then be restarted in preference to a new task starting. [As it happens, I'm writing this on a computer where GPU0 is driving two high-res screens, and I've been doing some programming work all morning. I'd almost forgotten that GPU0 has also been running an intensive GPUGrid task all the time. If you haven't experimented recently to see if BOINC can co-exist with your foreground work, you might consider doing so.] |
![]() Send message Joined: 29 Aug 05 Posts: 15625 ![]() |
I think ignore_nvidia_dev is one of those cc_config items which can't be changed dynamically while the client is running.Yes, all GPU detection decisions are made at BOINC startup. There's one caveat, and that's the fast user switch/remote desktop protocol login, that one will disable all GPUs when it's detected and re-enable them when it's gone. |
Send message Joined: 22 Feb 12 Posts: 19 ![]() |
Thanks for the reply. I've now got a reasonable idea how to do what I want. When (if ?) I get it programmed and running I'll report back here on the slight chance that others might be interested. Many thanks. |
Send message Joined: 1 Jul 16 Posts: 147 ![]() |
Run a BOINC client per GPU so that one can stop GPU processing when the PC is no longer idle or use the scheduler one the GPU client running your monitor. |
Copyright © 2025 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.