Joined: 19 May 13
I searched for this topic and apologize if I missed prior discussions... If this was discussed, please advise post link to the discussion thread.
I have a i7 12 core machine with 2 GTX 580 cards, 64g memory. Boinc manager version 7.0.64, 2.8.10.
I normally set the Bionc manager to 99% of CPU core as that appears to maximize this systems average output for most of the typical tasks executed. I believe output could be further optimized if the CPU usage setting was set to 100% and the Boinc manager determined the number of core CPU's to be:
Core CPU allowed less (the rounded up (sum requirements of all GPU CPU's requirements)).
It appears to me that the Boinc manager currently rounds each GPU CPU requirement individually (rather then cumulative). So the computer could be over on net CPU execution at the expense of the GPU's or vise versa where GPU's are near 100% utilized and CPU cores are under utilized.
I believe this will optimize both GPU and CPU core task execution.
Granted this can be done manually for the current work settings, by monitoring system monitors.....
Anyway, I look forward to any / all discussion.
Joined: 19 Aug 08
In this situation CPU utilization depends on three things:
The amount you tell Boinc to use (99%)
On what the scheduler reads as being required for the GPU apps
On what the apps actually uses
If an app says it needs 50% of a logical CPU, then task scheduling will go by that. If it says 10% or 90% then the scheduler will start up work going by that.
However, what the app actually uses is another matter, and the estimated CPU requirement is often inaccurate.
So with 2 GPU's and a 100% CPU usage setting, you could be using just over 10 of 12 threads (app says it needs a full CPU but uses next to nothing) or trying to use closer to 14 (app says/is told it needs 0.001 CPU's but uses a full CPU thread).
The CPU resource requirement read by the scheduler is based on average CPU requirements of the app. However, for some projects, some GPU WU's use more of the CPU than others, so the specified CPU resource requirement is inaccurate.
You could use app_config.xml files to specify the amount of CPU each GPU app uses and be closer to the mark, if you keep it in line with actual observed usage, say going by Task Manager. This would make the scheduler more accurate, and resource utilization potentially better, but as soon as a different WU turned up the accuracy would fall.
Copyright © 2022 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.