• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Einstein@Home CUDA 50%?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

ppe1700

Member
Joined
Jan 9, 2007
I got my GTX560TI today and have been playing tonight. When I look at my GPU utilisation it is only around 45% utilised. When I look in BOINC I can see five processes, one of which is labelled CUDA and looking at task manager I can see this CUDA process at around 11% of my 3.8GHz core.

Is this normal? Thoughts?
 
If you pause the cpu work units, does the GPU one go up? The video card requires some processor to feed it information. If you max out all the cores, it is left with very little processing power.
 
I don't know how to pause only the CPU so this is what I did.
Went into preferences and set "on multi CPU use only 25%" which is one whole core. When I go to task manager one core is now maxed, and there is another core at 14% ish.
When I look in afterburner the GPU us 45%.

I used the driver CD that came with the card and last night after posting I installed the BETA drivers but this made no difference.
 

Attachments

  • Capture.JPG
    Capture.JPG
    206.4 KB · Views: 970
I'm not familiar with the way that the E@H CUDA app is coded, but your results seem consistent with what happens with the SETI CUDA app on Fermi (GTX4xx/5xx) cards. Fermi cards are designed for mass multi-threaded apps, and there's only so far you can parallelise apps before severe diminishing returns take place, and eventually it'll asymptote out.

Running a single S@H instance on a GTX560 will only get ~30-35% GPU usage. To combat this, most users run several instances at once (usually 3 or 4 gives the best performance, RAC-wise). I just took a look at your GTX560 on the E@H site, and I see that the E@H app only uses between 90-250MB of GPU RAM, so you could look into running several instances and see how it plays.

To do this, you need to modify your app_info.xml file, located in (assuming windows 7 and default BOINC install) %AllUsersProfile%\BOINC\projects\<einstein@home folder>. What you're looking for is

Code:
<coproc>
     <type>CUDA</type>
     <count>1.000000</count>
</coproc>

Changing the <count> to 0.5 will force 2 instances of E@H to run on the GPU, 0.333333 will force 3, etc. I'd try out 0.5 first to see if it improves your situation. Note that you will then see 2 instances of the CUDA app running in windows task mangler, each using some more CPU time, and your GPU RAM usage will go up as well.

On the CPU time note, you can set how much CPU time is dedicated to feeding the GPUs in the same app_info.xml file by changing
Code:
<avg_ncpus>0.200000</avg_ncpus>
<max_ncpus>0.200000</max_ncpus>

these values. From the looks of it, E@H uses a default of 20% CPU time. This differs from project to project (SETI uses 0.040000, or 4% by default, for instance). You could try messing around with these numbers, but I'd only attempt to do that after you've checked that running multiple instances of the CUDA app isn't working (which it should)

thideras said:
If you pause the cpu work units, does the GPU one go up? The video card requires some processor to feed it information. If you max out all the cores, it is left with very little processing power.

Most projects I've seen run their CUDA apps in a slightly higher process priority upon startup, which -should- minimise the effect of running all CPU cores maxed out. I can't see anything in the stderr output that states this, though.
 
Wow thanks for taking the time to post this useful info for me. I will try this ASAP and get back to you with results. The machine is crunching away at home right now but when I was trying to find answers myself this weekend I came across a post which said when you RDP to the machine GPU work stops because of the graphics drivers which then load. Because of this I may not be able to see any results until tonight.
 
Wow thanks for taking the time to post this useful info for me. I will try this ASAP and get back to you with results. The machine is crunching away at home right now but when I was trying to find answers myself this weekend I came across a post which said when you RDP to the machine GPU work stops because of the graphics drivers which then load. Because of this I may not be able to see any results until tonight.

Not a problem :) Hopefully it helps. As for the RDP issue, yeah, that's not something that's going to be fixed anytime soon (ever) as it's a windows driver issue. You can however get around it by using VNC :)

Good luck!
 
I created the app_info.xml file but it prevents BOINC from doing any work. Is there a default xml file I can modify? If I create one (because there isnt one there now) BOINC doesnt run any work at all and also discarded the previous work :/
 
