Page 1 of 1

FLOPS for various hardware

Posted: Mon Mar 03, 2008 6:52 am
by Reinhard
On the http://fah-web.stanford.edu/cgi-bin/mai ... pe=osstats page it lists the performance of various types of client and so on. I'd just like to know why there's such a huge difference between the CPU- and GPU-based systems? Is a GPU 50x better at folding than a CPU?

Re: FLOPS for various hardware

Posted: Mon Mar 03, 2008 8:20 am
by 7im
It's doing 50 times the calculations, but is not producing 50 times the science.

GPUs are like a dragster, they go really fast, in one direction, for a short time. CPUs are more like a minivan, they can haul everything anywhere any time.

Going by purely a FLOPS count can be misleading. For instance, the GPU has a very specific architecture, and can not store the results of some calculations. As such, some intermediate calculations have to be run again to get the final result. I don't know what percentage of calculations have to be repeated, but you can see how the raw data might not be has helpful for comparison between clients.

This also gives partial insight as to why the GPU is benchmarked somewhat more than some clients, and less than others.

Re: FLOPS for various hardware

Posted: Mon Mar 03, 2008 9:43 am
by Reinhard
Now this is feeling like a really stupid question, but does F@H use your 64 bit CPU to the full extent?

Re: FLOPS for various hardware

Posted: Mon Mar 03, 2008 4:10 pm
by 7im
Reinhard wrote:Now this is feeling like a really stupid question, but does F@H use your 64 bit CPU to the full extent?
Yes, of course. However, the client doesn't need to be 64 bit to run at full speed. The clients use SSE/SSE2 and FPU for almost all calculations, and those didn't change from 32 bit CPUs to 64 bit CPUs.

Re: FLOPS for various hardware

Posted: Mon Mar 03, 2008 5:27 pm
by codysluder
7im wrote:Going by purely a FLOPS count can be misleading. For instance, the GPU has a very specific architecture, and can not store the results of some calculations. As such, some intermediate calculations have to be run again to get the final result. I don't know what percentage of calculations have to be repeated, but you can see how the raw data might not be has helpful for comparison between clients.
This is a really important statement that most of us don't really appreciate. Assuming that it's possible to assign identical work to both the GPU and the CPU, the GPU will finish the work faster because it can do the flops faster, but it also has to actually DO more flops to finish the same amount of work. Some of those flops are wasted because that's the way it has to be programmed.

Re: FLOPS for various hardware

Posted: Mon Mar 03, 2008 5:32 pm
by 7im
codysluder wrote:
7im wrote:Going by purely a FLOPS count can be misleading. For instance, the GPU has a very specific architecture, and can not store the results of some calculations. As such, some intermediate calculations have to be run again to get the final result. I don't know what percentage of calculations have to be repeated, but you can see how the raw data might not be has helpful for comparison between clients.
This is a really important statement that most of us don't really appreciate. Assuming that it's possible to assign identical work to both the GPU and the CPU, the GPU will finish the work faster because it can do the flops faster, but it also has to actually DO more flops to finish the same amount of work. Some of those flops are wasted because that's the way it has to be programmed.
Yes, it is important, to a small degree. I'm glad Vijay posted that info a while back. I'm just paraphrasing...