So here goes with the SMP how-to:
The Best of Both Worlds – 64 Bit SMP and GPU Folding
This how-to explains how to make a Windows XP based machine with a x64-multi core instruction set processor run with the two best point generating folding clients. This guide can only cater for machines with 2 or more cores; whether that’s dual-core, dual dual-core or quad core.
Both the 64-bit SMP Linux client and the Windows only GPU client currently receive a higher level of points than WUs allocated to other clients; and this is because both of these clients are beta types. Stanford are kind enough to dish out bonus points to those of us who take the trouble to run with their beta clients and WUs. If you read that previous sentence again, you’ll notice the catch, the SMP client is Linux only, and the GPU client doesn’t have a Linux version.
All is not lost, there is a solution, you can run both versions of client on one machine at the same time. The handy solution comes in the guise of machine virtualisation; or in simple terms, the Linux operating system can be emulated within an emulator running on a XP platform.
Pre-Requisites
First lets check our pre-requisites, if you don’t match all of these, then you’re unlikely to successfully run the two big boy clients:
· A multi core x64 processor, i.e. AMD X2 or Intel Core 2 Duo
· At least 1 gig of RAM; virtualisation needs memory rather than virtual memory to operate at an efficient rate – plus the clients might want to run some memory intensive FAHCores.
· The machine to be running a copy of Windows XP, Home or Professional. I’ve not listed Vista, as I’m not entirely sure of compatibility.
· That you have an ATI X19xx class graphics card (I’ll not cover multi-GPU solutions here). Some X1800 are supported, see here for exact card support: http://folding.stanford.edu/FAQ-ATI.html
· That you have Catalyst Drivers 6.5 or 6.10 installed, these are the two current versions that provide F@H support.
If you’ve got all those checked off, then lets move onto the steps:
Step 1 – Running the GPU client
Download the GPU console client from here: http://folding.stanford.edu/download.html and copy the download file to your preferred folding directory. For example save file as http://folding.stanford.edu/release/FAH5.91beta2-console.exe to c:\folding.
Create a run.cmd file in this directory containing the following:
FAHxxxxxxx-console.exe –versbosity 9 –local –advmethods –forceasm
Remember to replace FAHxxxxxxxx-console.exe with the file you downloaded.
Now go to your folding directory and run FAHxxxxx-console.exe –configonly and enter your preferred details such as Username, Team (always 46590).
Now run run.cmd from your folding directory, the client will now download its first WU and start crunching away. For a X1900XTX class card, your first WU should be completed in about 12 hours.
I’d personally not recommend attempting to overclock the card from its default 2D clock speeds. It’s all too easy for the GPU client to fail with EARLY UNIT ENDs, which results in no points and lots of completed WUs listed against your name and team.
For the official FAQ on the GPU client see: http://folding.stanford.edu/FAQ-ATI.html
Step 2 – Running the 64-bit SMP Client
To get the SMP client running alongside the GPU client, we now have to setup your machine to run a copy of Linux within a PC emulator. For this how-to I’ll detail how to use VMWare Server, but possibly other products may be up to the task. From my own experience I have found that the current crop of Microsoft Virtual PC and Virtual Servers are unable to host a 64-bit operating system within a 32-bit operating system. I would recommend not using them, unless I’m incorrect in my findings.
You’ll also need to download one of the freely available copies of 64-bit Linux. You can pick which version of Linux you prefer, but make sure it has SMP support, not all 64-bit distro’s currently do. For this how-to I’ll be using Fedora Core 64; which supports x64, SMP and Linux wary users like myself.
2.1 Linux Distro
We need to download the ISO file for the DVD of Fedora Core 64 V6.0; it’s around 4Gb in size so prepare for a night long download. Alternatively you could purchase a DVD copy from those good chaps at a shop like the Linux Emporium. For now, one of the available places to download the DVD ISO is ftp://download.fedora.redhat.com/pub/fedora/linux/core/6/x86_64/iso/
You may find a better place to download this file from, so do please google for other places if you so desire.
Never fear if you don’t have a DVD burner, we won’t be burning this file onto a disc. We’ll just be attaching the ISO image to the virtual machine.
2.2 Virtual Machine
Go download VMWare Server from http://www.vmware.com/download/server/. It’s free, and despite the requirements, this server product will work sufficiently well on XP. There are some problems with the web based management tool; however there’s no need for us to use this feature, so it’s irrelevant.
Go through the installation process of the server, ignoring the server-product warnings. You will be emailed a registration key during the download/install process.
Once installed, you need to install a new virtual PC. Go to File->New ->Virtual Machine, and select Typical installation. On Guest operating system select Linux, and in the version combo, either select your preferred Linux distro, or Other Linux 64-bit. When prompted for Network connection select “Use Bridged Networking. For the disk capacity, I would recommend at least a 16Gb hard disk file to be created. The hard disk size is just a file created on your machine, it will not tamper with your partitions or destroy any data you currently have.
You’ll now have a virtual machine that can do nothing but perform its POST operations and fail to find an installed OS. This is all good, but if you haven’t got to this stage, then either PM me or its time for a spot of RTFM.
To install the OS we need to attach the ISO file we downloaded. Simply right click on the tab of your virtual machine (the default title would be “Other Linux 64 Bit” if you’re having trouble finding the tab). Click on settings, and highlight the CD-ROM item in the hardware list. You’ll now see to the right the option of using a physical drive or to use an ISO image. Select the ISO image option and point it to the Fedora Core 64 DVD ISO file you downloaded. Click on OK to close the settings dialog.
You can now return back to your virtual machine, which should be complaining bitterly that it doesn’t have an OS installed. Right click on the VM’s tab, and select reset. It should now perform a cold reset and then start to auto-boot from the attached DVD image.
I won’t detail the Fedora Core 64 installation – as it’s so user friendly there’s no point. You may have decided to install another Linux, which would then make my detailing of the installation redundant. Seriously, installing FC 64 is a piece of cake. Just make sure you respond that you want the OS to run across more than one processor.
Once you’re up and running with FC64 and are facing the logon screen, then use root for the username, and the password you specified for the root user during installation.
You should now be faced with a fancy graphical desktop, and a task/start bar at the top of the screen. Either from the start bar, or from the accessories select a web browser, and point it at:
http://folding.stanford.edu/download.html
Grab yourself a copy of the Linux x86-64 SMP Client (console only), and download it to your preferred folder (i.e. /folding). Unfortunately, in the weird world of Unix-a-like systems, we have to go and set the system flags on this file to let the OS know it’s an executable.
To do this, find Terminal in the start menus – it’s the equivalent of the command prompt in Windows. In there you’ll need to type the following:
cd /folding (go to your folding directory)
chmod +x fah5 (set the downloaded file to executable)
./fah5 –configonly (start the configuration of the client)
A better explanation of installing the Linux client can be had at: http://fahwiki.net/index.php/Running_the_FAH_client_on_Linux
You should now be able to run ./fah5 –verbosity 9 –local –forceasm –advmethods to kick off the Linux SMP client.
Other ways to download and install the client can be found here http://folding.stanford.edu/FAQ-SMP.html
That FAQ details the option of opening a terminal session to download and install the client by running the following commands:
mkdir ~/Library/Folding@Home
cd ~/Library/Folding@Home
curl -O http://www.stanford.edu/~kasson/folding/FAH_SMP_OSX.tgz
tar xzf FAH_SMP_OSX.tgz
Now you should have the SMP FAH client in place and you'll have to configure it. It can be done by running following command:
./fah5 -local -configonly
After setting the configuration there are couple of ways to start the SMP FAH client. One way is to start it is by typing in each time the following command
./fah5 -local -verbosity 9
OPTIONAL: To make it a little easier for yourself, one can make a little script by running following commands:
echo "./fah5 -local -verbosity 9" > FaH
chmod +x FaH
Notes
· Let the VMServer processes in Windows grab as much processor time as they want, they’re being grabbed for the FAH clients running in the virtual machine. The beauty of running the GPU client within Windows at the same time is that it requires very little processor time.
· Beware of any Window tasks that hog the processor for a lengthy period, i.e. overnight system imaging software. They will severely affect the folding time in the virtual machine.
· I would avoid loading another folding client in windows (i.e. not a GPU client). It won’t get very far with the virtual machine running, as it’s request for idle time from the processor will result in very little time being given by the Windows scheduler.
· Running the SMP client outside of KDE or GNOME in the Virtual Machine results in some better folding times. On a X2-3800, I’ve found completing a WU has gone from 36 hours to 24 hours. So some considerable time and uppage of PPD.
· The SMP client will generate 4 processes, so ideally it runs best in a quad core environment. However this will work in a dual core, just a tad slower.