OSX
From GPU2 Linux
Contents |
Note
MacOS support is unknown. This is more or less a copy of the Linux wiki to be used as a guide. If you need assistance with any compatibility issues found then please post a question on the ocforums Folding@Home[1] section.
Prerequisites
Nvidia Video Card
This only works for Nvidia users who have a CUDA compatible video card. The CUDA technology first was introduced on the Nvidia G80 based cards, GeForce 8x00, and has continued support on all later Nvidia GPU generations to date.
Operating System
CUDA is only supported on OSX 10.5.2 or later. If you do not have 10.5.2 please update your OS X version or check out Linux
CUDA Toolkit
You will need to install a driver with CUDA support and the CUDA Toolkit which can be found here:
http://www.nvidia.com/object/cuda_get.html
Simply select Mac OS and download CUDA 2.0 toolkit.
Installation of Wine
If you do not have Wine installed, you will need to install it. See the Winehq for detailed instructions.
Darwine, which is the official unofficial version fo wine for OSX can usually be downloaded from Kronenberg.
Only version of wine 0.9.45 or greater have been test for compatibly.
CUDA Wrapper
Wrapper
Second Generation Wrapper
This wrapper has a built in delay. It was found that CUDA is using some sort of busy loop which was causing 100% CPU usage and major user interface slow downs. Very little real work is being done during this loop so a delay was added that brings the CPU usage down much closer to what the client actually needs for feeding the GPU. This delay is for 300 microseconds and may not work correctly on all systems. If you notice instability, client running slower than it should, or any other anomalies, then please use the first generation wrapper.
Download the wrapper [2]
First Generation Wrapper
Wrapper Save Location
Place the nvcuda.dll.so file in this directory
/usr/local/lib/wine
- Need to add source code and compile instructions to make more OSS friendly
Linking The Toolkit
You will need to tell the system that the CUDA toolkit is installed and make sure the nvcuda.dll.so file can find its required dependencies. Add /usr/local/cuda/lib to /etc/ld.so.conf and run as root
ldconfig
Then run
ldd /usr/local/lib/wine/nvcuda.dll.so
If you see any "not founds" then something has been setup wrong. Commonly we have seen this
user@box:~$ ldd /usr/local/lib/wine/nvcuda.dll.so linux-gate.so.1 => (0xffffe000) libcudart.so.2 => not found libwine.so.1 => /usr/local/lib/libwine.so.1 (0xf7e4b000) libm.so.6 => /lib32/libm.so.6 (0xf7e25000) libc.so.6 => /lib32/libc.so.6 (0xf7cd6000) libdl.so.2 => /lib32/libdl.so.2 (0xf7cd2000) /lib/ld-linux.so.2 (0xf7fac000)
Note: The LD_LIBRARY_PATH environment variable can be used as an alternative. Set it in your login script or before starting Wine.
user@box:~$ export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
Running The Client
Download Client
Go to the link and download the Windows Folding@Home client for the console. It should be the second Windows client option.
http://folding.stanford.edu/English/Download
Extract the zip file into a new folder. Open a console, go to the folder you extracted the client to, and then run the client.
nice -n 19 wine Folding@home-Win32-GPU.exe -forcegpu nvidia_g80
The first time you run this you should be prompted for your user information like with the other console clients. This version will accept the same console flags such as -config or -configonly. The "nice -n 19" part is to make it easier to stop the client later as your system will respond faster to user input.
To stop the client, have the console selected and press
crtl + C
Important
Please read all of this before continuing to use the client.
Client Instability
I have been noticing the Fahcore_11.exe process still running after I stop the client. After you have stopped the client check your system monitor, or top, for running processes and kill the fahcore process if it is still running. The WU seems to start back up without an issue after doing this, but if you leave this process running and try to start GPU2 again then you will make your current WU EUE as well as all other WU's the client tries to start. The client will reach a limit eventually and freeze all further activity for 24 hours, or until the client has been restarted. Please be responsible and check for this issue so we can limit the amount of EUE's sent back.
Another option is to edit the file
client.cfg
located in your F@H client folder. Then edit the "core" line
[core] cpuusage=100
and change it to
[core] cpuusage=50
(If you do not have this file in your F@H client folder or it doesn't contain a [core] section, run the client with the "-configonly" flag, answer the questions, and say "yes" to the question "Change advanced options?," and continue to answer all questions - this will generate a config.cfg with a [core] section). This will only let the client use up to 50% CPU power. This will increase your frame time, so in my case each 1% of a WU takes ~2 minutes to process, with the processor usage limit set to 50% it doubles to 4 minutes per 1%. You can place any percentage in that option depending on the load balancing you wish to use. On a quad core you could keep the client running on one core by setting 25%. Or you could set it to 50% and run the SMP client at the same time. I currently switch it back and forth. 100% when I am away from my computer and 50% plus one uni processor client while I am using the system. This method provides a minimal hit on system usability.

