Windows SMP Client Installation Guide (MPICH version)

Note: The Windows SMP client installation and setup are complicated processes. For this reason, it is essential to read the whole guide first before attempting the installation. PLEASE follow the install guide carefully, or the client will not work properly, especially noting the use of the -smp switch at all times.

In addition to the instructions below, we also suggest you review thesetup instructions on the FAH WIKI.

If you wanted to install the DEINO version, please refer to this guide.

Beta client warning

We often release clients early for donors to beta test. These beta versions likely have some rough edges, but we expect that they should work reasonably well for all donors.

As in the use of any beta software, please make sure to back up your hard drive before installing. DO NOT run a beta client if you or your machines cannot tolerate even the slightest instability or problems. Beta clients' and servers' performance may vary significantly from standard FAH clients during the development process, including but not limited to work unit shortages, server downtime for upgrades, short notice of client upgrades, and Points Per Day that differs a little or a lot from the developmental benchmark level.

Finally, note the beta clients may require a lot more maintenance due to their experimental or beta nature. If you would prefer to have a client which runs as smoothly as possible, we suggest you run our main public client, not a beta client. If you run a beta client, expect a much more complex experience and much more work to keep the client running.

Table of contents

Requirements for installation

Please review and confirm your system matches these requirements before beginning the installation:

  1. You must have a computer with at least a recent dual core processor or better to run the SMP client. This also means older single core processors will not meet the very short work unit deadlines. If after installing this high performance client on an older dual or and older quad core system, and the client is not meeting the work unit deadlines, please uninstall the SMP client, and switch to using one or more instances of the CPU and/or GPU client.
  2. Before installing this client on Windows XP, you are required have installed the Microsoft .NET framework v2.0 (or newer), if not installed already. You can download the package from Microsoft. Windows Vista already includes the necessary .NET package by default so it is not necessary to update .NET in Windows Vista.
  3. Windows XP Service Pack 3 is strongly recommended. If you don not have this service pack installed, the client may not run properly.
  4. The Windows user account that will be running the SMP client MUST have a password. The Windows user account that will be instaling the SMP client MUST have and have enough administrator rights. Blank passwords will not work and you must have a password only with those valid characters : A-Z, a-z and 0-9. Special characters should not be used to avoid any potential issues. If you change the password of the Windows user account, you need to run the install.bat file again. Note the password used to install is encrypted in the registry and not transmitted to the Stanford servers.

Installation

Note: Under Windows, antivirus software can interfere with the Folding@home client files and cause errors. We suggest configuring antivirus software to exclude the FAH client directory and especially the Work directory from the antivirus scanning list. This can be done by going into the exclusion list panel that every antivirus should have. The work subdirectory contains semi-random binary data and can confuse overly aggressive heuristic virus scanning.

First, create a new FAH folder, such as C:\Users\[username]\FAH Please do NOT install in C:\Program Files\FAH to avoid issues with permissions, especially under Windows Vista. Vista has new security restrictions on running programs from the Program Files folder that previous versions of Windows did not have.

Go to the High performance Windows clients download page. There will be a DEINO or MPICH package available for download. Pick the MPICH version for the purpose of this guide.

After downloading you will see an executable installer package. Double click to run it. You will be presented with this window:

Click on Next to proceed. The Readme window with the client notes appears. Click on Next again to continue to this screen:

It's up to you to pick which option. I recommend picking the first option for All Users to make things simpler but if you don't want others users to see this, leave the default option as is. After this, click on Next to bring the next window:

If you followed the recommendation to make a new folder, pick this one by clicking on the Browse button to get the following window :

After you picked the desired folder where you will install the client, click on Ok then on Next on the previous window. At this point, the installer knows everything required to proceed with the installation so click on Next to run it. When it's done, click on Finish to close the installer.

With Windows Explorer, browse to the folder you just installed the client and you will see a bunch of files like this :

To make the following steps easier to do, it's suggested to rename the executable to something easy to remember and to type like fah6.exe (right-click on the executable file, select Rename and change to a new name).

Note: Depending on the file and folder display settings, the file extension may or may not be shown.
Rename Folding@home-Win32-x86 to fah6 or rename Folding@home-Win32-x86.exe to fah6.exe.

MPICH Configuration

Open the Command Prompt window by clicking on the Start menu then type cmd.exe on the Run box and click on Ok. If you are under Vista, you must run it with the Run as administrator option or you will not have sufficient rights to complete the following steps (to get this, right-click on Command Prompt icon then select Run as administrator). With Windows XP, it's sufficient to run cmd.exe as is.

Here is what it should look under Vista (typed cmd.exe then right-click on it) :

You can use CD to change the directory and type D:\ (or any other letter) to change the drive if the client is not installed on C:\ by default. With those commands, move to the folder you created earlier (C:\FAH in our example). Here's a sample command :

 cd \fah

