18 July 2009

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

Updated for Astropulse 5.05 and cuda 2.3

Disclaimer:
If you are not comfortable with editing an app_info then this is not for you. You would be better off using the Unified Installer for Windows available from the Lunatics web site see http://lunatics.kwsn.net/optimized-applications-release-news/lunatics-unified-installer-for-windows-v0-2.msg19610.html;topicseen#msg19610

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.


Notes:
Upgrade your BOINC client first and get it working before changing anything else. At the time of writing I am running the 6.6.37 client, although any client from 6.6.15 should be sufficient.

The app_info.xml below is based on a Windows XP platform (32 bit) and the cuda-capable card is a GTS250. 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 appropriate in the app_info.

I've assumed that you have your cuda-capable card up and running and have the necessary nvidia drivers (minimum version is 180.48). Use the 190.38 drivers (or later) if you want to use cuda 2.3.

Programs needed:
a) Optimised multibeam and optimised Astropulse, available from the Lunatics web site
AK_v8_win_SSSE3x.exe
ap_5.03r112_SSE3.exe
ap_5.05r168_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. Get this working before changing anything else.

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. If you are feeling brave/confident then skip this step, but if all your tasks get deleted don’t say you weren’t warned.

3. Download the optimised multibeam and astropulse apps 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.

You can also use the optimised cuda app available instead of the “stock” app. You will need to change the name in the app_info.

5. Disable network communications in BOINC.

6. Shutdown BOINC. Make sure it and the science apps are shutdown.

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

8. Browse the BOINC log file to get the estimated speed of your GPU or before you shut BOINC down click on the messages tab. This is usually given at the top of the log in Gflops. 9800GT’s are estimated at 60Gflops, GTS250’s at 84Gflops and GTX260 (216 shaders) at 96Gflops.

9. 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. The app_info given below has the values for a GTS250.

Application Calculate

Astropulse 503 p_fpops x 2.6

Astropulse 505 P_fpops x 2.6

Multibeam 603 p_fpops x 1.75

Multibeam 608 Est.Gflops x 0.2


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

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

12. 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 10.

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

14. Enable network communications again.

15. BOINC should now download work of all types. If not check your Seti@home preferences on the Seti web site, that Astropulse_v5, Astropulse_505 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_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>astropulse_v505</name>
</app>
<file_info>
<name>ap_5.05r168_SSE3.exe</name>
<executable/>
</file_info>
<app_version>
<app_name>astropulse_v505</app_name>
<version_num>505</version_num>
<flops>6131559081</flops>
<file_ref>
<file_name>ap_5.05r168_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>16800000000</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>



No comments: