Message boards :
Graphics cards (GPUs) :
0.976 CPUs + 1 GPU
Message board moderation
| Author | Message |
|---|---|
|
Send message Joined: 30 Nov 14 Posts: 3 Credit: 591,089,477 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]()
|
So... Does "0.976 CPUs + 1 GPU" indicate just over 97% of a core is available to the gpu? I want to reserve a full core but if that's what it means, looks like I'm already there. (or close anyway) Btw. I'm not running any cpu jobs. |
Retvari ZoltanSend message Joined: 20 Jan 09 Posts: 2380 Credit: 16,897,957,044 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
So... Does "0.976 CPUs + 1 GPU" indicate just over 97% of a core is available to the gpu? I want to reserve a full core but if that's what it means, looks like I'm already there. (or close anyway) No, it's just some kind of misinformation. You can see if a full core id used by the GPUGrid application when the tasks' run time is equals (nearly) with their run time. (see this tasklist) According to your hosts' task list (190367, 190294, 192211), they are not using a full CPU core. To make the GPUGrid client use a full CPU core you should set the "SWAN_SYNC" environmental value to 1: (Windows 7 and up) Right click on an empty area of the desktop -> new -> shortcut -> type systempropertiesadvanced in the input field, press enter -> double click on the new shortcut you've just made (or press enter) -> press the environmental variables button near the bottom of the window -> press the new button near the bottom (in the "system variables" section) -> type swan_sync to the upper box (name), and 1 (one) to the lower box (value) Press OK three times. After that, you need to restart the BOINC client (stop the scientific applications on close), or you can restart Windows. |
|
Send message Joined: 11 Oct 08 Posts: 1127 Credit: 1,901,927,545 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I'd like to clarify a little bit more. When you see the task status in BOINC say "0.976 CPUs + 1 GPU", that "CPU" value is simply a "budgeting" number used by the BOINC task scheduler to schedule CPU tasks. When GPU tasks are included in the list of scheduled tasks, it will schedule "up to #cpus + 1" worth of CPU. In your case, if you were on an 8-thread machine with the setting "Use at most X% CPUs" set to 100%, BOINC would schedule that GPU task, and 8 CPU tasks, since (8 + 0.976) is less than (#CPUs + 1 = 9). This budgeting number doesn't actually result in more/less CPU usage. It is simply a way for BOINC to "budget as used" a certain amount of CPU for your GPU tasks. You can control that "budgeting number" by setting the "cpu_usage" variable in an app_config.xml file for the app. For reference, at the bottom of this post is my GPUGrid app_config.xml file, where I basically use 0.667 "cpu_usage" to mean: - if 1 GPU task is running, don't budget a core (since it'd add up to 0.667) - if 2 GPU tasks are running, budget 1 core (since 0.667 + 0.667 ... is > 1) - if 3 GPU tasks are running, budget 2 cores (since 0.667 + 0.667 + 0.667 ... is > 2) Now, what Retvari is talking about, is different. He is referring to a way to tell the application/driver to perform better, at the cost of extra CPU. The app and driver has 2 modes for executing the app: - Low-CPU-mode (which gets fairly good throughput performance) (this is the default) - High-CPU-mode (which gets slightly better throughput performance) (must set Swan_Sync=1 to use this) You can monitor the acemd.exe process in Task Manager or Process Explorer, to see it act different when Swan_Sync is set or not. I'm pretty sure that each GPU task ends up using a full CPU core if you choose to use Swan_Sync... so, if you do that, you might want to either change the app_config.xml to have BOINC budget more CPU as used, or adjust your "Use at most X% CPUs" setting. I like controlling the exact amounts via app_config.xml. Regards, Jacob My GPUGrid app_config.xml:
<!-- GPUGrid.net -->
<app_config>
<!-- Short runs (2-3 hours on fastest card) -->
<app>
<name>acemdshort</name>
<gpu_versions>
<gpu_usage>1</gpu_usage>
<cpu_usage>0.667</cpu_usage>
</gpu_versions>
</app>
<!-- Long runs (8-12 hours on fastest card) -->
<app>
<name>acemdlong</name>
<gpu_versions>
<gpu_usage>1</gpu_usage>
<cpu_usage>0.667</cpu_usage>
</gpu_versions>
</app>
<!-- ACEMD beta version -->
<app>
<name>acemdbeta</name>
<gpu_versions>
<gpu_usage>1</gpu_usage>
<cpu_usage>0.667</cpu_usage>
</gpu_versions>
</app>
</app_config>
|
|
Send message Joined: 30 Nov 14 Posts: 3 Credit: 591,089,477 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]()
|
Much appreciated, both of you. I think I have a good grasp on this now. |
©2025 Universitat Pompeu Fabra