When you are here, type install.bat and you will see a message like this :

 MPICH2 Process Manager, Argonne National Lab installed.
 account (domain\user) [FAH\Username]:

Note: When you execute install.bat, you may get a firewall popup asking to allow or block twice, once for mpiexec.exe and once for smpd.exe. You should make sure both are allowed or the program won't work.

If the domain and user account is correct, just click on Enter but if you want to use a different account, enter the proper information (If you are on Active Directory, enter the Domain name but if it's not the case, it's the computer name you need to enter). After you press enter, you will see a password prompt :

 password:

Enter the Windows user password (you will see nothing on screen but type away). It will ask for a confirmation so enter the password again. If you did this correctly, you will see the following messages :

 password:
 confirm password:
 Password encrypted into the Registry.
 If you see this twice, MPI is working
 If you see this twice, MPI is working
 Press a key to continue...

The important thing is to see that the If you see this twice, MPI is working is displayed twice. If you don't see this or you see a different error, check why and fix this before retrying. When MPICH is working correctly, it's time to configure the client below.

Client configuration

The next step is to configure the client. Open a Command Prompt and change directory to the location where you unzipped the FAH client.

Note: To install the FAH client to run as a service (a bit later in the setup), the Windows XP user account running the setup must have Administrator privileges. In Windows Vista and newer, the Command Prompt used to setup the FAH client as a service must be opened with Run As Administrator privileges. Do this by clicking on the Start button. In the Search box, type command prompt. In the list of results, right-click Command Prompt, and then click Run as administrator. If prompted for an administrator password or confirmation, enter the password or provide confirmation. This would be a good time to change to a user account with Administrative rights, or to open a new command prompt using the Run As option.

Type this in the command prompt to begin (assuming you renamed the FAH executable to "fah6" or "fah6.exe" depending on the file view settings as noted above):

 fah6 -configonly -smp

The client will display some information and then prompt you for answers to configuration questions. Note that for most answers, the default setting is the recommended setting. Here is an example of what is displayed on screen, with an explanation of each option:

 Launch directory: C:\FAH
 Executable: fah6
 Arguments: -configonly -smp

 [16:25:22] Configuring Folding@Home...  

 User Name [Anonymous]?
Enter your FAH User Name (not the Windows user name). Or press enter to accept the default user name Anonymous. Almost everyone selects a personalized user name.
 Team Number [0]?
Enter your FAH Team #. Or press enter to accept the default Team # 0 and go to the next question. You can join a team at any time by configuring the client again and entering the new team number. This applies to all client settings.
 Passkey []?
Enter your passkey, or press enter to leave it blank and go to the next option. Use of a passkey is optional. However, a passkey is required to be eligible for the quick return bonus on SMP2 work units. You can find more information about Passkeys here.
 Ask before fetching/sending work (no/yes) [no]?
Because of the short deadlines on SMP work assignments, persistent connections are strongly recommended and this option should be set to no.
 Use proxy (yes/no) [no]?
If you are connected to a proxy, enter yes and configure the proxy options for proxy user name, password, address, etc. Or press enter to skip.
 Acceptable size of work assignment and work result packets (bigger units
 may have large memory demands) -- 'small' is <5MB, 'normal' is <10MB, and
 'big' is >10MB (small/normal/big) [normal]?
This option states a preference for the size of work units downloaded and uploaded to the project servers. Note that all SMP WUs are large in size, so big is the required setting. Bigger units will also have bigger memory requirements. If you run on a slower broadband or dialup internet connection, small is the recommended setting to ease your bandwidth usage and you may want to switch to the CPU client instead.
 Change advanced options (yes/no) [no]? yes
If you want to change the advanced options, enter yes. It is not mandatory but is recommended for SMP installs.
 Core Priority (idle/low) [idle]?
This adjusts the FAH client priority level. This is similar to, but not the same as the Windows priority setting. In most cases, the default idle setting is recommended.
Note: For better performance when mixing CPU or SMP clients with GPU clients, raise the priority of the GPU clients by selecting the low priority setting. Do NOT change the Windows priority settings for the client or fahcore.
 CPU usage requested (5-100) [100]?
This will adjust the percentage of CPU usage. The FAH client only uses spare CPU cycles not used by other programs, so reducing this setting is not typically necessary. However, if you want to lower system temperatures, or reserve CPU cycles for more intensive computer tasks, enter a number below 100.In the SMP client, changing this setting does not reduce CPU usage.
 Disable highly optimized assembly code (no/yes) [no]?
If you are having issues running the client, disable this. For 99.9% of the users, leave this at the default setting since this reduces the client performance a lot.
 Pause if battery power is being used (useful for laptops) (no/yes) [no]?
If you run a laptop, set this to yes to pause if the laptop is not plugged on the wall. This will avoid the client draining the battery.(if name WinSMP*:)In the SMP client, this setting may not behave as expected.(if name WinGPU*:)In the GPU client, this setting may not behave as expected.
 Interval, in minutes, between checkpoints (3-30) [15]?
