Windows SMP client installation (DEINO 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 -deino 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 MPICH 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 DEINO SMP client, there are a few requirements you must check to make sure the client will work correctly :

  1. You must have a 32 bit OS for DEINO to work. If you have a 64 bit OS, you must pick the MPICH version since DEINO doesn't work at all. The MPICH guide can be found here.
  2. You have a computer with at least a recent dual core or better to run the SMP client. This mean 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.
  3. 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.
  4. 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.
  5. 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.

Note: If you already have DEINO installed, it's suggested to uninstall it before following the guide to avoid any potential issue.

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. For the current guide, download the DEINO package.

After you downloaded it, you will see a package in .zip format so you need to unpack it to the folder you created above. With Windows Explorer, browse to the folder you just unzipped 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).

DEINO Configuration

Note: If you have DEINO already installed on your computer, please uninstall before following the guide to avoid potential issues.

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 get the installer messages (in a command prompt) like that :

 C:\FAH>install.bat

 C:\FAH>msiexec /i DeinoMPI.msi

This will start the installation of the DEINO MPI client. You will see a dialog box like this :

Just press Next to get the next window :

Check to accept the license terms and click Next to enter the path :

Unless you want to install in a different place, you should leave the default path there and press Next. The next window will just confirm the options so press Next once more to install it. When it's done, press Finish to close it. The batch will then present you with the credentials store installation and configuration below.

 C:\FAH>create_credential_store true

 This program creates a Credential Store for the current user.
 The credential store contains a public and private security key
 and zero or more secure user credentials.
 Deino MPI uses this store to establish secure connections between machines
 and store sensitive information like user credentials.

 Do you want to create a new store (yes, no)? [yes]

Press enter since we want to create a new credentials store

 Please enter a passphrase to protect the private key:

Don't enter anything, just press enter since we don't want to use a passphrase.

 Are you sure you want no password for the private key (yes,no)? [no]
 yes

Type yes and press enter to confirm we don't want a passphrase.

 Options for encrypting the private key:
   protect   - Use the ProtectedData.Protect/Unprotect methods to encrypt.
   none      - Do not encrypt.
 Please enter a method to encrypt the private key: [protected]

Just press enter since protect is what we wanted.

 Available locations to create the store:
 (1) Windows Registry
 (2) Hard drive
 Where would you like to create the store (1,2): [1]

Press enter again since we want it to be stored in the registry. If you have a removable media plugged, the available locations list will be different (the removable media entry will be (1) so select (2) instead for the Windows Registry).

 Credential store written to the Windows Registry.

 C:\FAH>manage_credentials /add
 Enter the account name: [COMPUTERNAME\Username]
 Enter the account password:
 ************
 Enter the password again to verify:
 ************

Accept the account name by pressing enter and enter your Windows password twice here. If you need to use a different username (like a local windows account instead of a domain account), change the information first.

 C:\FAH>net start deinopm
 The DeinoMPI process manager service service is starting.
 The DeinoMPI process manager service service was started successfully.

 C:\FAH>mpiexec -np 2 foo
 If you see this twice, MPI is working
 If you see this twice, MPI is working

 C:\FAH>

When the line mpiexec -np 2 foo is executed, you may get a firewall popup asking you to allow or deny mpiexec.exe. Make sure you allow it or it won't run properly. When you are done, you should see the If you see this twice, MPI is working being displayed twice. If you don't see this or you see a different error, check why and fix this before retrying. If it is running correctly, continue with the client configuration 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. Optional, but may be required in the future.
 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 -deino -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 -deino 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 DEINO SMP mode. In our case, enter -smp -deino -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 DEINO 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.

You also need to make sure that the F@H service is started only when the DeinoPM service is started first. For this, you need to make sure that both the F@H and DeinoPM services is stopped (you can right-click on each service in the Services console and stop them if it is started).

Open the registry editor by going on the Start menu and type regedit.exe (same place as above to start services.msc). When the Registry editor window is open, find the service which is normally in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services branch. When you find it, click on it then add a new Multi-string value (REG_MULTI_SZ) then name it DependOnService :

When it ask for the value, enter DeinoPM which is the service name of DEINO then confirm it. You should see the result like that :

Close the registry editor then go back to the Services console. Double-click on the F@H service then click on the Dependencies tab. You should see that DeinoPM is listed as a dependency :

Alternatively, you can also create a .reg file to add the new entry. Open Notepad and paste this :

 Windows Registry Editor Version 5.00

 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Folding@home-CPU-[MachineID]]
 "DependOnService"=hex(7):44,00,65,00,69,00,6e,00,6f,00,50,00,4d,00,00,00,00,00

Change the contents of [MachineID] to the Machine ID your SMP client is configured. In our example, we assume it's 1 so it would look like [1]. When you are done, click on File then on Save As... to save as a .reg file (Give a name like fahservice.reg). When you are done, just click on the newly created file and it will pop a window asking if you want to add to the registry. Confirm the action and it will be added.

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:36 AM