Message boards : Graphics cards (GPUs) : What does the Boinc status column mean?
Author | Message |
---|---|
Hi, | |
ID: 5315 | Rating: 0 | rate: / Reply Quote | |
Hi, 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. | |
ID: 5321 | Rating: 0 | rate: / Reply Quote | |
Thanks, | |
ID: 5325 | Rating: 0 | rate: / Reply Quote | |
So 0.04 means that only 4/100 of the possible power of the CPU is used?!?? 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!). | |
ID: 5328 | Rating: 0 | rate: / Reply Quote | |
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) | |
ID: 5332 | Rating: 0 | rate: / Reply Quote | |
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 :) ____________ | |
ID: 5335 | Rating: 0 | rate: / Reply Quote | |
AFAIK the 0.04 CPUs is only used for scheduling purposes... | |
ID: 5338 | Rating: 0 | rate: / Reply Quote | |
So 0.04 means that only 4/100 of the possible power of the CPU is used?!?? 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 ... | |
ID: 5341 | Rating: 0 | rate: / Reply Quote | |
Message boards : Graphics cards (GPUs) : What does the Boinc status column mean?