Page 1 of 1

Cpu versus gpu crunching power, how do they compare?

Posted: Wed Dec 10, 2014 7:04 pm
by Tobben
I have been wondering for a while how they decide and distribute
the work being handed out to cpus/gpus. I have usually considered
gpus and cpus to be in different separate brackets. Is that still the
case? i can't seem to find it now, but i read somewhere on the folding
site that they were pretty much considered in the bracket at this point.

are they being handed separate types of work based on their qualities
or are they essentially working on the same, giving the same results,
just that gpus are heavily paralleled and do calculations alot faster?

How does the folding project value cpu and gpu crunching power
compared to eachother? i don't think the ppd represents the actual
discrepancy. If anyone has a clue i appreciate being enlightened. :eugeek:

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Wed Dec 10, 2014 9:21 pm
by 7im
Until recently, CPUs and GPUs could not do the same types of work units. CPUs could do both implicit and explicit modeling, but as we know are slower. GPUs could do only one type.

Also consider CPUs are many, but slower. GPUs are less, but faster. CPU to GPU client ratio was 4 to 1 until recently. Now it is 2 to 1. That helps Pande Group determine where to run certain projects, among other things.

CPU work and GPU work are benchmarked on the exact same hardware now, so the relation in points is solid. See the Points FAQ on the FAH web site for more on that one.

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Wed Dec 10, 2014 10:16 pm
by Tobben
So gpu wu's are optimized for both models now? meaning
as a contributor, gpu is the default priority, as it is alot
faster. Plain and simple?

When it comes to the project itself, the only thing cpu's have going
for them is that there is alot of them? i imagine even at a 2:1 ratio
they pale in comparison to the work being done on gpus.
And they are probably far less efficient, if they are essentially
doing pretty much the same work.

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Wed Dec 10, 2014 10:31 pm
by 7im
TFLOPS show the current performance picture. http://fah-web.stanford.edu/cgi-bin/mai ... e=osstats2

But the scenery is always changing. Don't count the CPU out. AVX support in a CPU FAHCore could double FAH performance, if/when that happens.

And you always need at least one CPU to run one to several GPUs, so CPUs will always be around to fold.

Also, the CPU is very good at staying out of the way of other programs, so the FAH client running on a CPU is non-intrusive. GPUs have no scheduling/load balancing like a CPU, so a FAH client running full out on a GPU causes the OS to lag when updating the screen, making it a minor distraction at best, unusable for daily tasks at worst.

Performance is a big issue. Never the only issue. ;)

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Wed Dec 10, 2014 11:04 pm
by Joe_H
Besides the advantages for using CPU folding already mentioned, programming for folding on a CPU is still much simpler than for a GPU. There have been and still are a number of issues related to different versions of the drivers for GPU's, and support for new GPU hardware as it comes on the market. So for folding compatibility they have to depend on the drivers supplied by AMD or nVidia. So, even though GPU folding is faster, it seems at least as many, if not more, projects have been released in recent months for CPU folding as for GPU folding.

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Thu Dec 11, 2014 12:42 am
by 7im
Joe_H adds good points. CPU folding is mature and predictable. GPU not so much.

I was a little surprised he didn't mention that GPU folding on OSX is not yet supported due to driver issues. So all those powerful Macs can run CPU folding only. GPU support for Linux is also recent, and limited. Even the newest GPU folding core_18 just released, only runs in Windows, and only on NV hardware.

FAH is also pushing in to the smart device arena, starting with the NaCl Chrome client. 100,000 PCs each folding a work unit, or 1,000,000 smart devices each folding a 1/10th of a work unit? Folding power is relative.

That's today. Tomorrow may be a different story altogether.

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Fri Dec 12, 2014 4:26 pm
by Tobben
All seem like sensible and valid arguments, cpu might be easier to deal with.
it might require more man hours to make it work on a gpu, but the return is also great?
accessibility is a big point for cpu's, but from the perspective of folding on a regular
desktop computer, using windows. Gpu definitely is a priority?

But to the folding project as a whole cpu folding still has plenty of qualities to make it
perfectly relevant?

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Fri Dec 12, 2014 6:12 pm
by bruce
Tobben wrote:it might require more man hours to make it work on a gpu, but the return is also great?
accessibility is a big point for cpu's, but from the perspective of folding on a regular
desktop computer, using windows. Gpu definitely is a priority?
Man-hours by whom?

Dr. Pande is a Chemistry/Physics/(applied Math) professor and although he and his people know a lot about computers, they're not in the business of designing features for operating systems or creating improved hardware drivers. They ARE in the business of developing code that analyzes proteins. They intend to make the best use they can of the services provided by people who do that other kind of work for private companies.
If Apple doesn't have dependable drivers, FAH cannot use their GPUs.
If NVidia and AMD/ATI don't provide dependable drivers for Linux that can be installed easlily, it, too, will have limited support.
NVidia/AMD aim a lot of their support at the gaming market which means they support Windows first and foremost. That support does the most good for FAH when a popular game uses the same internal feature that FAH needs. (A lot of support goes into features that FAH doesn't particularly care about.)

So, to answer my own question, NV, AMD, Microsoft, RedHat, Ubuntu, etc. need to spend those extra man-hours so that FAH's science code can run using the services they choose to supply.

Yes, GPUs are a priority, but only when there's an infrastructure that gives them the necessary capabilities -- and FAH tends to push the envelope, remaining on the bleeding edge of that technology.

Re: Cpu versus gpu crunching power, how do they compare?

Posted: Sat Dec 13, 2014 12:17 am
by Tobben
bruce wrote: Man-hours by whom?

Dr. Pande is a Chemistry/Physics/(applied Math) professor and although he and his people know a lot about computers, they're not in the business of designing features for operating systems or creating improved hardware drivers. They ARE in the business of developing code that analyzes proteins. They intend to make the best use they can of the services provided by people who do that other kind of work for private companies.
If Apple doesn't have dependable drivers, FAH cannot use their GPUs.
If NVidia and AMD/ATI don't provide dependable drivers for Linux that can be installed easlily, it, too, will have limited support.
NVidia/AMD aim a lot of their support at the gaming market which means they support Windows first and foremost. That support does the most good for FAH when a popular game uses the same internal feature that FAH needs. (A lot of support goes into features that FAH doesn't particularly care about.)

So, to answer my own question, NV, AMD, Microsoft, RedHat, Ubuntu, etc. need to spend those extra man-hours so that FAH's science code can run using the services they choose to supply.

Yes, GPUs are a priority, but only when there's an infrastructure that gives them the necessary capabilities -- and FAH tends to push the envelope, remaining on the bleeding edge of that technology.
Well, i can't honestly say i know much about the specifics on how this project
is put together and operate, i am just speculating.

Then i guess another argument would be, that they are further restricted in
what they can do, and even further dependent on other parties infrastructure
when it comes to gpu's, other parties they probably have very little influence over.


Someone above said that:
"programming for folding on a CPU is still much simpler than for a GPU"

from that i assumed, it requires more work to optimize wu's for gpu's
to get it to run properly, that is assuming they have the option in the
first place. Not that i know anything about the actual coding or how
they are working/adding to the project.