Optimizing the ratio of igpu and nvidia gpu task ratios.

Message boards : Number crunching : Optimizing the ratio of igpu and nvidia gpu task ratios.
Message board moderation

To post messages, you must log in.

AuthorMessage
disturber

Send message
Joined: 22 May 99
Posts: 8
Credit: 3,391,660
RAC: 0
United States
Message 1601623 - Posted: 16 Nov 2014, 3:01:18 UTC

I thought this maybe interesting to folks that have Ivy Bridge or Haswell cpus.

After searching through the posts in here, and maybe I was not that thorough, I could not find any information on how to adjust the ratio of Nvidia gpu vs igpu concurrent tasks. My goal was to get as close to 100% cpu, NVIDIA GPU and Intel GPU loading.

So I studied the wiki information on client configuration http://boinc.berkeley.edu/wiki/Client_configuration

On one of my computers I have a NVIDIA GTX 970 and a i7-3770k, and after some experimentation I found that the GTX 970 could run 3 tasks to achieve over 94% utilization. The only issue I had if used with the simple app_config.xml like this:

<app_config>
<app>
<name>setiathome_v7</name>
<gpu_versions>
<gpu_usage>0.33</gpu_usage>
<cpu_usage>0.1</cpu_usage>
</gpu_versions>
</app>
<app>
<name>astropulse_v7</name>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>0.1</cpu_usage>
</gpu_versions>
</app>
</app_config>

was that there were also 3 copies of the gpu task running on my Intel gpu. To me that meant I would have to give up more threads on the 3770k to feed the both the NVIDIA and Intel gpu than necessary.

So to be able to run 3 task on the 970 and 2 tasks on the Intel gpu, the app_config.xml looks like this now. Any less wu on the Intel gpu resulted in less igpu utilization.

<app_config>
<app>
<name>setiathome_v7</name>
<gpu_versions>
<gpu_usage>0.33</gpu_usage>
<cpu_usage>0.1</cpu_usage>
</gpu_versions>
</app>
<app_version>
<app_name>setiathome_v7</app_name>
<plan_class>opencl_intel_gpu_sah</plan_class>
<avg_ncpus>0.1</avg_ncpus>
<ngpus>0.5</ngpus>
</app_version>
<app>
<name>astropulse_v7</name>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>0.1</cpu_usage>
</gpu_versions>
</app>
<app_version>
<app_name>astropulse_v7</app_name>
<plan_class>opencl_intel_gpu_102</plan_class>
<avg_ncpus>0.1</avg_ncpus>
<ngpus>1.0</ngpus>
</app_version>
</app_config>

This also has the advantage that once an astropulse wu comes along, only two task will be running on the NVIDIA gpu. The astropulse wu seems more demanding and drives up the memory controller load to almost 100% (85% normally), so I doubt that I can run more than 1 efficiently. What can I say, I am a geek,lol.

On my specific computer I have the i7-3770k running at 4.4GHz and feeding 3 tasks to the 970 and 2 tasks to the Intel 4000 igpu, I only need to allocate one core with one thread to provide enough data to the gpus. ( CPU use set to 80% in computing preferences). The Gigabyte GTX gpu clock is running at 1330 MHz.

This gives me 92% cpu, 98% GTX 970 and 99% igpu utilization. The average cuda32, 42 or 52 wu is finishing between 20 and 22 minutes for 3 concurrent wu. I am happy with that.

When an astropulse unit comes along, only 2 wu are running on the gpu, just as I expected.

I hope this helps someone that wants to run less wu on the built-in intel gpu and more on the dedicate graphics processor.

The whole system is running rock solid and has had no errors in 414 valid wu after 3 weeks.
ID: 1601623 · Report as offensive

Message boards : Number crunching : Optimizing the ratio of igpu and nvidia gpu task ratios.


 
©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.