Installing an "Optimized" SETI@Home Science Application - Microsoft Windows®
From Unofficial BOINC Wiki
[edit] General
Upgrading to optimized versions of the BOINC Client Software (Version 4.45) and the Science Application such as YAOSCW r8.1 (Optimized Science Application for the SETI@Home Project on Microsoft Windows®) should not be hard and will improve performance and increase the amount of work done by your computer. This is one of those procedures where taking it slow and doing the steps in the order in which they are presented cannot be stressed too much. Failure to take the time to do it right can cause significant problems.
Failure to do this process as outlined may damage the BOINC Client Software, render work invalid, cause failure of work in progress, and in general make a miserable mess of things!
You have been Warned!
- Note:
- If the Science Application is updated after this procedure has been performed, it is possible that you will have to remove the Optimized Science Application and the app_info.xml file to obtain more work. This happened when the SETI@Home Project changed to the "Enhanced" Science Application, for example.
[edit] Preconditions
In order to complete the procedure outlined in this guide, you must meet the following preconditions:
- You must have an operational computer.
- You must have Internet Access from this computer.
- You must be able to operate the computer and access the Internet.
- An Account with the SETI@Home Project.
- A BOINC Powered Project has been selected and the BOINC Client Software must be properly installed.
- See "Installing the BOINC Client Software And Participating In A BOINC Powered Project" (Master Guide)
It is highly recommended that:
- Set the SETI@Home Project to "No New Work" in the Projects Tab.
- You run to completion all SETI@Home work.
- You "Report" all completed Results.
See Pre-installation Steps for details.
[edit] Determining the CPU's Instruction Set Extensions
[edit] Explanation
Before we can install an "Optimized" Science Application for SETI@Home we have to check to see which one is the most appropriate. Once we know which "Extensions" are available we can chose which of the "Optimized" Science Application will work.
To do this we will need to run a utility program on the computer which will "ask" the CPU chip what "extensions" it can use. I have used two different programs and will show screen shots of the two, but, there may be other tools that you can use.
I had considered adding the exact links for downloading these tools or adding them to the Wiki but decided against this course of action. Quite simply, the sites I found may disappear or the program will be updated and I will have an out-of-date copy. In either case, you are not well served. So, the first step is very general.
[edit] Find CPU Test Program
Using the search function of your Web Browser search for one of the following tools:
- CPU-Z (Panopsys hardware detection engine)
- WCPUID
Either one will work. Download the program, and install it into a temporary directory.
[edit] Run the CPU Test Program
Once downloaded and unpacked, run the program by double-clicking on its icon. The program will run for a moment and then will display a dialog window with the information we need, and a whole lot more.
The example here shows the output windows of both programs for comparison.
[edit] CPU and CPU Extensions From CPU-Z
If you used the program CPU-Z to detect your CPU's capabilities, on the front tab in the "Processor" block there is a line that will tell you what your processor type is. Many of us don't really care about that ... but here we need to see if it is an AMD or Intel processor.
If you used the program CPU-Z to detect your CPU's capabilities, also on the front tab in the "Processor" block, the lowest line says "Instructions", we are interested in the acronyms here. Typical lists will be:
- MMX
- MMX, SSE
- MMX, SSE, SSE2
- MMX, SSE, SSE2, SSE3
In the example shown, I have, for the Xeon processor listed, the values "MMX, SSE, SSE2, SSE3".
[edit] CPU Extensions From WCPUID
If you used the program WCPUID to detect your CPU's capabilities, again on he top line will be the name of the processor and an indication if it is an Intel or AMD chip.
Also on the main window at the bottom we have the capabilities listed as separate blocks, with the name of the extension and the indication "Supported" or "Not Supported". As before we are interested in the extensions: "MMX", "SSE", "SSE2", and "SSE3".
For this example processor we again see that all of the extensions are supported. I only had one computer that did not have full support of the extensions (Yea!).
[edit] Selecting the Correct Version of the Optimized Science Application
Ok, now you need to look into this table to find the file that is compatible with the computer you have.
Clicking on the links should download the correct file.
| CPU Type Extensions Available | Tetsuji's File Name | Ned Slider's |
|---|---|---|
| Generic/Unknown: MMX | YAOSCW-0-r8.1.zip | seti-i686.zip |
| Pentium III: MMX, SSE | YAOSCW-K-r8.1.zip | seti-p3.zip |
| Pentium 4: MMX, SSE, SSE2 | YAOSCW-N-r8.1.zip | seti-p4.zip |
| Pentium 4: MMX, SSE, SSE2, SSE3 | YAOSCW-P-r7.zip | seti-p4-sse3.zip |
| Pentium M | YAOSCW-B-r7.zip | seti-pm.zip |
| CPU Type Extensions Available | Tetsuji's File Name | Ned Slider's |
|---|---|---|
| Athlon XP: MMX, SSE | YAOSCW-K-r8.1.zip | seti-athlon-xp.zip |
| AMD64: MMX, SSE, SSE2 | YAOSCW-W-r7.zip | seti-i686-sse2.zip |
The reason for the name of the file being important, it is to make sure you get the right one. If you do not get the right file, bad things can happen!
Take your time and be sure to get the right file!
Did I convince you? Good, lets move on.
[edit] Pre-installation Steps
[edit] Explanation
Because this is one of those types of procedures that can ruin your whole day, and your current BOINC Client Software and all the work you have to this point; well, lets do some thinking ahead.
[edit] Return All Completed Results
Check to see if there are any Results that are in the "Ready to Report" state in the Work Tab. If there are, using the Projects Tab issue an "Update" for all Projects with "Ready to Report" Results.
Make sure that the Results were reported! Remember, you may not get a complete communication session with the Project's Scheduling Server. You can check to make sure that this was accomplished by looking in the Work Tab to make sure that all of the Results in the "Ready to Report" state have been removed. You can also check in the Messages Tab for a successful completion of the Scheduler Request Message exchange.
Note:
- It is a good idea to select "No New Work" for the Project that you are planning on installing the optimized Science Application for and allowing all Work Units on your Host to finish. An optimized Science Application will generally not be compatible with Work Units already in your Work Buffer.
[edit] Archive CPDN Work
If you run Climateprediction.net on your computer. I would suggest that you perform the process in the BOINC "How-To" Guide: "Saving Or Deleting CPDN Result Data Files" before continuing with this procedure.
[edit] Stop the BOINC Client Software
Because the BOINC Client Software makes continuous updates to the BOINC Client Directory, many processes we want to do can cause corruption of the "state" files. To prevent this, all we have to do is stop the BOINC Daemon.
[edit] Single-User or Shared Installations
Open the Pop-Up Menu or the BOINC Manager's File Menu and select "Exit" ("Quit" in OS-X). This will shut down the BOINC Manager and the BOINC Daemon.
Goto Verify All BOINC Processes Have Stopped.
[edit] Services Installation
Perform the following:
- Click on the "Start" Button.
- Click on "Control Panel".
- Double-Click on "Administrative Tools" to open the tools folder.
- Double Click on "Services" (Two gears).
In the "Services" window, locate the entry "BOINC" which is the BOINC Daemon. Right-click on the name and select "Properties" from the pop-up menu.
With the "General" tab selected on the "Properties" window, click on the "Stop" button.
A message window with a progress bar will appear and will show the progress of the stop action. It is possible that the BOINC Daemon will not stop. This is usually indicative of more serious problems in Microsoft Windows® than the BOINC Client Software.
[edit] Verify All BOINC Processes Have Stopped
Depress the CTRL-ALT-DEL keys to bring up the "Task Manager".
Click on the column heading "CPU" twice to sort the column from top to bottom use.
When the BOINC Client Software is running you will see activity on one or more processes. In the example shown here this is for a computer with an Intel Pentium 4 processor with Hyper-Threading and so it shows two processes with 50% each.
On a single threaded CPU you will see one process with time varying up to about 99% which should be the currently executing Science Application.
| Project | Known Process Names |
|---|---|
| BOINC | boinc boincmgr |
| Climateprediction.net | hadsm3 hadsm3um sulphur_cycle |
| Einstein@Home | albert einstein |
| LHC@Home | sixtrack |
| Predictor@Home | mfoldB Charmm |
| PrimeGrid | rsa |
| Rosetta@Home | rosetta |
| SETI@Home | setiathome |
| SIMAP@Home | simap |
| SZTAKI Desktop Grid | search |
| World Community Grid | rosetta |
- Note:
- Some of these Application names may be followed by a version number.
- Note:
- Both Rosetta@Home and World Community Grid use an Application named "rosetta", but in almost all cases the version numbers will be different.
If you have been successful in stopping the BOINC Client Software you will see that the "System Idle Process" has most of the available CPU Time.
[edit] Back-Up the BOINC Client Directory
When we do many processes that have potentially dire consequences we should make a archive copy of the BOINC Client Directory so that we can restore our existing system if things go Really wrong.
[edit] Locate Room For the Copy
Check your available disk drives for enough room to save a copy of the BOINC Client Directory. In most cases, our recommendation would be to save the copy on a disk drive other than the disk drive where the BOINC Client Software is installed.
[edit] Drill Down to the BOINC Directory
Double-Click on "My Computer".
Double-Click on "Local Disk (C:)".
- Note:
- We are referencing the "normal" installation location for the BOINC Client Software. If you installed the BOINC Client Software on another disk drive, open that disk drive instead.
Double-Click on "Program Files".
[edit] Select the BOINC Directory
Click on the "BOINC Directory".
[edit] Copy the BOINC Client Directory to the "Clipboard"
With the "BOINC Client Directory" selected, either:
- Press CTRL and "C", or
- Click on the "Edit" menu, then click "Copy".
[edit] Select the Destination
Open the designated destination directory. In this example I selected the current "Program Files" directory.
[edit] Paste the BOINC Directory
"Paste" the copied "BOINC Directory" by either:
- Typing CTRL and "V", or
- Click on the "Edit" menu, then click "Paste".
[edit] Monitor the Paste of the BOINC Directory
Now we get to see the files getting copied into the destination.
[edit] Copy Is Complete
Once the copy process (the "Paste" action) is complete, you should see a new folder. In this case, we did a "Paste" to the same directory as the source so the name is changed to "Copy of BOINC".
[edit] Verify the Copy
Once the copy action has been completed, we want to verify that the content was completely copied. Right-click on the "source" folder and select the "Properties" menu item. Now, right-click on the "source" folder and select the "Properties" menu item.
Compare the folder sizes and the number of files located within those folders. Both the folder size and the number of files must be equal or the save action did not get performed correctly.
[edit] Performing the Installation of the "Optimized" Science Application
[edit] Explanation
Now that we have the correct "Optimized" Science Application we are ready to begin to do the installation.
Note that the use of the "Optimized" Science Application does not require the use of the "Optimized" BOINC Daemon.
For me personally, the benefits to be gained from the faster code in the BOINC Daemon is less important than using later versions of the BOINC Daemon. For example, when I was writing this guide the Recommended Version for the BOINC Client Software was 4.45, yet the "Optimized" BOINC Daemon was a much earlier Version. So, I only installed the "Optimized" Science Application.
[edit] Opening Up The "Program Files" Directory
Double-Click on "My Computer".
Double-Click on "Local Disk (C:)".
- Note:
- We are referencing the "normal" installation location for the BOINC Client Software. If you installed the BOINC Client Software on another disk drive, open that disk drive instead.
Double-Click on the "Program Files" folder.
[edit] Opening Up The "BOINC" Directory
Double-Click on the "BOINC" folder.
[edit] Optional Installation of the "Optimized" BOINC Daemon
At this point you can install the "Optimized" BOINC Daemon.
If you elect to not install the "Optimized" BOINC Daemon go to the step: "Installation of the "Optimized" Science Application".
[edit] Renaming the "Old" BOINC Daemon
Right-Click on the "boinc.exe" file, select "Rename" from the pop-up menu.
When the file name is selected as a edit, carefully click the name so that the insertion bar is located immediately before the period and file extension.
Add "-old" so the file name becomes "boinc-old.exe".
- Note:
- If you did not stop the BOINC Daemon this rename will not work!
[edit] Verify The Rename of the "Old" BOINC Daemon
Check to make sure that the name of the BOINC Daemon is now "boinc-old.exe".
[edit] Open the Folder Containing the "Optimized" Applications
Here I copied the folder downloaded in the step "Selecting the Correct Version of the Optimized Science Application" to the Desktop.
Open the folder containing the "Optimized" Applications.
[edit] Copy the "Optimized" BOINC Daemon
Copy the "Optimized" BOINC Daemon by:
- "Right-Click and Drag":
- Right-click on the file "boinc.exe" in the folder containing the "Optimized" Applications.
- Drag the selected file to the open BOINC folder.
- Release the mouse and select "Copy'" from the pop-up menu.
or
- "Click and Copy":
- Click on the file "boinc.exe" in the folder containing the "Optimized" Applications.
- Select "Copy" in the "Edit" menu
- Click on the "BOINC" folder.
- Select "Paste" in the "Edit" menu
[edit] Verify the Copy of the "Optimized" BOINC Daemon
At this point, you should see two files in the BOINC Directory:
- boinc.exe (the "Optimized" BOINC Daemon), and
- boinc-old.exe (the "baseline" BOINC Daemon).
[edit] Installation of the "Optimized" Science Application
Installing the "Optimized" Science Application is the main point of this guide and isn't it about time we got on with it? Smile ...
[edit] Open the "Projects" Folder
Double-Click on the "Projects" folder.
[edit] Open the "setiathome.berkeley.edu" Folder
Double-Click on the "setiathome.berkeley.edu" folder.
[edit] Renaming the "Old" SETI@Home Science Application
Right-Click on the "setiathome_something.exe" file, select "Rename" from the pop-up menu.
When the file name is selected as a edit, carefully click the name so that the insertion bar is located immediately before the period and file extension.
Add "-old" so the file name becomes "setiathome_something-old.exe".
- Note:
- If you did not stop the BOINC Daemon this rename may not work!
[edit] Install the "Optimized" Science Application
Select the two files, "app_info.xml" and "setiathome_something.exe" and copy (or move) them into the "setiathome.berkeley.edu" folder.
[edit] Testing the Installation
Now, the installation is complete and it is time to test the upgrade!
[edit] Starting the BOINC Client Software
Start the BOINC Client Software.
Note, please, that I have an icon for the BOINC Client Software on my desktop. You may not have this so you will have to navigate from the "Start" button to the BOINC Menu item and select the BOINC Icon there.
Shown here, are the messages in the Messages Tab of the BOINC Manager. The key message we want to see is:
2005-07-27 05:05:31 [SETI@home] Found app_info.xml; using anonymous platform
This message is the first indication that we have put things in the correct spots.
If you did not install the "Optimized" BOINC Daemon correctly you will not even see the BOINC Daemon starting.
If you had not "drained" your supply of SETI@Home Work Units, you will likely see one or more of these messages as the previously downloaded work is purged from the Work Buffer.
2005-07-27 05:05:31 [SETI@home] WU refers to nonexistent app_version: setiathome 418 2005-07-27 05:05:31 [SETI@home] Can't link workunit in state file
See the full details on these messages:
[edit] Download Additional Work From the SETI@Home Project
Open the BOINC Manager and select the Projects Tab.
Select the SETI@Home Project in the list.
Change the Work Fetch Policy setting by depressing the button "Allow more work" changing its state to "No new work".
[edit] New SETI@Home Work Allowed
Click the "Update" button.
[edit] Work Downloaded
Select the Messages Tab.
You should see messages indicating that new work is being (or has been) downloaded from the SETI@Home Project.
[edit] Work Being Processed
This is a step with no obvious visual aid. But, now you need to monitor the operation of the BOINC Daemon and the "Optimized" Science Application. There is no simple test at this point. However, you are looking to see "normal" operational messages. If have a "bad" installation you see Message like:
- Received signal 4
- SIGILL: illegal instruction Exiting...
- ???
- Unrecoverable Errors - all types
The most likely cause of these types of errors is that you installed the wrong type of optimized application.
[edit] "Before" and "After"
The last step of the install verification is that you should see a decrease in the execution times for the Results. As shown here, the time was reduced from 11,000 seconds per Result range to a 5,000 second per Result range.
Obviously with variable run times there will also be variations in the improved run times. My expectation would be that you should see at least a 20% reduction in run time with the high end of the improved run times being in the vicinity of 50% (in this example the improvement was 45%).
- Note:
- I used the faster time / old time to derive the speed improvement. The most important thing is not how much the change was (or is) but that we are almost twice as fast. Since the time spent on a Result varies your speed up will also be variable.
If you are not being granted Credit for the work, again, there is a problem with the installation. Most likely from the incorrect selection of the "Optimized" Science Application.
[edit] Also See
- Marisan - download files, make sure you get the 4.18 to 4.11 app_info: http://www.marisan.nl/seti/
- Metod's page on ICC and benchmarks - Linux: http://mkx.feridot.com/boinc/
- Ned's howto - how to compile http://www.pperry.f2s.com/boinc-compile-seti.htm
- CPUZ for identifying the correct file to download: http://www.cpuid.org/cpuz.php
[edit] BOINC "How-To" Guides Related To Installation
The list that follows contains the BOINC "How-To" Guides, in rough order of use, that are used in the installation and set-up of the BOINC Client Software.
- Note:
- Don't panic! I have pictures and everything!
- Installing the BOINC Client Software And Participating In A BOINC Powered Project (Master Guide)
- Choosing a BOINC Powered Project
- Joining a BOINC Powered Project
- Installing:
- Installing The BOINC Client Software on Microsoft Windows® (all versions).
- Installing The BOINC Client Software on Apple Macintosh OS-X (only; do not attempt to install or run the BOINC Client Software on OS-9)
- Installing The BOINC Client Software on Linux (x86 versions only)
- Installing The BOINC Client Software on SPARC/Solaris
- BOINC and SETI@Home Quick Install Guide for HPUX
- Attaching The BOINC Client Software To A BOINC Powered Project
- Updating or Repairing the BOINC Client Software:
- Detaching The BOINC Client Software From A BOINC Powered Project
- Uninstalling the BOINC Client Software:
- Miscellaneous Installation Related Tasks
- Enabling The Graphics Capability of the BOINC Client Software for a Service Type Installation
- Installing an "Optimized" SETI@Home Science Application - Microsoft Windows®
- Deprecated Procedures











