May 29, 2008

GPU2 points & benchmark machine (and points in general)

I've talked about this in the Folding Community Forum (FCF), but I thought it's worth reminding people (especially NVIDIA-based folders new to the project). As the GPU2 code matures, we may need to change the points per day (PPD) and/or the nature of the benchmark machine. The PPD for the bechmark machine may go up or may go down depending on what change we decide in the end. The main problem is that both the NVIDIA and ATI code is undergoing optimizations, which means PPD will change in complex ways. For example, if the NVIDIA code doesn't change, but the ATI code gets optimized and our benchmark is based on an ATI card, then NVIDIA PPD will go down, even if the NVIDIA code doesn't change.

Also, how efficient these cards are depends on the protein we run on a given card. To address this issue, we will likely switch the benchmark machine to run a card whose PPD does not change so variably with protein, although that may be hard to find (we'll see).

Anyway, just a heads up -- the PPD we see today is not necessarily what you'll see later. Your PPD may increase or decrease depending on many complex factors (code optimization, benchmark machine, protein simulated, etc), and I expect there may be more points variability with GPUs than with other platforms (isn't life on the bleeding edge fun). However, due to the great performance of the GPU's right now (which will likely only get better), the GPU PPD would be significantly greater than a typical CPU client.

I should also remind donors that we've been talking about rebalancing points in general, to try to get SMP, GPU, PS3, and classic points in line with the scientific productivity done by the clients. As long as more points = more science, donors can optimize for points and that will automatically optimize for maximum scientific output.

Comments

That last sentence is the perfect way to go about getting people excited about contributing as much as possible to F@H in my opinion. Nobody seems to care that there is no prize for having tons of points so much as they care about having the points.

Does the upcoming nVidia client take advantage of SLI to increase processing power? Or must SLI be disabled, like how CrossFire needs to be disabled for the ATI GPU2 client to be able to use both GPUs individually?

Differences in points between hardware and WU projects can be viewed two ways:
1) Some are given a bonus for being more efficient or faster than the baseline system; OR
2) Some are penalised for not having the same hardware as the baseline system.
You can’t give a reward without others being penalised whichever method you use.
I’m sure people will be happy if they can get more PPD than the loss of CPU cores feeding the GPU or the opportunity cost of spending those GPU$$$ on a PS3, or more/faster CPU etc.
However, the comparisons between different hardware, work units and points overtime involves too many moving targets. CPU’s get better perf/$ over time. GPU perf /$ may increase at a different rate compared to CPU’s. Consoles performance doesn’t change frequently but get cheaper over time.

Why not calibrate the points system based on approximate GFLOPs rather than against a reference machine? That way, we have a direct linear measurement of scientific contribution from different platforms. We won't be ending up with lopsided points award in which SMP cores churning out an average of 1GFLOP are scoring 3000 PPD while GPU2 cores churning out an average of over 20GFLOPs get only 1200 PPD.

Because GFLOPs do not necessarily reflect scientific value. For example, while CPUs may not have the same GFLOP power that a GPU has, it calculates different types of work units.

From the Extremetech interview with Dr. Pande...

"Dr. Pande: The CPU clients do a somewhat different calculation ("explicit solvent") vs. the GPU/PS3 (which do "implicit solvent"). All of this depends on how we deal with water. Do we deal with water as individual molecules ("explicit") or as a mathematical continuum ("implicit")? Both have various pros and cons. Implicit solvent maps better to the PS3 & GPUs (at least with today's hardware)."

By the way, a CPU running SMP, and getting 3000 PPD is running much faster than 1 GFLOP. My OCd Q6600 gets about 3000 PPD, and is running a little over 9 GFLOPs according to the linux Folding@home client.

You discuss the quality of GPU1 and not the improved capability of GPU2. Also "By the way, a CPU running SMP, and getting 3000 PPD is running much faster than 1 GFLOP. My OCd Q6600 gets about 3000 PPD, and is running a little over 9 GFLOPs" only goes to prove the imbalance; 3X the points for 1/10 of the FLOPS!!

Again, they are running different types of calculations. The CPU is using explicit solvent, which is more complex. The science is more useful on the CPU running SMP. We will see if that holds true after the points get adjusted. The sheer power of a high end GPU2 may outweigh the CPU's explicit calculations.

Will the Nvidia and ATI GPUs be running the same projects or perhaps it would make sense to seperate them (some proteins might run faster on Nvidia hardware, some on ATI hardware). If the projects are seperate then you could have TWO reference machines. 8)