Windows SMP client installation (MPICH version)

Note: Due to the way the Windows SMP client is setup, it's a complicated process to install it properly. For this reason, it's essential to read the whole guide first before attempting the installation. There is a lot of things to be careful like the -smp flag requirement or it won't work properly.

In addition to the instructions below, we also suggest you check out 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. See the respective installation instructions for more details of known bugs for each of the beta versions.

As in the use of any beta software, please make sure to back up your hard drive before installing. DO NOT 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 for client upgrades, and Points Per Day that differs a little or a lot from the developmental benchmark level.

Finally, note that while the points per day for these clients are higher than the classic client, they can 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 client, not a high performance client. If you run a high performance client, expect a much more complex experience and much more work to keep the client running (which is compensated by extra points per day).

Table of contents

Requirements for installation

Before you start the installation process of the SMP console client, there are a few requirements you must check to make sure the client will work correctly :

  1. You have a computer with at least a recent dual core or better to run the SMP client. This means than the older single core processors won't be able to run it. Since it's a high performance client, if you notice that after installation, it doesn't always meet the deadlines, please use the uniprocessor client instead.
  2. If you are installing this under Windows XP, you are required to download and install the Microsoft .NET framework v2.0. You can download the package from Microsoft. Windows Vista already includes the necessary package by default so it's not necessary to do it if you install the client under Vista.
  3. If you are running Windows XP, you need to have the Service Pack 3 (SP3) installed to make the client work right. If you don't have this service pack, it's possible the client will not behave properly.
  4. The Windows user account you are using to install the client must have a password 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 rerun install.bat. The password being 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 folder on C:\Users\[username]\ or on the root of C:\ (what matters here is to not put it in C:\Program Files\ to avoid issues with permissions, especially under Vista) with a simple name without spaces or special characters. A good suggestion is to name it FAH. The reason for this suggestion is because Vista has some strict restrictions when a program is run from the Program Files folder. Doing this will avoid lots of issues.

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 you downloaded it, you will see a executable installer package so run it. You will be presented with this window :

Click on Next to bring the next window, which is a Readme with the client notes. Click on Next again to bring the following window:

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

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. Type this command to begin (assuming you renamed the FAH executable to "fah6"):

 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. 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. You can find more information about Passkeys here.
 Ask before fetching/sending work (no/yes) [no]?
If you have a dialup internet connection, you may want to set this to yes. Then the client will prompt for your permission to upload / download work units. if you have a full time internet connection, just press enter to accept the default setting of 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. 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. Note that all SMP WUs are large in size, so big is the recommended setting.
 Change advanced options (yes/no) [no]? yes
If you want to change the advanced options, enter yes but it's not mandatory.
 Launch automatically, install as a service in this directory (yes/no) [no]?
You can install the SMP client as a service, but currently it is not recommended or supported. If you insist, there are special steps to do after installing the service but before running it for the first time. See below for detailed instructions.
 Core Priority (idle/low) [idle]?
This adjusts the FAH client priority level. This is not the same as the Windows priority setting. In most cases, the default setting is recommended.
 CPU usage requested (5-100) [100]?
This will adjust the percentage of CPU usage. The FAH client only users 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.
 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.
 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. This option states a preference to request newer late stage beta work units. Because newer work units tend to be larger, this setting my slightly increase your points per day. But because the mix of work units changes from week to week, using this setting might also reduce your PPD, or have no affect at all. For the SMP client, this only applies to late stage testing.
 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.
 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. I strongly suggest you enter the -smp -verbosity 9 flag here to make things easier to setup. Don't 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 4 instances of FahCore_ax.exe in the list. Or you can open the fahlog.txt file to see the client 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 May 20, 2009, at 06:35 AM by