CUDA and multi CPU?

Questions and Answers : GPU applications : CUDA and multi CPU?
Message board moderation

To post messages, you must log in.

AuthorMessage
BP1986

Send message
Joined: 24 Mar 06
Posts: 18
Credit: 88,495
RAC: 0
United States
Message 846280 - Posted: 29 Dec 2008, 7:51:45 UTC

I just updated and starting getting into the CUDA processing and there is something confusing about it. I realize that the new Seta@home app is not capable of doing both GPU and CPU at the same time, so I started up another app. Now, I have told BOINC to use both my CPUs and all the power they have, but for some reason, this other app will not use both of my CPUs.

I have a feeling it is because my limit is set to 100%, but when you add what should be running (50% + 50%) to the odd little number that CUDA gives the CPU (.03)... that is 103%. ...Programming error? or any other ideas?
ID: 846280 · Report as offensive
OzzFan Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Apr 02
Posts: 15691
Credit: 84,761,841
RAC: 28
United States
Message 846331 - Posted: 29 Dec 2008, 11:54:50 UTC - in response to Message 846280.  

The SETI/AP apps are not multithreaded, so they can only use a single CPU at a time.
ID: 846331 · Report as offensive
Profile S@NL - eFMer - efmer.com/boinc
Volunteer tester
Avatar

Send message
Joined: 7 Jun 99
Posts: 512
Credit: 148,746,305
RAC: 0
United States
Message 846459 - Posted: 29 Dec 2008, 18:35:12 UTC - in response to Message 846280.  

but for some reason, this other app will not use both of my CPUs.

BOINC 6.4.5 will only run the number of tasks your cpu supports.
A dual core will run 2 tasks. If one task is CUDA it give you a CPU load of only 50%. This is a known bug. If you know what you are doing make a file cc_config.xml
With this in it.
<cc_config>
<options>
<ncpus>3</ncpus>
</options>
</cc_config>
The number is cpu + 1 so a quad should have 5. Then reload the config file or restart.
ID: 846459 · Report as offensive
Maik

Send message
Joined: 15 May 99
Posts: 163
Credit: 9,208,555
RAC: 0
Germany
Message 846469 - Posted: 29 Dec 2008, 18:59:14 UTC
Last modified: 29 Dec 2008, 19:00:16 UTC

but if seti-cuda runs out of work, then 3 task's will be send to your dualcore or 5 to your quadcore ... :/
ID: 846469 · Report as offensive
Profile S@NL - eFMer - efmer.com/boinc
Volunteer tester
Avatar

Send message
Joined: 7 Jun 99
Posts: 512
Credit: 148,746,305
RAC: 0
United States
Message 846475 - Posted: 29 Dec 2008, 19:35:01 UTC - in response to Message 846469.  

but if seti-cuda runs out of work, then 3 task's will be send to your dualcore or 5 to your quadcore ... :/

What happens: BOINC starts 3 tasks. E.g. 1 AP 2 Einstein. And because there are only 2 cores. When I do that in this case 50% goes to AP and 25% to both Einstein. It's not a problem I think. But you get more overhead because there is more switching beweeen tasks. So a bit less work wil be done in this case. But there is no special task only for CUDA, it runs any task except AP. And at the moment there is plenty of work. But there is a max of 200 a day, and you can reach that with the 1 CUDA task alone. Btw there can be only 1 CUDA task (At least with one Video card).
ID: 846475 · Report as offensive
BP1986

Send message
Joined: 24 Mar 06
Posts: 18
Credit: 88,495
RAC: 0
United States
Message 846478 - Posted: 29 Dec 2008, 19:49:50 UTC

To clarify what I ment, in theory, I should have 2 Einstein Apps running (one on each CPU) and one CUDA for SETI running. But I currently have only one Einstein running.

Sorry if I was unclear about this. :P
ID: 846478 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 846482 - Posted: 29 Dec 2008, 19:59:21 UTC - in response to Message 846478.  

This is a bug in the work fetch module in BOINC 6.4.5, where it can happen that CPUs will go idle. It won't come this far that all CPUs go idle, though. A fix for this is being talked about by the developers at the moment, as they are planning to revamp the whole work-fetch module. It'll appear in BOINC 6.8

Between 6.4.5 and 6.8 there will be a BOINC 6.6, but that one will only have a new BOINC manager and (as it looks thus far) no changes in the work-fetch module.
ID: 846482 · Report as offensive
Profile S@NL - eFMer - efmer.com/boinc
Volunteer tester
Avatar

Send message
Joined: 7 Jun 99
Posts: 512
Credit: 148,746,305
RAC: 0
United States
Message 846488 - Posted: 29 Dec 2008, 20:20:25 UTC - in response to Message 846478.  

To clarify what I ment, in theory, I should have 2 Einstein Apps running (one on each CPU) and one CUDA for SETI running. But I currently have only one Einstein running.

Sorry if I was unclear about this. :P

