18 March 2009

Setting up Seti@home to run cuda and non-cuda apps

You will need a copy of BOINC 6.6.15 or later. The current release version is 6.6.20. This won't work with earlier versions of BOINC.

Disclaimer:
If you are not comfortable with editing an app_info and using optimised apps then this is not for you.

BOINC is very unforgiving of an incorrect app_info and usually will delete all tasks if you get it wrong.

Do NOT use Internet Explorer to edit the xml files, it will stuff up your app_info. Use Notepad or another text editor.

Thanks go to Richard Haselgrove and Claggy for ideas in building this app_info.xml file.

Notes:
Upgrade your BOINC client first and get it working before changing anything else.

The app_info.xml below is based on a 32 bit Windows platform. If you are running on another platform you may need to add/amend the <platform_name> tags.

My computers support the SSSE3 instruction set. SSE2, SSE3 or SSE4.1 may be more appropiate for you. You will need to amend the program names as appropiate.

I've assumed that you have your cuda-capable card up and running and have the necessary nVidia drivers (minimum version is 180.48).

Programs needed:
a) Optimised multibeam and optimised Astropulse
AK_v8_win_SSSE3x.exe
ap_5.00r103_SSE3.exe
ap_5.03r112_SSE3.exe

b) Cuda multibeam and support libraries
setiathome_6.08_windows_intelx86__cuda.exe
cudart.dll
cufft.dll
libfftw3f-3-1-1a_upx.dll


1. Download and install BOINC 6.6.20. Get this working before changing anything else.

1a. If you have a cc_config file with a <ncpus> tag in it you won't need it with the 6.6 series of BOINC. Remove this tag, or if there are no other tags in use then remove the file completely.

2. Empty your cache of Seti@home work. This is best achieved by setting the project to No new work and letting it finish off its tasks. Make sure they are all uploaded and reported, there should be none on your tasks list.

3. Download the optimised multibeam and astropulse apps (usually from the lunatics web site) if you don't already have them.

4. Download the cuda multibeam app (from the Seti web site) if you don't already have them. If you run the stock cuda multibeam app then you should already have these in your projects\Setiathome.berkeley.edu folder.

5. Disable network communications in BOINC. Shutdown BOINC. Make sure its shutdown.

6. Browse your client_state.xml file (its in the BOINC data directory) and look for the entry <p_fpops>. We need to use this number. Do NOT change this file.

7. Browse the BOINC log file to get the estimated speed of your GPU. This is usually given at the top of the log in Gflops. My 9800GT was estimated at 60Gflops.

8. For each of the apps multiply the p_fpops value by the factor below and put this into the appropiate flops entry in the app_info given below. For multibeam 608 you need the estimated Gflops.

Astropulse 500 flops = p_fpops x 2.25
Astropulse 503 flops = p_fpops x 2.6
Multibeam 603 flops = p_fpops x 1.75
Multibeam 608 flops = Est.Gflops x 0.2 (eg 60,000,000,000 x 0.2 = 12,000,000,000)

9. Make sure you have all the programs listed above in the projects\Setiathome.berkeley.edu folder. If not copy them there.

10. Save your app_info in the projects\Setiathome.berkeley.edu folder.

11. Start up BOINC. Check the messages tab to see if it lists any [file error] messages. If there are shut BOINC down, check you have the correct program names referenced. Go back to step 9.

12. If okay then enable new work for the Seti@home project.

13. Enable network communications again.

14. It should now download work of all types. If not check your Seti@home preferences on the Seti web site, that Astropulse, Astropulse_v5 and allow graphics processor are all ticked. If you have a slower computer you may not get astropulse work units anyway.

<app_info>
<app>
<name>astropulse</name>
</app>
<file_info>
<name>ap_5.00r103_SSE3.exe</name>
<executable/>
</file_info>
<app_version>
<app_name>astropulse</app_name>
<version_num>500</version_num>
<flops>5306156897</flops>
<file_ref>
<file_name>ap_5.00r103_SSE3.exe</file_name>
<main_program/>
</file_ref>
</app_version>
<app>
<name>astropulse_v5</name>
</app>
<file_info>
<name>ap_5.03r112_SSE3.exe</name>
<executable/>
</file_info>
<app_version>
<app_name>astropulse_v5</app_name>
<version_num>503</version_num>
<flops>6131559081</flops>
<file_ref>
<file_name>ap_5.03r112_SSE3.exe</file_name>
<main_program/>
</file_ref>
</app_version>
<app>
<name>setiathome_enhanced</name>
</app>
<file_info>
<name>AK_v8_win_SSSE3x.exe</name>
<executable/>
</file_info>
<file_info>
<name>setiathome_6.08_windows_intelx86__cuda.exe</name>
<executable/>
</file_info>
<file_info>
<name>cudart.dll</name>
<executable/>
</file_info>
<file_info>
<name>cufft.dll</name>
<executable/>
</file_info>
<file_info>
<name>libfftw3f-3-1-1a_upx.dll</name>
<executable/>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>603</version_num>
<platform>windows_intelx86</platform>
<flops>4127010920</flops>
<file_ref>
<file_name>AK_v8_win_SSSE3x.exe</file_name>
<main_program/>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>608</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>0.127970</avg_ncpus>
<max_ncpus>0.127970</max_ncpus>
<flops>12000000000</flops>
<plan_class>cuda</plan_class>
<file_ref>
<file_name>setiathome_6.08_windows_intelx86__cuda.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>cudart.dll</file_name>
</file_ref>
<file_ref>
<file_name>cufft.dll</file_name>
</file_ref>
<file_ref>
<file_name>libfftw3f-3-1-1a_upx.dll</file_name>
</file_ref>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
</app_version>
</app_info>

Updated 14th April 2009

No comments: