# Folding@home SMP2 in FreeBSD 32 bit



## Ralph_Ellis (Aug 19, 2010)

If you are running 32 bit FreeBSD there is a way to run Folding@home SMP 2 which previously would have required a 64 bit build.
Install Wine and run the new Folding@home Windows 32 bit client 6.30. You will need to get a passkey,from the Folding@home site.

Go to:
http://fah-web.stanford.edu/cgi-bin/getpasskey.py
For FAQ, go to:
http://folding.stanford.edu/English/FAQ-passkey


Step 1 - Install wine
Step 2 - run winecfg to set up your basic parameters
Step 3 - Download the new 6.30 Windows SMP client

http://www.stanford.edu/group/pandeg...-win32-SMP.zip

Create a directory to put the executable in. Change the permissions on the file to run as a program. You can change the program name to something shorter. I use fah6.exe.

In a terminal, navigate to the folder where the program is and do
`wine fah6.exe -smp 2 -configonly`
Be sure to select "big" work units in your preferences.

After you have done the configuration, run it

`wine fah6.exe -smp 2 -forceasm -bigadv -advmethods -verbosity 9`

One additional point, in my examples, I used the switch -smp 2. If you have 4 cores, do -smp 4. If you have 4 cores but want to keep one free for your own use, do -smp 3.

You should only run this program if you have at least 2 and preferably 4 cores and your computer is fast enough to finish a big workunit in about 6 days.

On the bright side, there are bonus points.
Have fun


----------



## hrsetrdr (Aug 27, 2010)

Thanks! Not being able to do SMP folding in FBSD has been a 'deal breaker'for me, for using FBSD.  I'm not sure when/if there'll be Linux 64-bit binary support in FreeBSD/amd64, but using the Windows f@h client under Wine fills the bill nicely.


----------



## mk (Aug 27, 2010)

why don't interested party make/port native client?


----------



## hrsetrdr (Aug 27, 2010)

Pande Group/Stanford University are primarily focused on computer simulation for biochemical research, using the distributed effort known as folding@Home. 
More info here:  http://folding.stanford.edu/Pande/Main

As such, they are more in the business of getting their research done, with the resource allocations provided by the University, as well as private donations.   Due to the quick pace of their work, they make decisions on how to get the most result for the money.  So, in other words, they look for opportunities and capitalize on those where they exist, in order to better invest their resources.    Something else that might be relevant- Pande Group uses 
GROMACS, which appears to only be able to do assembly loops in Linux and OS X.   Pande group has written a client that will run in Windows, I guess because such users comprise they majority of their donor base.    At such time that Linux 64-bit binary support is provided in FreeBSD, no doubt there will be a lot of happy users.


----------



## Ralph_Ellis (Aug 29, 2010)

*Why no FreeBSD native client*

We would all love a native FreeBSD 32bit and 64bit SMP2 client for folding@home. If you look at the OS split, the number of clients is heavily weighted to the different versions of Windows and, to a lesser extent, Linux - especially 64 bit. Consequently Windows development comes first. 
The SMP2 client produces much more work and more points than running multiple single core clients such as with the folding@home client from the FreeBSD ports system.

If you are going to run SMP2, be sure to get a passkey as you will need to set this up to get bonus points from Folding@home.

One of the limitations of running folding@home under FreeBSD is that you cannot run the smp2 applications. The folding@home smp2 application requires a 64 bit linux OS running a 32 bit linux program. FreeBSD's linux compatibitility mode is 32 bit even with FreeBSD x86_64.

The way around this is to use VirtualBox to install a guest Linux 64 bit OS. You can then download and install the folding@home smp2 application. Folding@home offers bonus points for running the smp2 application but you need to set up a passkey and run 10 successful work units before the bonus points start coming. The smp2 application is more efficient than running two separate folding@home applications.

Which Linux OS should you run in VirtualBox? I would suggest Ubuntu 10.04 x86_64. Be sure to install the 32 bit compatibility before running the folding@home application.

After installation, do
`sudo apt-get install ia32-libs`
I also like to install
`sudo apt-get install gromacs`
`sudo apt-get install octave`

After you download and install the folding@home SMP2 linux application 6.29, log out and change the session to Failsafe terminal. This will limit the resources used by the VirtualBox. Configure the folding@home client.

Start it with
`sudo ./fah6 -smp 2 (or however many cores you have) -forceasm -advmethods -bigadv -verbosity 9`

One quick tip with Ubuntu - on boot up, press Esc to enter the boot menu and choose "Recovery Mode". Eventually, you will be prompted to enter various modes of recovery. Choose "netroot". You will come up in console mode with no X. This conserves resources. You can then cd to the folding directory and run the folding@home application by command line or by a script.

If you run 32bit FreeBSD, you cannot run a 64bit Linux VirtualBox OS. The only way to run the SMP2 application is via Wine. This may actually be a simpler and more efficient way to do SMP2 rather than in a VirtualBox. 

If you run 64bit FreeBSD, you can install Wine but only through a very elaborate process that could screw up your system if you do not know what you are doing. There are posts for this process in the Forums.

If you are folding, be sure to join one of the BSD teams such as Team FreeBSD or PC-BSD.
Have fun


----------



## UNIXgod (Aug 29, 2010)

I would like to run folding on my server inside a jail. I have amd64 installed.

Is there a way to run just off a nvidia card as to not take resources away from the processor. Also what is the best method of native installation?


----------



## hrsetrdr (Aug 30, 2010)

I can't offer advice on how to run f@h inside a jail(sorry- mainly a Linux guy here), but folding on your nvidia card *could be* possible if:

The nvidia card is CUDA capable(see if your video card is listed in link below):

http://www.nvidia.com/object/cuda_gpus.html

Linux users have to use Wine, so I'd guess the same would hold true for FreeBSD users.  Here's a link to a wiki for GPU folding in Linux that a couple of my folding team teammates put up: 

http://www.gpu3.hostei.com/index.php/Main_Page

I do not know if GPU folding has been done using Wine in FBSD, but again, it could be possible.


----------



## Ralph_Ellis (Sep 24, 2010)

*GPU folding in FreeBSD*

Some brave Linux people managed to get CUDA working in Wine for folding purposes but I never could get it to work. The latest native FreeBSD Nvidia driver now supports CUDA but there are no native FreeBSD cuda applications yet. The Linux CUDA applications like GpuGrid require a 64 bit Linux OS to run the application and Linux compatibility support in FreeBSD is only 32 bit. If SETI has a 32 bit Linux cuda application, that would probably run if you have the FreeBSD Nvidia driver installed but you would have to brandelf a lot of files and it still might fail while looking for CUDA libraries.


----------