You have to see this in the messages 3 cpu's and that's 2 for the cpu an 1 for the CUDA (video card).
29-12-2008 12:51:58||Preferences limit # CPUs to 3 (ncpus)
Set the config file as mentioned before (ncpus to real number +1). This is only a temp fix for the problem of 1 task running out of work. If you don't, BOINC will take 2 CPU's: CUDA is 1 and the other 1 from your dual core CPU. Leaves 1 core doing nothing or doing something else.
At the moment I run 2 AP and 1 Seti (CUDA) this way.
ID: 846488 · Report as offensive
BP1986

Send message
Joined: 24 Mar 06
Posts: 18
Credit: 88,495
RAC: 0
United States
Message 846533 - Posted: 29 Dec 2008, 22:21:07 UTC - in response to Message 846488.  

I am a complete noob when it comes to BOINC... I was trying to find a walkthrough on how to make a cc_config.xml, and I found something telling me to put it in the data folder... only I forget where the data folder is! Mind reminding me where the default location is? Or for that matter, perhaps a basic walkthough how to do this? :P
ID: 846533 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 846558 - Posted: 29 Dec 2008, 23:16:25 UTC - in response to Message 846533.  

How to set up a cc-config.xml.

the default positions of the data directory can be found in this FAQ.
Do know that exiting and restarting BOINC completely also shows you where the data directory resides, it'll show in the messages.
ID: 846558 · Report as offensive
BP1986

Send message
Joined: 24 Mar 06
Posts: 18
Credit: 88,495
RAC: 0
United States
Message 846562 - Posted: 29 Dec 2008, 23:46:09 UTC

Thank you all for your help! Got it running how I wanted and I should be pushing quite a few more WUs now! :D
ID: 846562 · Report as offensive
Profile MadMaC
Volunteer tester
Avatar

Send message
Joined: 4 Apr 01
Posts: 201
Credit: 47,158,217
RAC: 0
United Kingdom
Message 849207 - Posted: 4 Jan 2009, 10:48:44 UTC - in response to Message 846280.  

I had my GPU sitting idle while both cores were crunching AP units. Digging around I found out about the cc_config file and created one

<cc_config>
<options>
<ncpus>3</ncpus>
</options>
</cc_config>

This worked! I immediately started downloading work for my GT8800. The problem I have now is that the CUDA tasks are crunching slower than the CPU, the % completion is incrementing up at 0.001% increments. I have dropped CPU usage to 70% which helps slightly, but the machine is struggling.
Im guessing that the CPU's are not feeding the GPU correctly, but my CUDA 'claims' to be only using 0.07 CPU so limiting CPU usage to 70% should be ample???
ID: 849207 · Report as offensive
Profile MadMaC
Volunteer tester
Avatar

Send message
Joined: 4 Apr 01
Posts: 201
Credit: 47,158,217
RAC: 0
United Kingdom
Message 851021 - Posted: 8 Jan 2009, 22:57:34 UTC - in response to Message 849207.  

As shown below, using the modified cc_config to use all cores and GPU results in VERY slow GPU performance.
dropping CPU usage to 25% improves things, but that seems to much for me..
What should I do to improve this, or should I just wait until v6.5
ID: 851021 · Report as offensive
Maik

Send message
Joined: 15 May 99
Posts: 163
Credit: 9,208,555
RAC: 0
Germany
Message 851044 - Posted: 9 Jan 2009, 0:08:45 UTC - in response to Message 851021.  
Last modified: 9 Jan 2009, 0:09:13 UTC

As shown below, using the modified cc_config to use all cores and GPU results in VERY slow GPU performance.
dropping CPU usage to 25% improves things, but that seems to much for me..
What should I do to improve this, or should I just wait until v6.5


Set cc_config to your real number of CPU-Cores
dual-core <ncpus>2</ncpus>
quad-core <ncpus>4</ncpus>

I know it isn't satisfying but the only way to save some performance.
ID: 851044 · Report as offensive
Profile Bambi

Send message
Joined: 15 May 99
Posts: 26
Credit: 5,704,701
RAC: 1
United Kingdom
Message 851355 - Posted: 9 Jan 2009, 17:36:58 UTC - in response to Message 851044.  

My client still varies the number of jobs running with <ncpus> set to 4.
Sometimes its 4 + CUDA and others its 3 + CUDA. Something fishy is afoot....
Bambi

ID: 851355 · Report as offensive
Profile Borgholio
Avatar

Send message
Joined: 2 Aug 99
Posts: 654
Credit: 18,623,738
RAC: 45
United States
Message 852483 - Posted: 11 Jan 2009, 23:30:00 UTC - in response to Message 846482.  

This is a bug in the work fetch module in BOINC 6.4.5, where it can happen that CPUs will go idle. It won't come this far that all CPUs go idle, though. A fix for this is being talked about by the developers at the moment, as they are planning to revamp the whole work-fetch module. It'll appear in BOINC 6.8

Between 6.4.5 and 6.8 there will be a BOINC 6.6, but that one will only have a new BOINC manager and (as it looks thus far) no changes in the work-fetch module.


Any idea when we could expect 6.8?
You will be assimilated...bunghole!

ID: 852483 · Report as offensive

Questions and Answers : GPU applications : CUDA and multi CPU?


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