FAH bench – FAH core/OpenMM-based benchmark for your GPU

April 2016 update: The latest FAHBench information is available at fahbench.github.io

As previously blogged, FAHBench is the official Folding@Home GPU benchmark. It measures the compute performance of GPUs for Folding@Home. In addition, by use of a loadable DLL system, it provides vendors and skilled hackers with a method make customized-plugins and test their results.

Info
Current release 0.5 – Jan/30/2013 (Stable)
-Updates:
-Minor performance improvements
Download Link (You must agree to Disclaimer on the bottom)

Usage
The program runs from the command line – allowing you to set up runs as needed. For example:
FAHBench.exe -deviceId 0 -platform OpenCL -precision single
Uses the OpenCL platform on the 0th (0-indexed) device, in single precision mode
NVIDIA cards can use either the OpenCL or the CUDA platform. ATI cards must use the OpenCL platform.

Contact
Yutong Zhao (proteneer at gmail)

Requirements
OpenCL:
Windows (tested on Win7, untested on others)
Latest NVIDIA/ATI Drivers (Exclusive-Or)
CUDA:
Microsoft has deprecated MSVS 2008 Express, the CUDA platform is no longer supported until NVIDIA ships a built-in JIT compiler.

Current Stats
These numbers measure the expected number of nanoseconds per day on a realistic simulation system. Time step used in integration is set to 2 femtoseconds.

System 1: DHFR, Single Precision
OpenCL
HD7970: (Explicit 18.1 ns/day | Implicit 101.3 ns/day)
Tesla K20: (Explicit 18.1 ns/day | Implicit  84.5 ns/day)
GTX 660Ti: (Explicit 16.1 ns/day | Implicit  77.0 ns/day)
HD4000: (Explicit  3.2 ns/day | Implicit  18.0 ns/day)
i7-3770K: (Explicit  3.1 ns/day | Implicit   3.4 ns/day)
(more to come)

 

Developers
It is very easy to test your own modifications the source code. Though note that the GPU code in OpenMM is LGPL – you must be able to provide us (the OpenMM developers) changes to the source code upon request.

1. Download the latest OpenMM from the svn repo: svn checkout https://simtk.org/svn/openmm 
2. Build the projects OpenMM OpenMMSerialization OpenMMCUDA OpenMMOpenCL using CMake and VS2008
3. Replace the .dlls in the FAHBench folder with your own

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. FAHBench serves as a final check.

Links
Folding@Home
OpenMM

Disclaimer
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.