Windows GPU2 client installation guide

Table of contents

Requirements for installation

Note: For all client versions, if you are running Windows XP, it's strongly recommended to have the Service Pack 3 (SP3) installed. If the service pack is not installed, it's very possible the client won't behave properly.

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

AMD/ATI

  1. If you have a ATI GPU, the requirement is to be compatible with CAL and this mean that any card from X2xxx (R6xx) series and above can run any CAL application. This also means that unfortunately, X1xxx and older is not compatible because the shaders architecture is not unified.
  2. ATI driver supported for folding is currently the Catalyst 8.7 (or newer) that you can find it here. To update the driver, it's suggested that you uninstall the old driver, reboot then install the new driver.

NVIDIA

  1. If you own a NVIDIA card, it must be compatible with CUDA, so the 8 series and above is compatible (a list is available to check if your card is compatible, including the GeForce, Tesla and Quadro lines). The GeForce series 7 and older is not compatible due to a lack of unified shaders.
  2. You need to run the proper driver to run CUDA. NVIDIA official CUDA 177.35 (or newer) driver can be downloaded here and you should use this version unless there is a compelling reason to use a different one. To update the driver, it's suggested that you uninstall the old driver, reboot then install the new driver.

There are two types of client available, which is a Systray version and a Console version. The advantage of the Systray version is that you have a icon on the task bar that you can use to control the client. The Console version use the command prompt to run but the main advantage is that version can be configured as a service, thus concealing the client entirely from the user. However, the service mode doesn't work at all under Vista.

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.

Installation (Systray version)

