Advanced search

Message boards : Graphics cards (GPUs) : What does the Boinc status column mean?

Author Message
TommyB
Send message
Joined: 5 Jan 09
Posts: 3
Credit: 500,477
RAC: 0
Level
Gly
Scientific publications
watwat
Message 5315 - Posted: 5 Jan 2009 | 20:10:10 UTC

Hi,

the Boinc manager status column says "Active (0.04 CPUs, 1 CUDA)"

What exactly does that mean?

thanks
Thomas

Profile JStateson
Avatar
Send message
Joined: 31 Oct 08
Posts: 186
Credit: 3,383,872,624
RAC: 1,320,643
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 5321 - Posted: 5 Jan 2009 | 23:18:19 UTC - in response to Message 5315.

Hi,

the Boinc manager status column says "Active (0.04 CPUs, 1 CUDA)"

What exactly does that mean?

thanks
Thomas


The value 0.04 seems to come from the following calculation
// the following is for an app that uses a CUDA GPU
00066 // and some CPU also, and gets 50 GFLOPS total
00067 //
00068 for (unsigned int i=0; i<sreq.coprocs.coprocs.size(); i++) {
00069 COPROC* cp = sreq.coprocs.coprocs[i];
00070 if (!strcmp(cp->type, "CUDA")) {
00071 COPROC* cu = new COPROC (cp->type);
00072 cu->count = 1;
00073 hu.coprocs.coprocs.push_back(cu);
00074 double x = 1e9/sreq.host.p_fpops;
00075 if (x > 1) x = 1;
00076 hu.avg_ncpus = x;
00077 hu.max_ncpus = x;
00078 hu.flops = 5e11;
00079 return true;
00080 }
00081 }


So a huge number of fpops means you are only going to use a fraction of the number of cpus (or threads) available. That is assuming you got at least 1e9 flops.

I got this by grep'ing "CPUs" in the boinc source and then backtracking avg_ncpus to http://boinc.sourcearchive.com/documentation/6.2.18/sched__plan_8C-source.html

I was tempted to complain about the lack of comments in the code, but the last time I complained it was suggested that I contribute to maintaining it.

TommyB
Send message
Joined: 5 Jan 09
Posts: 3
Credit: 500,477
RAC: 0
Level
Gly
Scientific publications
watwat
Message 5325 - Posted: 6 Jan 2009 | 0:13:57 UTC - in response to Message 5321.

Thanks,

but despite the fact that I learned a bit of C many years ago, I do not fully understand what the code above does as I do not any C development :-(

So 0.04 means that only 4/100 of the possible power of the CPU is used?!??

I'm confused :-)))

Thomas

Profile K1atOdessa
Send message
Joined: 25 Feb 08
Posts: 249
Credit: 387,028,788
RAC: 1,197,795
Level
Asp
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 5328 - Posted: 6 Jan 2009 | 2:16:26 UTC - in response to Message 5325.

So 0.04 means that only 4/100 of the possible power of the CPU is used?!??

I'm confused :-)))

Thomas


Showing 0.04 CPUs is not a bad thing. It just indicates that the GPU task will not tie up a whole cpu during processing. I don't know if 0.04 versus 0.25 versus 0.90 makes any difference to the tasks -- somebody with more knowledge will have to answer that one.

However, originally GPUGrid tasks did tie up an entire processor core (preventing a cpu-bound task to run and wasting a lot of cpu-cycles), then it dropped to 0.9, then to 0.04 (I've also seen 0.05). I don't think I've noticed any performance difference between 0.9 or 0.04, so as long as it doesn't usurp a whole processor core I am fine with that (and you should be too!).

Profile Paul D. Buck
Send message
Joined: 9 Jun 08
Posts: 1050
Credit: 37,321,185
RAC: 0
Level
Val
Scientific publications
watwatwatwatwatwatwatwatwatwat
Message 5332 - Posted: 6 Jan 2009 | 7:52:29 UTC
Last modified: 6 Jan 2009 | 7:54:18 UTC

If you look in task manager, or the process manager in linux you can see the percentage of processor use for the various tasks running. On my i7 each core should be running at about 12% of the total power of the processors as TM monitors them (100 / 8) with some left over meaning that a couple of them should be getting slightly more (on a 4 core it should be 25% for 4 tasks)

When you look and have 9 tasks running because you have 8 CPU intense tasks running, one per core, and the GPU task running on the GPU you will see a decrease of processing power because the GPU monitoring task is siphoning off some CPU power. On the i7 this is between 5 and 8% of the total SYSTEM CPU power. Which is high ... much higher than the 0.03 implied.

A later version of the GPU Grid app lowered this number but was pulled because of other problems ... it is promised to be re-released later this month ...

So, we would hope that less than 1% of total system CPU power would be consumed to support the GPU processing but it can, and currently is, much higher.

The number displayed is an estimate and on my two systems shows 0.04 or 0.03 ... in other words it is made up ... :)

In discussions on BOINC Dev, this and other issues are being discussed in relationship to the GPU processing because we flat out don't have good monitoring tools of system usage ... to this point we could ignore this as an issue ... but, in my opinion, we are at that place in space and time where the ability to safely ignore our ability to measure and monitor system usage is past ...

*IF* this does not help, ask again and we will try again ... :)