Number of minutes between each checkpoint where the client is writing the client progress to disk in case of unexpected interruption. 15 is the recommended setting.
 Memory, in MB, to indicate (1013 available) [1013]?
Sets the amount of memory seen by the work servers. By default, it shows the full system memory amount. Note that reducing this setting does not reserve more memory for other programs. However, reducing this setting will prevent the client from downloading memory intensive work units. A setting too low may prevent the client from getting any new work. (if name WinSMP*:)In the SMP client, .5 GB per CPU core is the minimum, while 1 GB per core is recommended.
 Set -advmethods flag always, requesting new advanced
 scientific cores and/or work units if available (no/yes) [no]?
This is the same as using the -advmethods command line flag, except -advmethods will not appear on the arguments line in the fahlog. This option states a preference to request late stage beta work units, which may be less stable than regular work units. May cause work unit size and PPD to increase, decrease, or not change.
 Ignore any deadline information (mainly useful if
 system clock frequently has errors) (no/yes) [no]?
Only set this to yes if your local computer clock is having issues keeping the correct date and time.
 Machine ID (1-16) [1]?
This is the Machine Number of the client. If you are running more than one client under the same operating system, you need to have a different Machine ID for each client on that machine. If you are installing a single client on multiple computers, you do not need to change this since this is only for installing multiple clients on the same computer.
 Launch automatically, install as a service in this directory (yes/no) [no]?
If you want the client to run as a service, say yes and it will install a new entry in the services list. The next time you restart the computer, the service will start automatically and run in the background. SMP as a service is only supported in v6.30 and newer.
Note: The current Windows user account must have Administrator privileges to install FAH as a service. And rebooting the computer to start the client running as a service is required.
 The following options require you to restart the client before they take effect
 Disable CPU affinity lock (no/yes) [no]?
Not useful for SMP since it use all cores.
 Additional client parameters []?
You can enter the client flags here so you don't have to type the flag each time you run the client. We strongly suggest you enter the -smp Do NOT enter -config or -configonly'' or any single-use flag in this field to avoid problems.
 IP address to bind core to (for viewer) []?
For future use when the Viewer is working better. Specifies the IP address of the machine of which the viewer should display the client output.

When you press enter after the last question, the configuration will end and you will be back to the command prompt. You have successfully configured the client so the next step is to start the client. Here are 3 ways:

  • By clicking on the executable icon (this assumes you entered the proper flags during configuration).
  • By typing fah6 on the same command prompt window. Enter the necessary flags (including the mandatory -smp flag) if you didn't enter those during configuration.
  • Create a new shortcut to the FAH executable, and double click that shortcut icon (assuming you added all needed flags to the client setup).

Normally, if everything is done correctly, the client will be folding along fine. To verify the client is progressing, open the task manager and make sure there is one instance of the multi-threaded FahCore_a3.exe in the list. Or you can open the fahlog.txt file to see the client's progress.

Configuring the SMP client as a service

Warning: If you want to run the SMP client as a service, be aware this is currently unsupported by the developers. A bad configuration can cause the client to have issues and lose work units.

Note: The guide is validated with Windows Vista. A lot of people have a problem starting the service under XP so follow the steps at your own risks.

In addition to this guide, there is also a very detailed guide available on the Folding Forum which is a bit outdated but still valid.

The first step is to start the client in configuration mode with the -configonly flag. When prompted, answer yes to modify the Advanced Options. When you are in the Advanced options section, look for this prompt:

 Launch automatically, install as a service in this directory (yes/no) [no]?

Enter yes to confirm the service installation. Continue (edit the options if needed) until you reach this line :

 Additional client parameters []?

Since the client will be running as a service, the additional flags must be entered here to make it work in SMP mode. In our case, enter -smp -verbosity 9 then finish the configuration. Please note, it is no longer necessary to enter the service path variable with v6.23 and above.

At this stade, don't start the service yet because it must be edited to run with the proper parameters and permissions. For this, open the Services MMC by clicking on the start menu then type services.msc in the Run... box (XP) or the search field (Vista). When the Services console is started, find the newly added F@H service, which should be called Folding@Home-CPU-[1] :

If you didn't see, restart the client in configuration mode again and double-check that the service is being installed. Now, double-click on it and it will bring the Properties window. Click on the Log On tab to get this :

Select the This Account button then enter the same account you used to configure the MPICH client above. To make sure the account name is correct, it's suggested to click on the Browse button and find the account. Even if the password fields seems populated, delete them and enter the corresponding password.

When you are done, you can either start the service yourself (suggested) by clicking on the first tab then click on the Start button or by rebooting. Check if it is started correctly and if not, double-check the account details.


For More Information, Please See:


Last Updated on September 02, 2010, at 12:27 PM by