On the CPU time note, you can set how much CPU time is dedicated to feeding the GPUs in the same app_info.xml file by changing
Code:
<avg_ncpus>0.200000</avg_ncpus>
<max_ncpus>0.200000</max_ncpus>

these values. From the looks of it, E@H uses a default of 20% CPU time. This differs from project to project (SETI uses 0.040000, or 4% by default, for instance). You could try messing around with these numbers, but I'd only attempt to do that after you've checked that running multiple instances of the CUDA app isn't working (which it should)



Most projects I've seen run their CUDA apps in a slightly higher process priority upon startup, which -should- minimise the effect of running all CPU cores maxed out. I can't see anything in the stderr output that states this, though.

I have hunted high and low for a working xml file and this seems to be downloading and working, although the GPU never goes over 50% even when completing two CUDA tasks.

Regarding the priority, the CUDA.exe processes are "below normal" whilst the usual CPU work is "LOW" which gives both lower than usual processes with the CUDA exe's higher priority than the CPU.
I'm going to try the other tips you mentioned.

Code:
<app_info>
<app>
<name>einstein_S5GC1</name>
<user_friendly_name>Global Correlations S5 search #1</user_friendly_name>
</app>
<file_info>
<name>einstein_S5GC1_3.02_windows_intelx86__S5GCESSE2.exe</name>
<executable/>
</file_info>
<file_info>
<name>einstein_S5R6_3.01_graphics_windows_intelx86.exe</name>
<executable/>
</file_info>

<app_version>
<app_name>einstein_S5GC1</app_name>
<version_num>302</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<plan_class>S5GCESSE2</plan_class>
<api_version>6.11.1</api_version>
<file_ref>
<file_name>einstein_S5GC1_3.02_windows_intelx86__S5GCESSE2.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>einstein_S5R6_3.01_graphics_windows_intelx86.exe</file_name>
<open_name>graphics_app</open_name>
</file_ref>
</app_version>

<app>
<name>einstein_S5GC1HF</name>
<user_friendly_name>Global Correlations S5 HF search #1</user_friendly_name>
</app>
<file_info>
<name>einstein_S5GC1HF_3.06_windows_intelx86__S5GCESSE2.exe</name>
<executable/>
</file_info>
<file_info>
<name>einstein_S5R6_3.01_graphics_windows_intelx86.exe</name>
<executable/>
</file_info>

<app_version>
<app_name>einstein_S5GC1HF</app_name>
<version_num>306</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<plan_class>S5GCESSE2</plan_class>
<api_version>6.13.0</api_version>
<file_ref>
<file_name>einstein_S5GC1HF_3.06_windows_intelx86__S5GCESSE2.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>einstein_S5R6_3.01_graphics_windows_intelx86.exe</file_name>
<open_name>graphics_app</open_name>
</file_ref>
</app_version>

<app>
<name>einsteinbinary_ABP2</name>
<user_friendly_name>Arecibo Binary Pulsar Search (STSP)</user_friendly_name>
</app>
<file_info>
<name>einsteinbinary_ABP2_3.08_windows_intelx86.exe</name>
<executable/>
</file_info>
<file_info>
<name>einsteinbinary_ABP2_3.11_windows_intelx86__ABP2cuda23.exe</name>
<executable/>
</file_info>
<file_info>
<name>einsteinbinary_ABP2_3.03_graphics_windows_intelx86.exe</name>
<executable/>
</file_info>
<file_info>
<name>cudart32_23.dll</name>
<executable/>
</file_info>
<file_info>
<name>cufft32_23.dll</name>
<executable/>
</file_info>

<app_version>
<app_name>einsteinbinary_ABP2</app_name>
<version_num>308</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<api_version>6.11.0</api_version>
<file_ref>
<file_name>einsteinbinary_ABP2_3.08_windows_intelx86.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>einsteinbinary_ABP2_3.03_graphics_windows_intelx86.exe</file_name>
<open_name>graphics_app</open_name>
</file_ref>
</app_version>

