GPU % Usage - opencl_amd_gpu - 56% ?
log in

Advanced search

Message boards : Windows : GPU % Usage - opencl_amd_gpu - 56% ?

Author Message
fabstar68
Send message
Joined: 24 Apr 14
Posts: 4
Credit: 48,368,574
RAC: 0
Message 19137 - Posted: 24 Apr 2014, 18:38:42 UTC
Last modified: 24 Apr 2014, 18:43:46 UTC

Hi all, i recently decided to contribute to this project, i tried to search the forum but i haven't found a definitive answer to this question : is it normal that the gpu usage is always around 55% ? I have win 8.1 64bit, latest boinc client 7.2.42 64bit & motherboard & graphic drivers, radeon r9 280x, asus hero vi.... boinc settings are to always use cpu & gpu...with folding@home gpu usage is correctly near 100%, why is it running at half with the collatz client ? i have one "Collatz Conjecture OPENCL for Boinc" process at 99,x%, and another with the same name at about 0,2%cpu...boinc wus are named "Solo Collatz conjecture 6.0.4 (opencl_amd_gpu)" thanks,

Profile Slicker
Volunteer moderator
Project administrator
Project developer
Project tester
Project scientist
Avatar
Send message
Joined: 11 Jun 09
Posts: 2525
Credit: 740,580,099
RAC: 2
Message 19138 - Posted: 24 Apr 2014, 18:50:13 UTC - in response to Message 19137.

Hi all, i recently decided to contribute to this project, i tried to search the forum but i haven't found a definitive answer to this question : is it normal that the gpu usage is always around 55% ? I have win 8.1, latest boinc client & motherboard & graphic drivers, radeon r9 280x, asus hero vi.... boinc settings are to always use cpu & gpu...with folding@home gpu usage is correctly near 100%, why is it running at half with the collatz client ? i have one "" process at 99,x%, and another with the same name at about 0,2%cpu...thanks,


Yes.
Blame it on Microsoft, AMD, Apple, and nVidia for making the OpenCL specification so vague that they are allowed to have the CPU wait for the GPU to finish processing. They don't have to as some older drivers used very little CPU. But that doesn't mean they can't use 100% CPU while waiting for the GPU to finish. In other words, the OpenCL specification does not require that kernels run asynchronously. It does state that copying data to/from the GPU must run asynchronously IF (and only if) the asynchronous memory copy functions are used. In order to attempt to boost performance, both AMD and nVidia have "smart" drivers which decide whether to wait or to run the GPU kernel asynchronously. It is not up to the programmer or the end user to decide. In other words, they don't care that you and I don't like it because it gives them better bragging rights when you compare their OpenCL performance to their competitor's performance.

As far as GPU utilization being low, I would suggest reading any of the numerous message board threads which explain how to get the most out of your GPU. It isn't that yours is under-utilized. Rather it is that the people with older and slower hardware is at max. Both still run though. If I were to change the defaults so yours would run at 100%, then those with older hardware would have all their WUs error out because the driver would crash due to the kernel's runtime exceeding 33 milliseconds in length. So, optimizing the application for your hardware is essential for maximum performance.

fabstar68
Send message
Joined: 24 Apr 14
Posts: 4
Credit: 48,368,574
RAC: 0
Message 19140 - Posted: 24 Apr 2014, 20:58:49 UTC
Last modified: 24 Apr 2014, 21:19:45 UTC

see below

fabstar68
Send message
Joined: 24 Apr 14
Posts: 4
Credit: 48,368,574
RAC: 0
Message 19141 - Posted: 24 Apr 2014, 20:59:28 UTC
Last modified: 24 Apr 2014, 21:22:45 UTC

i put a app_config.xml file in "C:\ProgramData\BOINC\projects\boinc.thesonntags.com_collatz" with the settings below, and now the gpu works correctly at 95%... now i have two processes in boinc instead than one for the gpu, both reporting "0.5 cpu+0.5 ati gpu".....did i make the right thing to maximaze performance ? each GPU WU has an estimate of about 14mins to complete (i7-4770@4.06ghz & r9 280x asus @ 1165/6600) ?

<app_config>
<app>
<name>solo_collatz</name>
<max_concurrent>10</max_concurrent>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>0.5</cpu_usage>
</gpu_versions>
</app>
</app_config>

Profile Slicker
Volunteer moderator
Project administrator
Project developer
Project tester
Project scientist
Avatar
Send message
Joined: 11 Jun 09
Posts: 2525
Credit: 740,580,099
RAC: 2
Message 19147 - Posted: 24 Apr 2014, 22:51:16 UTC - in response to Message 19141.

i put a app_config.xml file in "C:\ProgramData\BOINC\projects\boinc.thesonntags.com_collatz" with the settings below, and now the gpu works correctly at 95%... now i have two processes in boinc instead than one for the gpu, both reporting "0.5 cpu+0.5 ati gpu".....did i make the right thing to maximaze performance ? each GPU WU has an estimate of about 14mins to complete (i7-4770@4.06ghz & r9 280x asus @ 1165/6600) ?

<app_config>
<app>
<name>solo_collatz</name>
<max_concurrent>10</max_concurrent>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>0.5</cpu_usage>
</gpu_versions>
</app>
</app_config>



98-99% would give the most credit and still be responsive. 99-100% may give more credit but be less responsive. So, you might want to decrease the gpu_usage to 0.33 so it will run 3 at a time.
Have you already edited the collatz config files and added/changed the items_per_kernel and kernels_per_reduction to 22 and 9 respectively? Also, you can probably set threads=8 or even 9 or 10. If set too high, the WU will crash immediately, so you will know when you have exceeded the GPU's max.

Running two at a time means each will run slower than if one at a time, but the combined time should be less than double the run time of a single WU. Also, when running two or more at one time, the run times will likely not be the same. So it really takes a day or two of running and taking the total credit for that period to determine whether it was faster than when running one WU at a time (also an average over a couple days since the WUs sizes do vary a little in size).

fabstar68
Send message
Joined: 24 Apr 14
Posts: 4
Credit: 48,368,574
RAC: 0
Message 19148 - Posted: 24 Apr 2014, 23:03:03 UTC

well it took me some time to understand how to work with the app_config.xml file... could you tell me exactly what file i have to create, its name, and parameters in order to do as you suggest for the xxx_kernel_xxx setting ?

also, how can i reset the app_config settings to their default values ? i tried deleting the file and restarting, but hte previous settings were still in place...

i need to figure out how dynamically vary the gpu% load between day and night... at 55%, i can keep the gpu temp in the low 60° with low fan speed, so that i can sleep.. but at full, the gpu fans are too noisy in order to keep the temp low... without having to manally reconfigure the app each day/night...


Post to thread

Message boards : Windows : GPU % Usage - opencl_amd_gpu - 56% ?


Main page · Your account · Message boards


Copyright © 2018 Jon Sonntag; All rights reserved.