burp running on 8 CPU and no GUP WU running

Message boards : Questions and problems : burp running on 8 CPU and no GUP WU running
Message board moderation

To post messages, you must log in.

AuthorMessage
Stanley A Bourdon

Send message
Joined: 30 Aug 05
Posts: 25
Message 46655 - Posted: 8 Dec 2012, 17:51:56 UTC

Hi

I have a Burp unit running using all 8 CPU. I have 2 seti beta (0.995 CPUs + 1 ATI GPU) and 2 collatz conjecture (0.01 CPUs + 1 ATI GPU) not running.
My memory is that with the other projects that took all 8 CPU the GPU still ran units.

Is this the way it is meant to work? If so why? If not is it being worked on?

thank you

Sb
permission is granted to move this post to a more appropriate place if nessicary
ID: 46655 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15483
Netherlands
Message 46656 - Posted: 8 Dec 2012, 18:17:58 UTC - in response to Message 46655.  

The SunflowerBender applications at BURP are multi-threaded, which means that they will use all the available CPU cores in the computer to run one task. It's normal.

The Seti and Collatz tasks will wait until there's at least one CPU free to be able to help them be run on the GPU.
ID: 46656 · Report as offensive
Stanley A Bourdon

Send message
Joined: 30 Aug 05
Posts: 25
Message 46658 - Posted: 8 Dec 2012, 18:54:03 UTC - in response to Message 46656.  

Hi

I understand that burp is hyper threaded there are at least 2 others ( simone, and yafu ) that do this.

Why does this keep the GPU from working especially with the collatz units that run fine with all 8 cores running single thread units.

Are there any changes being worked on to limit them to some number of cores less than all.

A work around was described. It seams to be too much work to use in my situation.

Actually yafu doesn't need all 8 cores to run..... if you trick it!

1. set all projects to no new work.
2. set ncpus in cc_config to # of cores you want to use for yafu. (5 or more)
3. read cc_config for change to take effect.
4. allow new work for yafu.
5. bump minimum work buffer up by 2 days in preferences.
6. downloaded yafu WUs only need # of cores entered in step 2, not all 8.
7. set ncpus back to 8 and repeat step 3.
8. drop minimum work buffer down by 2 days.
8. allow new work for other desired projects.
9. set yafu to no new work otherwise new WUs will take all 8 cores.
10. if needed, suspend any running tasks for a few seconds to get yafu started.

This will keep you crunching yafu for a couple of days and allow GPU and other CPU tasks to run as well. I have not tried setting ncpus to 4 or less. It may allow multiple yafu tasks to run at the same time and defeat the goal. This process takes a few minutes and it would be far better if yafu had a way to select the # of cores in project preferences. Another method is to fire up a virtual machine with the number of cores you want for yafu.

ID: 46658 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15483
Netherlands
Message 46660 - Posted: 8 Dec 2012, 19:15:28 UTC - in response to Message 46658.  
Last modified: 8 Dec 2012, 19:23:43 UTC

Why does this keep the GPU from working especially with the collatz units that run fine with all 8 cores running single thread units.

Are there any changes being worked on to limit them to some number of cores less than all.

It isn't something that BOINC does, but in this case the BURP MT application.

Multi-threaded is something different from Hyper-threaded. Hyper-threading is a thing that Intel CPUs do to fake that they have more cores than they actually have, by running one physical core together with a virtual one. Therefore some of their 4 core CPUs can run 8 threads.

Multi-threading is that an application will use all of the CPU cores (physical and virtual) simultaneously to do its work. These cores are then running at full blast, 100%, which means that when something else needs a CPU, it'll have to wait.

Just so you have an understanding of what the CPU actually does when it does work for the GPU: The CPU is being used to read the data about the task from disk, store it in memory, translate it into something the GPU can understand, transport it to the GPU, then wait for the GPU to do the work on that, before transporting the data back to main memory, translating it back into something the humans understand and saving it to disk.

Even if you only use 2% of the CPU (2 tasks running on the GPU), it'll want to be using that 2% whenever it can and it cannot when an MT application is using all that space.

Easiest workaround is not to run MT tasks together with GPU tasks. And else complain at the project(s) involved.
ID: 46660 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5082
United Kingdom
Message 46661 - Posted: 8 Dec 2012, 19:15:31 UTC - in response to Message 46655.  

It probably depends which version of BOINC you are using - you did remember to tell us that, didn't you?

There was a bug, introduced around v7.0.22 (while fixing another bug) and corrected in v7.0.31. It had the sort of effect you are describing.

BTW, it's (some Intel) CPUs which are hyper-threaded. An application like BURP's will be multi-threaded, as Jord says. That means you have to look for the acronym MT, rather than HT, in the version change log thread I've linked.
ID: 46661 · Report as offensive
Stanley A Bourdon

Send message
Joined: 30 Aug 05
Posts: 25
Message 46667 - Posted: 8 Dec 2012, 21:11:35 UTC - in response to Message 46661.  

Hi

sorry for the terminology error.

I am running 7.0.28 64

is there a stable enough version at or beyond v7.0.31 that i could run I am not ready to commit to being a tester again at this time.

thank you


ID: 46667 · Report as offensive

Message boards : Questions and problems : burp running on 8 CPU and no GUP WU running

Copyright © 2024 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.