Oh, and as a practical matter, the 0.04 vs. the other numbers makes no practical difference in processing speed.

{eidt}If you want me to explain why, I shall in the next post, but see if this makes sense and explains the first half ... then ask me to explain the other and I will take a whack at that half of your question ... I don't mind, I be home bound and disabled and have all the time in the world :)

And I love to teach ...{/edit}

Profile Kokomiko
Avatar
Send message
Joined: 18 Jul 08
Posts: 190
Credit: 24,093,690
RAC: 0
Level
Pro
Scientific publications
watwatwatwatwatwatwatwatwatwat
Message 5335 - Posted: 6 Jan 2009 | 10:55:36 UTC

So 0.04 means that only 4/100 of the possible power of the CPU is used?!??


Here are my experience on a AMD Phenom 9950 BE with a GTX280 GPU with the 6.55 application.

The 0.03 or 0.04 is only a number and does not reflect the real needed power of your CPU. In a 3+1 system the feeding of the GPU takes up to 18% of one core of my CPU. The same system needs in a 4+1 configuration max 8% of the power of one core, but needs for the task 30% more time.

3+1 means, that I have circumcised the system for BOINC to max use of 99% of the CPU. 4+1 means, that I gave 100% to BOINC. The 1% less in the availability configuration circumcises one core for BOINC.

With the 6.56 it was much better, but there was some problems on XP 64 systems.

@Paul: If my English to bad to explain, please feel free to correct. English is not my native language :)
____________

Profile Stefan Ledwina
Avatar
Send message
Joined: 16 Jul 07
Posts: 464
Credit: 221,007,857
RAC: 4,333,521
Level
Leu
Scientific publications
watwatwatwatwatwatwatwat
Message 5338 - Posted: 6 Jan 2009 | 11:40:38 UTC

AFAIK the 0.04 CPUs is only used for scheduling purposes...
____________

pixelicious.at - my little photoblog

Profile Paul D. Buck
Send message
Joined: 9 Jun 08
Posts: 1050
Credit: 37,321,185
RAC: 0
Level
Val
Scientific publications
watwatwatwatwatwatwatwatwatwat
Message 5341 - Posted: 6 Jan 2009 | 13:37:56 UTC - in response to Message 5335.

So 0.04 means that only 4/100 of the possible power of the CPU is used?!??


Here are my experience on a AMD Phenom 9950 BE with a GTX280 GPU with the 6.55 application.

The 0.03 or 0.04 is only a number and does not reflect the real needed power of your CPU. In a 3+1 system the feeding of the GPU takes up to 18% of one core of my CPU. The same system needs in a 4+1 configuration max 8% of the power of one core, but needs for the task 30% more time.


We all agree, it is a made up number, an estimate ...

3+1 means, that I have circumcised the system for BOINC to max use of 99% of the CPU. 4+1 means, that I gave 100% to BOINC. The 1% less in the availability configuration circumcises one core for BOINC.


um, not quite...

In 3+1 you say that you don't mind surrendering one core to the care and feeding of the GPU regardless of the actual load of the "feeder" application.

In 4+1 you say that you want to run CPU intensive tasks on all four CPU cores but that you will sacrifice the necessary time to feed the GPU as an overhead penalty on one or more tasks running on the CPU cores ... thus as he says, making tasks take longer to run WALL CLOCK TIME ... not really execution time ...

In my case I have 6 tasks running on 4 cores on my slower system. FreeHAL which is a Non-CPU intense project meaning that there is almost no CPU load (high network traffic, be advised) and the GPU feeder task and 4 other projects. Instead of 25% CPU time applied to the 4 CPU intense projects I am getting 17 to 22% time applied to each of the 5 running tasks (4 projects and GPU Grid, Kokomiko's reported 18%; different computers, different numbers) to each of these running tasks ... with fluctuations so it is hard to pin down a hard number.

When the "better" application for GPU Grid comes out the GPU Grid load will go down and thus the CPU applied to the other tasks will increase, decreasing the wall clock run times... and thus increasing throughput and making joy throughout the world ...

With the 6.56 it was much better, but there was some problems on XP 64 systems.


What he said ... :)

@Paul: If my English to bad to explain, please feel free to correct. English is not my native language :)


I thought the explanation was fine ...

English *IS* my native language (and I have never been able to really learn another) and I still have a hard time getting people to understand me ... See the futile discussions on BOINC Dev for a sample ...

Post to thread

Message boards : Graphics cards (GPUs) : What does the Boinc status column mean?

//