Main Page

From GPU2 Linux

Jump to: navigation, search

Contents

Folding@Home GPU v2.0 Windows Client on Linux Wiki

This Wiki assumes you have a general understanding of Linux, OSX or *BSD and are comfortable at the command line. Most of the commands given can be used as is with minor obvious edits, but this still may be to advanced for Linux new comers. You should also be familiar with installing and using a console version of Folding@Home.


Warning!

The writer of this Wiki and all associated parties assume no responsibility for any damages as a result of this Wiki, code, commands, or files used. While all of the following has been tested, it has only been tested on a handful of systems by a handful of users. Please back up anything of value before starting. Do not use this on a production system where crashes, data loss, or general system slowness and instability is unacceptable. Only use this guide and associated files on a system you own or have permission to use for this purpose.


Why?

The GPU version 2 client for Folding@Home is currently only available on Windows XP and Windows Vista. The Folding@Home project has stated that a GPU client for Linux and Mac OS X will be released at some point after the Windows client has stabilized. Some dedicated Folding@Home users that have compatible high end video cards that either can not or refuse to use Microsoft Windows still wanted to donate their GPU's. See the about GPU2 page for more information.


Should We Do This?

We do not have access to the Folding@Home source code and any reverse engineering of that code would be against their terms of use. We do not want to get on anyones bad side and we are very dedicated to this project. We do not want to submit bad results either. Many people close to the Folding@Home project know of what we have done and they have monitored a few results sent back using the wrapper from this Wiki. The only response we received so far is that they would prefer to see us not use this as the client is still not stable. They never responded saying the results that were sent back are bad.

Given that CUDA works the same on any platform and that Nvidia confirmed they use the same source code on all platforms, we feel there is a minimal issue with the data being processed incorrectly and sending back garbage results. It also looks like the Folding client itself catches many issues pretty well on its own.


How?

The CUDA drivers for Windows and Linux accept the same commands for processing data on a GPU. A CUDA program written for Windows should be able to be recompiled for Linux with no changes to the CUDA code itself. Nvidia has made CUDA very cross-platform compatible. The only exception to this is on the Windows platform CUDA can call Directx functions and on Linux CUDA can call OpenGL functions. This does not effect how Folding@Home operates as the GPU client does not use this set of functions.

So the complexity of getting a Windows only CUDA program to run in Linux was significantly reduced due to this cross-platform compatibility. When we first tried to run F@H GPU2 in Wine we saw that the client was trying to communicate with he CUDA driver through cudart.dll (later version of the client renamed this file to nvcuda.dll, and now back to cudart.dll). The system calls for Windows are structured differently from Linux. So the solution was to create a wrapper which would convert these system calls from the cudart.dll library to the cudart.so library found in the Linux CUDA toolkit. This wrapper is the cudart.dll.so file which is a Wine specific file.

Pick your OS

See the OS specific pages for detailed steps.
Linux
OSX






note: The old main page is located at, GPU2_Old

Personal tools