Another question : CPU & GPU vs. total CPU usage

Message boards : Number crunching : Another question : CPU & GPU vs. total CPU usage
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile FalconFly
Avatar

Send message
Joined: 5 Oct 99
Posts: 394
Credit: 18,053,892
RAC: 0
Germany
Message 1551542 - Posted: 2 Aug 2014, 20:02:36 UTC
Last modified: 2 Aug 2014, 20:02:58 UTC

Hm,

I've been pondering that question but couldn't come to a definitive answer.

Most know that by default, the BOINC Client will load up all CPU cores AND the GPU.
Of course, most users optimizing their system free up CPU cores to maintain optimum loadout of the entire system.

But which of the two methods I'm aware of is best?

- On multiprocessors, use at most xxx% processors
(general computing preferences or computing preferences of individual BOINC Client in local preferences)

OR

- modify <avgcpus> and <maxcpus> to higher number as to reserve CPU cores

As I'm seeing the CPU load from all tasks distributed across all CPU cores, I wondered if using the first option might actually leave unused performance (with both CPU and GPU tasks i.e. just hopping around a now limited number of cores by the Windows management and effectively just generally lower CPU load).

Thinking about it, it would seem more reasonable to use the <avgcpus> and <maxcpus> value.

But in end, I'm not sure if both methods might actually yield identical results or one being a better performance option ?
ID: 1551542 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1551559 - Posted: 2 Aug 2014, 20:40:45 UTC - in response to Message 1551542.  

I wondered if using the first option might actually leave unused performance (with both CPU and GPU tasks i.e. just hopping around a now limited number of cores ....

No, BOINC doesn't interact with the hardware at that level.

In practice, "use at most xxx% processors" translates to "only launch enough BOINC child processes..." (i.e. science application instances) "...to use this number of cores" [and by implication, let Windows manage things from there].

Don't forget, Windows is a multi-tasking operating system (well, by time-sliced multiplexing), with typically over 100 separate processes jostling for space/time on 4 or 8 processing units.
ID: 1551559 · Report as offensive
Josef W. Segur
Volunteer developer
Volunteer tester

Send message
Joined: 30 Oct 99
Posts: 4504
Credit: 1,414,761
RAC: 0
United States
Message 1551571 - Posted: 2 Aug 2014, 21:00:57 UTC

Using the <avg_cpus> has an advantage if you run out of GPU tasks some time when the project is down (if there are still enough CPU tasks left to occupy all CPUs). AFAIK, BOINC does nothing with the <max_cpus> value but of course that might change in future.

Unless some method of setting processor affinity is used, Windows or any other multitasking OS will probably always try to balance CPU loads by shifting processes periodically to different cores. The OpenCL applications do have a -cpu_lock option which sets affinity, some systems get more productivity but others less.
                                                                   Joe
ID: 1551571 · Report as offensive
Profile FalconFly
Avatar

Send message
Joined: 5 Oct 99
Posts: 394
Credit: 18,053,892
RAC: 0
Germany
Message 1551655 - Posted: 2 Aug 2014, 23:44:56 UTC - in response to Message 1551571.  

Hm, okay, so I think I'll continue to go with use xxx% of CPU cores, as it's easy to switch on the fly...
ID: 1551655 · Report as offensive

Message boards : Number crunching : Another question : CPU & GPU vs. total CPU usage


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.