You can download the GPU Systray client installer from the Download page. After it has downloaded, run the installer package by double clicking the downloaded file (If it doesn't start automatically, it probably means you need to install the Windows Installer 3.1 package first, which you can get through Windows automatic update). You will see this window:

Click on the Next button to continue to the License agreement window:

If you accept the license, click on the I Agree button, then click on the Next button. There is no configuration to edit:

Click on the Next button to start the installation process. When it's done, you will see the last window:

Click on the Close button to exit the installer.

During the installation process, the installer created a new folder in the Start menu. You can find it under Start -> Programs -> Folding@Home-x86 as indicated here:

There are two shortcuts. The first is to run the FAH program and the second is to go in the data folder where the client stores work unit data, client configuration, and executable files for maintenance. Start the client for the initial setup by clicking on the first link (Folding@home). A configuration window will appear the first time you run the client:

In this panel, if you want to fold under your own username, enter it here along with the team number if you are part of the team. If all you want is to contribute while not caring about a username or team, leave them as is. If you have a passkey associated to your username, enter it now (Read the Passkey FAQ page for more information). Click on the Connection tab on the top to get to the next panel:

The first checkbox prompts the client to ask before downloading or uploading a work unit. This is useful if you are on a non-permanent connection like dialup and want to control when to download/upload. You will need to configure the client if using a Proxy (if you need the information to configure your proxy, ask your network administrator). The last checkbox enables the client to download large work units (they have bigger bandwidth and memory requirements) and may earn more points. Click on the Advanced tab to get to the next panel:

These are the advanced settings for the client. The default settings are the recommended settings unless otherwise noted. If you are unsure about these settings, we recommend you leave them at the default. The default settings are suitable for the majority of users. Here is what each element does:

  • Core priority: If you are running multiple clients or have another program running continuously in the background, you may need to adjust the priority so it won't sit idle while waiting for free cycles. This is not the same as the Windows priority. Do not change the Windows priority for the fah client.
  • CPU Usage Percent: If you don't want the client to use all of the spare CPU cycles, adjust the percentage to suit your needs.
  • Disable highly optimized assembly code: If you are having problems running the client due to a processor incompatibility or any weird error, check this to disable the SSE optimizations. Doing this will cause the client to run slower depending on the workunit.
  • Checkpointing frequency : Increase or decrease the frequency of Work Unit progress backups. This won't prevent the client from writing the data before the checkpoint if the next frame is completed before.
  • Do NOT lock cores to specific CPU: If you have more than one core, checking this will allow the client to use any free CPU/core. If it is left unchecked, it will only use one core no matter if others are free or not.
  • Core Network Address (Advanced): For future use, when the Viewer is finished.
  • Pause work while battery power is being used: This is useful for laptops to stop the client from running when it's on battery power, to avoid draining power.
  • Additional Client Parameters: This is where you can save the frequently used flags like -verbosity 9 or -advmethods.
  • Machine ID: This is the client ID and it needs to be different if you are running more than one client on the same computer. An example would be if you are running the Systray client and the GPU2 client at the same time. One client would be assigned Machine ID 1, and the other to Machine ID 2.

When you are done, click OK. If you entered any Additional Client Parameters during configuration, you may need to stop and restart the client to enable them. The client will now run in the background with a icon in the Taskbar. You can hover over the FAH icon to check the current client status. If you want to see more detail about how the client is progressing, you can check the log file generated by the client. For that, right-click on the taskbar icon and you will see this:

Click on Status then on Log file to open a notepad window with the log file contents. This is useful to see if there are errors and if you need help, you can copy the contents of this log file to the forum.

Note: The Viewer included with the Systray client is not yet working properly and is a known bug. This is the Display option when you right click the FAH tray icon. The Pande Group is aware of these issues and is working to fix them. Sometimes the viewer works, sometimes not. And it always uses a lot of CPU power, and may slow down the folding client. In the mean time, avoid using the viewer. The viewer is not required to make the client run.

Installation (console version)

First, download the console client from the Download page (There is 2 distinct packages, one for Windows XP and 2003 and one for Vista so make sure to pick the correct one for your OS). If you wanted to use a installer, the Console client doesn't come with one so it's suggested to use the Systray client instead. After you are done downloading the package, unzip the package in any place except the Program Files folder (due to potential permissions issues). A good suggestion is to create a new folder on C:\Users\[username]\FAH! for Vista or C:\Documents and Settings\[username]\FAH for XP. You can also place it on the desktop or on a custom folder like C:\FAH\. After you are done unzipping, it's suggested you rename the executable file name to fah6.exe to make the following steps easier to do.

Note: If you are using the Vista GPU Console client, don't install as a service since it's currently not working properly. If you need a unobstructive client under Vista, it's suggested to use the Systray version.

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

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

 [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.
 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.
 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]?
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.
 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. Note that when mixing CPU or SMP clients with GPU clients, you may need to set the GPU clients to the low priority setting for best performance.
 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.
 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.
 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) [2]?
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]?
If you disable the affinity lock, the client will pick any free CPU core. Leave set to no if you want the client to be locked to a CPU core. If you run a NVIDIA card, you can adjust the affinity by using the NV_FAH_CPU_AFFINITY environment variable (check the NVIDIA FAQ for more details). Leave set to no if using the NV variable.
 Additional client parameters []?
You can enter the client flags here so you don't have to type the flag each time. -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 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 a process called FahCore_xx.exe in the list. Or you can open the fahlog.txt file to see the client progress.

Installation for a multi-GPU system

