multi GPU's may cause CPU cores to not be "fully" utilized

Message boards : GPUs : multi GPU's may cause CPU cores to not be "fully" utilized
Message board moderation

To post messages, you must log in.

AuthorMessage
jdzukley

Send message
Joined: 19 May 13
Posts: 4
Message 49215 - Posted: 19 May 2013, 22:07:51 UTC

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.





ID: 49215 · Report as offensive
skgiven
Avatar

Send message
Joined: 19 Aug 08
Posts: 87
United Kingdom
Message 49305 - Posted: 25 May 2013, 8:56:01 UTC - in response to Message 49215.  
Last modified: 25 May 2013, 9:00:54 UTC

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.
ID: 49305 · Report as offensive

Message boards : GPUs : multi GPU's may cause CPU cores to not be "fully" utilized

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.