FAHBench is the official Folding@Home GPU benchmark that measures the compute performance of GPUs for Folding@Home.
Note: FAHBench will not work on the Intel integrated HDxxxx graphics cards since cl_khr_fp64 is not supported. The Intel CPUs works fine.
Current release 1.2.0 – May/06/2013
Windows: Download Link (You must agree to Disclaimer on the bottom)
-Updated to use OpenMM 5.1 with significantly faster speed
-Accuracy checking disabled by default on GUI (enabled by default on Command Line mode)
-Stress Test option to do a very large number of steps
-Made the errors due to CUDA JIT compilation more descriptive
-Added a stress test option (1 million steps)
-Now checks for NaNs at the end and only once every 50000 steps for stress test
-Added performance estimate to progress counter
-Added FAHBench GUI
-Now available on github under GPL:
-To invoke the GUI, just double click or run FAHBench.exe
-To invoke the CLI,
FAHBench.exe --help provides a list of available options
FAHBench.exe -deviceId 0 -platform OpenCL -precision single
Uses the OpenCL platform on the 0th (0-indexed) device, in single precision mode
Yutong Zhao (proteneer at gmail)
MSVC 10 Redistributables
–Latest NVIDIA/ATI/Intel Drivers. Note that Intel OpenCL SDK Drivers must be from the 2013 Beta.
–CUDA 5.0 SDK
–MSVS 2010 Express
–Path to cl.exe defined in PATH environment variable
It is fairly easy to test your own modifications the source code. Though do note that the GPU code in OpenMM is licensed under LGPL, which means that you must be able to provide us (the OpenMM developers) changes to the source code upon request.
1. Download the latest OpenMM from the repo
2. Build the projects OpenMM OpenMMSerialization OpenMMCUDA OpenMMOpenCL using CMake and VS2010
3. Replace the .dlls in the FAHBench folder with your own
The requirement on compilation with VS2010 is mandatory! Microsoft’s C and C++ Runtimes are generally not binary compatible. Also, it is not recommended to directly use FAHBench to ensure accuracy. OpenMM has its own suite of detailed unit tests that can pinpoint problems much easier.
Special thanks to Jesse_V and others in #fah for designing the icon!
Q: Titan doesn’t work on the OpenCL platform?
A: We’re waiting on NVIDIA to update their OpenCL drivers. However, the CUDA platform should work fine.
Q: Does the OpenCL platforms work only for ATI cards?
A: OpenCL works for all OpenCL compatible devices, and this includes NVIDIA, ATI, and Intel provided you have the right drivers.
Q: I get an error: “The program can’t start because MSVCP100.dll is missing from your computer. Try reinstalling the program to fix this problem.”
A: Please download the VC2010 C redistributables (link above)
Q: My X (Intel,ATI,NVIDIA) cards crash
A: Absolutely make sure you have the latest drivers!
Q: Why does the CUDA platform have so many dependencies?
A: We use a Just-In-Time compilation scheme, and CUDA doesn’t support JIT yet. So we mimic JIT by means of using nvcc, which in turn, depends on cl.exe
Q: How do I do multi-GPU benchmarks?
A: This is only supported in the CLI mode. Delimit deviceId argument with a ‘,’, ie. -deviceId 0,1 to use both devices 0 and 1.
IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF STANFORD UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION PROVIDED HEREUNDER IS PROVIDED "AS IS". THE AUTHORS AND STANFORD UNIVERSITY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.