Here is some specific requirements to follow for the multi-GPU setup to work :

  • The current multi-GPU installation guide requires some knowledge of the Windows system, if you are having issues, you can ask for help.
  • If you are running multiple GPU cards with SLI or Crossfire, you need to unlink the cards by disabling SLI or Crossfire in the driver control panel. Also, you need to extend the desktop for the client to recognize the cards.
  • When Windows ask to look for a driver hit CANCEL. If you let Windows install the driver automatically, there is a big risk of having sub-par performances or client issues.
  • If you run Windows Vista, you need to have each GPU connected to a monitor (a KVM can also work but not all models of KVM will provide a signal when it's not switched as current monitor) or a VGA dummy plug.

Before you start doing the installation, make sure to grab the latest CUDA driver and the latest client. You can find the links in the Requirements section. Also, the following guide is based on the GPU Systray client installation so if you didn't install the client yet, follow the Systray instructions first before following the instructions below.

Note: First of all, make sure the GPU2 client didn't copy the shortcut in the startup folder during installation because we don't want it to start automatically. The current client doesn't do it but previous clients did, hence the warning. The shortcut is usually found in ''Start -> Programs -> Startup".
Note: If you are following this multi-GPU guide to upgrade from a single-GPU setup, make sure that the second copy doesn't include the work folder and queue.dat from the original one or you will duplicate the work unit. To ensure it's ok, delete the work folder and queue.dat in the new folder after you copied from the original folder.

Next, open up Windows Explorer and find the directory where the installer created a folder under your user name. Below is the path of the folder depending on the OS :

XP : C:\Documents and Settings\[username]\Application Data\

Vista: C:\Users\[username]\AppData\Roaming\

Note: This folder is usually hidden so you may need to type the whole path in the address bar or to enable the option to view all files and folders.

Once you’ve located the directory, copy the folder called Folding@Home-gpu and paste into the same location. Rename the new copy by cutting the “Copy of” off and adding a 2 (or more for extra cards) after the directory name. You will need to repeat the same steps if you have 3 or more GPU you want to use. Here is what it should look :

Now, go in the C:\Program Files\Folding@Home\Folding@Home-gpu folder (with Vista, it's in the x86 folder). You should find the client executable here so make a new shortcut of the client (right-click on the executable icon then select Create Shortcut). After creating the shortcut, move the shortcut to the desktop then rename with a short name like GPU1. Don't copy more than one shortcut since you will do it after doing some modifications :

Right-click on the first shortcut then select Properties. It should bring up the following screen:

Now, replace the Start in: path with the path of the data file which is stored in either those places (replace [username] with your Windows user name) :

XP : C:\Documents and Settings\[username]\Application Data\Folding@Home-gpu

Vista: C:\Users\[username]\AppData\Roaming\Folding@Home-gpu

Make sure there are quotes at the start and end of the Start in: path.

Add the -gpu 0 flag at the end of the Target: path, after the quotes (make sure there is a space between the quote and the flag). It should look like this in the Target: field:

"C:\Program Files\Folding@home\Folding@home-gpu\Folding@home.exe" -gpu 0

Once you are done, the properties should look like this for the first client. Click on Ok to close the panel afterwards :

Target: "C:\Program Files\Folding@home\Folding@home-gpu\Folding@home.exe" -gpu 0

Start in: "C:\Documents and Settings\[username]\Application Data\Folding@Home-gpu" (XP/2003) or "C:\Users\[username]\AppData\Roaming\Folding@Home-gpu" (Vista)

Now that you are done editing the shortcut, it's time to create more for the other GPU cards. Copy the first shortcut and paste as many copies (based on how many GPU cards you want to run) you need on the desktop. Rename each shortcut copy with a simple yet distinct names (to help identify which client) like GPU2, GPU3, etc. When you are done, right-click on each new shortcut and select Properties to edit the properties. This time, since you did most of the configuration above, all you need to do is to point the Start in: path to each data folder that you created and put -gpu 1 flag (or higher for subsequent cards). After you are done, you should have something like that :

Target: "C:\Program Files\Folding@home\Folding@home-gpu\Folding@home.exe" -gpu 1

Start in: "C:\Documents and Settings\[username]\Application Data\Folding@Home-gpu2" (XP/2003) or "C:\Users\[username]\AppData\Roaming\Folding@Home-gpu2" (Vista)

When you are done editing each shortcut, click on the first shortcut and configure your client as demonstrated in the Systray installation guide above. The key things to make sure you do are :

On the Connection tab :

  • Click yes to accept WUs larger than 10 megabytes.

On the Advanced tab :

  • Check the Core Priority for Slightly Higher
  • Click do not lock cores to specific CPU
  • Make sure the Machine ID is different then any CPU or GPU client you have running. Note: default is 2.

Now hit accept and repeat the step above for each shortcut and make sure you pick a unique machine ID for each client. When you are done, all that remain to do is to click every shortcut to start the clients and monitor them closely to make sure they run fine (it's often tricky due to a possible driver version conflict).

For More Information, Please See:


Last Updated on May 20, 2009, at 06:31 AM