Message boards :
Number crunching :
Please take a look
Message board moderation
Author | Message |
---|---|
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
Wanted to capture a screenshot of a Seti task doing this, but wasn't fast enough. Manage to get one with a primegrid task. Please take a look and give me your thoughts: https://1drv.ms/i/s!ArIvftV8roEagVuUur-PZMx_LGz0 Remember, I have a six core processor. ... and still I fear, and still I dare not laugh at the Mad Man! Queen - The Prophet's Song |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
Hmm, 40 views of the question and no comments, maybe I can generate some by adding some more info. If I take the app_config xml that I created in each of the GPU projects and rename it to say app_config_one or app_config_two dot xml, depending upon whether I was running two tasks at a time on the GPU or one. And then have the Manager issue a read config files command, Boinc will no longer find an app modifying config file and return to the basic cpu usage values set by the programmer and downloaded from the project website when the app was first downloaded. These values can be found in the client_state xml file (Boinc's paper brain) under the tag <app_version> for each app that you have from a project. In the <app_version> section are two tags <avg_ncpus> and <max_ncpus>, the <max_ncpus> is set by the programmer and cannot be changed by the user. The <avg_ncpus> gets it value from <max_ncpus> from the program's first download or by removing the modifying app_config xml or by setting cpu_usage in an app_config xml or avg_ncpus in an app_info xml. So in the screenshot link in the first post you can see in BoincManager that after removing the app_config xmls Boinc is running a PrimeGrid PPS Sieve task on the GPU with its default value of 0.156 cpus. With the computing preference set to 68%, I get four CPU tasks running, each using a full core or 16.7% of the total CPU as shown by System Explorer in the screenshot. The GPU task is being fed by the fifth core (the reserved core) and is usually less than 16.7%, but in the screenshot you can see where the task has at one point used more than a full core and is using 17.1% of the total CPU. I tried to catch a Seti task where it was using 18.6% for a moment, but the screen capture software could not respond quick enough. It was just a matter of luck that I was able to catch the PrimeGrid task because the spikes of usage of more than one core are very transient. |
Zalster Send message Joined: 27 May 99 Posts: 5517 Credit: 528,817,460 RAC: 242 |
Darrell, what is your question? Are you asking why a GPU task might periodically use more than the stated value in the BOINC manager and use up to a full core for brief periods of time? |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
Step 1) Actually describe your problem or what you are trying to investigate. My response to "look at this and tell me what you think" would be "That's a screenshot" Step 2) Sometimes you have to wait a while for people to actually read your post and figure out what is going on. Also you can override/adjust the <avg_ncpus> value for any application or project with an [http://boinc.berkeley.edu/wiki/Client_configuration#Application_configuration]app_config.xml[/url] I'm not sure if you are thinking this, but despite what most people seem to assume. The "CPU usage" for an app has absolutely nothing to do with controlling the CPU usage for the science apps. BOINC uses the value to figure out how to allocate the CPU resources for a host. If you were to specify 3.0 for either <cpu_usage> or <avg_ncpus> in an app_config an application on your 6 CPU system. Then BOINC would only run 3 other CPU tasks. One one of my systems the app_config parameter for <project_max_concurrent> stops working after the current running tasks finish and new ones start. To combat this I have my app config configured like this: <app> <name>setiathome_v8</name> <gpu_versions> <gpu_usage>1.0</gpu_usage> <cpu_usage>2.0</cpu_usage> </gpu_versions> </app> So that while the GPU has work no more than 3 SETI@home tasks will be running on my 4c/4t system. A science app using more than 1 CPU core intermittently isn't really unexpected. Since all of the threads in an application are not normally bound to a specific processor. There might be a main worker thread that is going to actual calculations. Then another to do the background BOINC communications or data writing. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
Darrell, what is your question? Not "up to a full core" but actually using more than a full core when running on the default cpu usage settings. With this new GPU and using various cpu_usage settings in the app_config xmls, I have never seen an app use more than one core (except for the multi_threaded apps of Cosmology, LHC, and Burp) and was wondering if someone would comment on how a Seti or PrimeGrid GPU task running on default cpu_usage settings would suddenly be doing this. |
Wiggo Send message Joined: 24 Jan 00 Posts: 34744 Credit: 261,360,520 RAC: 489 |
Are you still using this app_config.xml Darrell? <app_config> <project_max_concurrent>1</project_max_concurrent> <app> <name>astropulse_v7</name> <max_concurrent>1</max_concurrent> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>0.17</cpu_usage> </gpu_version> </app> <app> <name>setiathome_v8</name> <max_concurrent>1</max_concurrent> <gpu_versions <gpu_usage>1</gpu_usage> <cpu_usage>0.17</cpu_usage> </gpu_versions> </app> </app_config> Cheers. |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
Are you still using this app_config.xml Darrell? Nope, the screenshot was showing that Boinc was not using any app config xmls. Boinc is using the programmer defined cpu_usage default values. Which for every GPU project I'm attached to is less than 1, except for Einstein which has a default setting of 1. P.S. I am conducting a little test to see how running Boinc on the default cpu_usage settings and one GPU task at a time impacts daily RAC as shown in the BoincManager statistics tab, and noticed this little anomaly of the Seti and PrimeGrid tasks sometimes using more than one core when they never did before. |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
App_config for one task at a time on the GPU -- Projects Collatz, PrimeGrid, and Moo!Wrapper: <app_config> <project_max_concurrent>2</project_max_concurrent> <app> <name>app's name</name> <max_concurrent>1</max_concurrent> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app> </app_config> For two tasks at a time on the GPU -- Projects Einstein, Milkyway, Seti, and Seti_Beta <app_config> <project_max_concurrent>2</project_max_concurrent> <app> <name>app's name</name> <max_concurrent>2</max_concurrent> <gpu_versions> <gpu_usage>0.5</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app> </app_config> Using the above config files and a preference setting of 84% would give me: four CPU tasks and one GPU task when a one at a time GPU project was running three CPU tasks and two GPU tasks when two at a time GPU projects were running All CPU tasks use 16.7% (i.e. one full core), the GPU task would use 16.7% when starting and much less when running, I never saw one use more than 16.7% (i.e. one full core) During this current test with Boinc using the default cpu_usage and a preference setting of 68% gives me four CPU tasks and one GPU task, any project but Einstein, because their default values are less than 1 cpu three CPU tasks and one GPU task when an Einstein task is running on the GPU because its default value is 1 cpu All CPU task use 16.7% (one full core), the GPU tasks would use 16.7% when starting and less when running, the Seti apps and PrimeGrid apps now sometimes spike from 17.1 to 18.6 percent of the CPU or more than 1 core, just a small little anomaly that I was hoping to get some clarification on |
wykinger Send message Joined: 6 Jan 17 Posts: 67 Credit: 8,068,825 RAC: 0 |
Boinc is running a PrimeGrid PPS Sieve task on the GPU with its default value of 0.156 cpus. This is default calculated usage but its not limited strictly to this value and the app may use more . If its specified in the appconfig manualy Boinc may use up to 1 core for the cpu but you dont run with specs but allowed Boinc to Autopilot with the default, so why shouldnt it take 2 cores if it decides to do so for GPU. You can check this by def the value in the appconfig manualy, i.e. GPUusage 1 CPUusage 0.156 and see if it spikes again to use more than 1 core for the GPU. |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
Boinc is running a PrimeGrid PPS Sieve task on the GPU with its default value of 0.156 cpus. Careful, or you will get into the discussion of whether the percentage specified in the cpu_usage tag applies to the entire CPU or just one core. |
BilBg Send message Joined: 27 May 07 Posts: 3720 Credit: 9,385,827 RAC: 0 |
... whether the percentage specified in the cpu_usage tag applies to the entire CPU or just one core. <cpu_usage>1</cpu_usage> informs BOINC that the applications will need one (virtual) core. This is only used by BOINC to calculate how many (virtual) cores remain usable for CPU tasks (i.e. BOINC will start less CPU tasks). BOINC sums <cpu_usage>x.y</cpu_usage> for all running GPU tasks, then truncates the sum (e.g. 3 * 0.33 = 0.99 = 0 or 2 * 0.77 = 1.54 = 1) BOINC don't know (and is not interested) in physical CPU configuration - if OS reports "16 CPUs" it doesn't matter to BOINC if this is "2 physical CPUs x 8 real cores" or "1 physical CPU x 8 cores Hyper-Threaded to 16 virtual" or ... Application itself don't know about or use this value. Then Boinc is using more than five cores exceeding a limit placed upon it 1. BOINC is not "using" the cores 2. This is not "limit placed upon it" 3. BOINC do not and can't control (or even monitor) the resource usage of already started applications. Numbers like "Use at most 99 % of the CPUs" and <cpu_usage>1</cpu_usage> only tell BOINC how many applications to start (which is the only "limit"). BOINC assumes that one CPU app will use one CPU (read this as "core") (unless the CPU app is declared as Multi-Threading ) and one GPU app will use what is declared by cpu_usage / gpu_usage BOINC do not really measure the real "usage". Â - ALF - "Find out what you don't do well ..... then don't do it!" :) Â |
©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.