Message boards : BOINC client : Add a Flag in cc_config to Prioritze GPU Work
Message board moderation
| Author | Message |
|---|---|
Steve DoddSend message Joined: 28 Nov 09 Posts: 12
|
Just a suggestion, of course, but I'd like to keep my GPUs working and prioritized above the CPU work. Even giving the GPU project 100% Resource Share and lesser amounts for CPU projects, I still get GPU pauses. Putting a flag in cc_config for the BOINC client would be one possible solution? Steve
|
Vitalii KoshuraSend message Joined: 29 Mar 17 Posts: 201
|
Are you sure you have the correct settings? I have never seen a situation when GPU is idling because of the CPU task. BOINC maintainer. For any insight, check my BOINC Development Blog. |
|
Send message Joined: 1 Jul 16 Posts: 217
|
In reply to Vitalii Koshura's message of 4 Jan 2026: Are you sure you have the correct settings? This easily happens when a GPU app is set to require a full CPU thread. If you have 8 threads, running 8 CPU tasks and the GPU app requires 1 GPU and 1 CPU, then you're not going to run the GPU until a CPU task completes. Memory availability can also cause this. An app_config.xml for the GPU app set to use 0.1 CPUs or a separate client instance just for GPU will solve the issue. I always have a separate client just for handling GPU processors as the client does not handle mixed work very well. |
Vitalii KoshuraSend message Joined: 29 Mar 17 Posts: 201
|
Please enable the next log flags: cpu_sched cpu_sched_debug cpu_sched_status
BOINC maintainer. For any insight, check my BOINC Development Blog. |
|
Send message Joined: 7 Dec 24 Posts: 243 |
In reply to mmonnin's message of 4 Jan 2026: In reply to Vitalii Koshura's message of 4 Jan 2026:I have never, ever had this occur. If i have my system using all cores and threads on CPU work, with a GPU Task running as well, and i reserve 1 CPU core/thread <gpu_versions>
<gpu_usage>1.0</gpu_usage>
<cpu_usage>1.0</cpu_usage>
</gpu_versions>And Read config file, then one CPU Task will stop processing and show as Waiting to run. If i set it to reserve 2 CPU cores/threads <gpu_versions>
<gpu_usage>1.0</gpu_usage>
<cpu_usage>2.0</cpu_usage>
</gpu_versions>And Read config file, Another CPU Task will stop processing. leaving 2 Waiting to run. If i set it to use 1 CPU core/thread, but multiple Tasks per GPU <gpu_versions>
<gpu_usage>0.33</gpu_usage>
<cpu_usage>1.0</cpu_usage>
</gpu_versions>I'll end up with 3 CPU Tasks Waiting to run (or 6 if i have 2 GPUs). If i run out of CPU work, then all CPU cores/threads will process Tasks again. As soon as more work for the GPU downloads, CPU Tasks will stop processing as those cores/threads are released to support the GPU Tasks. If i go back to <gpu_versions>
<gpu_usage>1.0</gpu_usage>
<cpu_usage>1.0</cpu_usage>
</gpu_versions>It will go back to just one CPU Task Waiting to run. The only way i can imaging something like what you suggesting occurring is if a cache is pretty much full to the brim/ Tasks are up against deadlines (a system had more downtime than usual eg power failure), and CPU Tasks are being processed in priority mode to try to avoid missing the deadline. Grant Darwin NT. |
|
Send message Joined: 1 Jul 16 Posts: 217
|
Run Asteroids which has the same app for CPU and GPU. Or set the project priority as a ratio between CPU and GPU tasks (8x or more higher for CPU project then GPU project for an 8 threaded CPU). You jus described it is possible to idle a task, the client just didn't prioritize the GPU. |
Vitalii KoshuraSend message Joined: 29 Mar 17 Posts: 201
|
There is now a new <prioritize_gpu/>option in cc_config.xml file that enabled GPU prioritization. BOINC maintainer. For any insight, check my BOINC Development Blog. |
Copyright © 2026 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.