<app_version>
<app_name>einsteinbinary_ABP2</app_name>
<version_num>311</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<plan_class>ABP2cuda23</plan_class>
<api_version>6.11.0</api_version>
<file_ref>
<file_name>einsteinbinary_ABP2_3.11_windows_intelx86__ABP2cuda23.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>cudart32_23.dll</file_name>
<open_name>cudart.dll</open_name>
<copy_file/>
</file_ref>
<file_ref>
<file_name>cufft32_23.dll</file_name>
<open_name>cufft.dll</open_name>
<copy_file/>
</file_ref>
<file_ref>
<file_name>einsteinbinary_ABP2_3.03_graphics_windows_intelx86.exe</file_name>
<open_name>graphics_app</open_name>
</file_ref>
<coproc>
<type>CUDA</type>
<count>0.500000</count>
</coproc>
<gpu_ram>419430400.000000</gpu_ram>
</app_version>

<app>
<name>einsteinbinary_BRP3</name>
<user_friendly_name>Binary Radio Pulsar Search</user_friendly_name>
</app>
<file_info>
<name>einsteinbinary_BRP3_1.05_windows_intelx86__BRP3SSE.exe</name>
<executable/>
</file_info>
<file_info>
<name>einsteinbinary_BRP3_1.05_windows_intelx86__BRP3cuda32.exe</name>
<executable/>
</file_info>
<file_info>
<name>einsteinbinary_BRP3_1.00_graphics_windows_intelx86.exe</name>
<executable/>
</file_info>
<file_info>
<name>cudart_xp32_32_16.dll</name>
<executable/>
</file_info>
<file_info>
<name>cufft_xp32_32_16.dll</name>
<executable/>
</file_info>
<file_info>
<name>db.dev.win.96b133b1</name>
</file_info>
<file_info>
<name>dbhs.dev.win.96b133b1</name>
</file_info>

<app_version>
<app_name>einsteinbinary_BRP3</app_name>
<version_num>105</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<plan_class>BRP3SSE</plan_class>
<api_version>6.13.0</api_version>
<file_ref>
<file_name>einsteinbinary_BRP3_1.05_windows_intelx86__BRP3SSE.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>einsteinbinary_BRP3_1.00_graphics_windows_intelx86.exe</file_name>
<open_name>graphics_app</open_name>
</file_ref>
</app_version>

<app_version>
<app_name>einsteinbinary_BRP3</app_name>
<version_num>105</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>0.200000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<plan_class>BRP3cuda32</plan_class>
<api_version>6.13.0</api_version>
<file_ref>
<file_name>einsteinbinary_BRP3_1.05_windows_intelx86__BRP3cuda32.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>cudart_xp32_32_16.dll</file_name>
<open_name>cudart32_32_16.dll</open_name>
<copy_file/>
</file_ref>
<file_ref>
<file_name>cufft_xp32_32_16.dll</file_name>
<open_name>cufft32_32_16.dll</open_name>
<copy_file/>
</file_ref>
<file_ref>
<file_name>einsteinbinary_BRP3_1.00_graphics_windows_intelx86.exe</file_name>
<open_name>graphics_app</open_name>
</file_ref>
<file_ref>
<file_name>db.dev.win.96b133b1</file_name>
<open_name>db.dev</open_name>
<copy_file/>
</file_ref>
<file_ref>
<file_name>dbhs.dev.win.96b133b1</file_name>
<open_name>dbhs.dev</open_name>
<copy_file/>
</file_ref>
<coproc>
<type>CUDA</type>
<count>0.500000</count>
</coproc>
<gpu_ram>220200960.000000</gpu_ram>
</app_version>
</app_info>
 
All I got was problems running the app_info. I also found some other forum where they said using an app_info file is cheating for points. I cannot see how as I don't fully understand it. I also had a message from Einstein to delete the app_info or else I wouldn't receive any new work. So I appreciate your help but to save problems and maintenance I have removed the file. :/
 
Back