Guide To Setting Up Stanfords SMP Windows Client Page: 1
Stanford image

Guide: Setting Up Stanfords SMP Windows Client

This guide is intended to be used as an easy reference for members who wish to run Stanford University's Windows SMP client. Hopefully it will answer all questions regarding setting up and maintaining the Windows SMP client, and make running the client as pain-free as possible. But as always...

# Note: can in no way be held responsible for any loss of data by following this guide. The guide is written purely as an easy to read installation reference, and the information/ opinions contained and expressed within are purely those of the author. As with any work undertaken upon your PC, always ensure that valuable data is backed up.

What is the SMP client?

In the past, Windows users wanting to participate in Stanford' Folding at Home ([email protected]) Project, have had to resort to running either the GUI or console versions of Stanford' software. The main issue with using the console version was the lack of a native installer for Windows, Linux and Mac OSX platforms which would make effective use of processors with dual-cores or more. With the multi-core processors now becoming more mainstream, there was a need for a client which would allow those processors to run more efficiently when 'folding' and also decrease the time taken for simulations to be completed.

SMP means "Symmetric Multi-processing" and it is a term that generally refers to the situation where a computer has more than one processor core. Dual core CPU's are pretty common and even 4-core boxes (currently implemented as dual socket dual core computers, such as Apple's Mac Pro) are becoming common. With advances from Intel and AMD, quad core processors are on the horizon, with 8-core and even 16-core boxes soon to become common.

According to Stanford University, the SMP client can increase the overall folding performance on a multi-cored processor by around 4 - 6 times that of running two versions of the older text based console together to achieve the same result. The SMP client was originally intended for multi-core CPUs, which generally do not support HT. For machines with 2 physical CPUs, Stanford recommend enabling HT for the SMP client as this presents the operating system with what looks like 4 logical processors (and their SMP client is intended for 4 processors). If you have 4 physical CPUs, they do not recommend using HT, as this presents the operating system with 8 logical processors, which will make the SMP client run inefficiently (especially since the logical processors coming from HT run much slower than the normal ones).

Currently Stanford provides support for three operating systems: Windows, Mac OSX/Intel, and 64-bit Linux. They are working to port to 32-bit Linux and hope to have that ready to beta test soon. The Windows version of the client has recently been released and runs under both 32-bit and 64-bit Windows.

Anyway, let's have a look and see what we need to have for our installation...


It should be made known that the SMP client as it stands is currently in open beta phase of testing i.e there will be bugs to be ironed out along the way. Currently, Stanford has a list of the known SMP client bugs (many of which exist for Windows, Linux and Mac OSX platforms) which have been made available at their [email protected] Project public forum. I would advise that you head over there and familiarise yourself with some of the known issues. I have listed the more common, problematic ones below. However, a significant amount of the other issues listed at the Stanford [email protected] Forum are purely cosmetic, and as such have been excluded from this list.

Known Bugs and issues
  1. The core needs some time (often as much as 4 minutes) between work units to finalise work.
  2. Printing to the log file sometimes gets weird due to multiple threads
  3. The SMP core appears to be confused about disabling optimizations, so Stanford suggests running with the -forceasm flag if you notice that the SSE was disabled unnecessarily.
  4. The core will print "No option -tpi" 4 times during the start up of the core
  5. If a server with SMP WU's is not available or is overloaded, the client will be assigned to, which tells the client to wait and try again.
  6. If you fail to register your password by running mpiexec –register the cores fail to start. There is no error message, just a hung client.
  7. There are potential errors if you've chosen a hostname for your computer which also exists on the internet. If your machine is called "MyComputer" and a ping MyComputer gives you any appreciable time delay, change your computer's hostname.
  8. SMP clients can be affected by changing network settings.

* When installing the Windows SMP beta client it requires that the account under which the client runs MUST have a password. Blank passwords will cause the FAH cores to fail.

* If installing the client on a Windows 2000 or XP based PC, Microsoft .NET framework v2.0 must be installed (please make sure that this is done prior to installing the client). You may download Microsoft' .NET framework v2.0 from here. For those wanting to run the SMP client on a Vista based machine, the .NET framework is not required as Vista comes bundled with it already.

* The SMP beta client is extremely susceptible to overclock instability other problems associated with your PC. If your overclock appears to be stable, it is best to double-check using a stability test program which stresses the CPU using code very similar to the [email protected] simulation software. Feel free to download and check your overclock stability using StressCPU v2, which can be downloaded from here.

* You'll need the Windows SMP beta client which can be downloaded from here

Now that we have tested our overclock is nice and stable, and we've installed a password on our user account and installed Microsoft's .NET, we can now proceed with the SMP beta client installation. I have taken the liberty of including supporting images to help with every step of the installation process too. Let's go...

Guide To Setting Up Stanfords SMP Windows Client Page: 2
Article <script type="text/javascript" src=""></script> Posted 19/06/07
Author: PV5150

F@H logo


1. Unpack files.
Run the self-extracting installer to unpack the SMP client files. You will be given the option of telling the installer where you want to install the SMP client files, but it's best leaving it to install in the default directory - C:Program Files.

2. Client installation.

SMP installation

Readme Info

Destination selection

Destination directory

Once the installer has finished its job, you will find this in your installation directory.

SMP install directory

I have added a couple of extra files into the directory, but I'll explain those later when I add to this article. The additional information will cover reconfiguring FahMon to read the ETA's of work units. Let's head over the page...

Guide To Setting Up Stanfords SMP Windows Client Page: 3
Article <script type="text/javascript" src=""></script> Posted 19/06/07
Author: PV5150

F@H logo

Installation continued

Run install.bat (see image below) from within the SMP install directory to complete the installation. This will install MPI services that the client needs. If you have Windows Firewall enabled, you may get a pop-up window asking if you should give access to the smpd and mpiexec programs. Grant access. If you use an alternate firewall product, you will likely have to make a similar exception for smpd.

Important directory files

Install.bat password screen

# Note:
The username and password you provide for mpiexec should be your Windows login that you will run the client under. This is used for authentication on your local machine. It is cached in encrypted form in your Registry and is not transmitted to FAH servers.


At the end of the install process, you should see two lines of output: If you see this twice, MPI is working. If you do not see these lines, do not start the client. MPI is not successfully installed, and the client will not run successfully.

3. Run fah.exe.
You will need to run fah.exe in order to start the SMP client. You may get a pop-up firewall window here; if so just allow it. Stanford do not currently support running the SMP client as a service, so when setting up your configuration answer NO when prompted. Running the SMP client as a service may cause issues when it comes time to send the completed work unit (WU) to Stanford's collection servers.

fah.exe config

I have included the screenshot above with part of the client configuration included, but if you want to see how it should be completed have a look at NickS' great guide in setting up the 'config' here (towards bottom of the first post). Just remember to say NO to running the client as a service.

Before restarting your computer go back to your installation directory and right click on the fah.exe file and 'send a shortcut to the desktop'. This will make it easier for starting the client after a restart. You may now restart your PC and use the shortcut you've just created to start the SMP client. Just remember that if you close the fah.exe window after you have started the simulation, you stop the client.

fah.exe working

So there you have it...Stanford's Windows SMP client up and running quietly in the background. Now get ready for some serious number crunching, and a healthy point value on your [email protected] team score. I hope that you have found this guide both informative and easy to understand, but if you have some suggestions for improving the article feel free to send me a PM with your ideas. Alternatively, if you have any problems with setting the SMP client up after reading this article feel free to ask in the appropriate section of the forum , and I'll be glad to help.

Discuss this article in our forum