Page 1 of 4

Why are CPU projects worth so few points relative to GPU?

Posted: Sat Mar 28, 2020 2:01 am
by vica153
Right now my 12c/24t Xeon CPU is struggling to hit 100k PPD. While my little GTX 1050ti is doing over 200k PPD and my 5700XT is right around 1million. That is just their stats at a glance today while they were all working on COVID19 related WUs.

If there are Projects/WUs that need to be run on a CPU, then it seems like you should be able to get a decent amount of PPD for completing the CPU WUs. Are CPU projects really so much lower value that they warrant only a fraction of the points compared to GPU projects?

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 10:37 am
by davidcoton
Yes, GPU compute power is typically much greater than CPU. Points are awarded on the basis of science completed. Bonus points are set bearing in mind the length of each project's WUs and the platform. So CPUs will in general earn much less than GPUs, but the scale of bonus relative to base points should be comparable.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 2:36 pm
by _r2w_ben
CPU cores use AVX_256. Your Xeon would be capable of 8 FLOPS/cycle of double precision or 16 FLOPS/cycle of single precision.
Take (# of cores) * (clock speed in GHz) * 8 to get performance in GFLOPS.
12 cores * 3 GHz * 8 = 288 GLOPS DP
12 cores * 3 GHz * 8 = 576 GLOPS SP

The 1050 Ti is based on the Pascal architecture and is capable of 1/16 FLOPS/cycle of double precision or 2 FLOPS/cycle of single precision. (FAH GPU code mostly uses single precision with some double precision where needed).
768 cores * 1.392 GHz * (1/16) = 66.8 GLOPS DP
768 cores * 1.392 GHz * 2 = 2138 GLOPS SP
Depending on the ratio of single to double precision, the 1050 Ti can do 0.25-4x the number of calculations per second compared to the Xeon example.

5700XT is capable of 1/8 FLOPS/cycle of double precision or 2 FLOPS/cycle of single precision.
2560 cores * 1.905 GHz * (1/8) = 609.6 GLOPS DP
2560 cores * 1.905 GHz * 2 = 9753.6 GLOPS SP
Depending on the ratio of single to double precision, the 5700XT can do 2-16x the number of calculations per second compared to the Xeon example.

CPUs are general purpose and can do a wider variety of calculations. They are still valuable to the project and their relative performance is reflected in the points.

References:
https://software.intel.com/en-us/forums ... pic/761046
https://en.wikipedia.org/wiki/FLOPS
https://en.wikipedia.org/wiki/List_of_N ... sing_units
https://en.wikipedia.org/wiki/List_of_A ... sing_units

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 3:58 pm
by vica153
I realize that GPUs are much better at this sort of computing, but if there are projects that require a CPU and it would seem CPU FLOPS are much less abundant due to both the capabilities of CPUs and the abundance of multi GPU systems. If a project requires a relatively good CPU to run for a couple hours, then it would make sense to make the points for that the same as a relatively good GPU running for a couple hours. Rather than 1/10th of the points.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 4:48 pm
by bruce
The FAH points seem to make it much like a video-game. It's really not. The points are very much a scientific project and the points are based value of your contribution to the scientific research.

If my CPU spends the same length of time generating 10% as much scientific knowledge as my GPU in the same length of time, should by CPU earn as many points as my GPU?

In fact, FAH tracks two different types of credits in the official stats. In addition to points, the number of WUs completed is tracked. Various WUs earn various amounts of points, but they still count in the number of WUs completed column.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 6:16 pm
by vica153
GPU FLOPS must be at least 20 times more available than CPU FLOPS. If there were the same number of CPU projects as GPU projects then CPU FLOPS would be 20x more valuable. The only way a CPU getting 1/10th the PPD makes sense is if the number GPU Projects/WUs/FLOPS in the queue is 200x greater than CPU related Projects/WUs/FLOPS. If that is the case, then that answers my question and the point system is spot on.

The points are already not strictly based on only FLOPS. A large component is how quickly they are completed. My 5700XT gets 50% more points for the same WU just for completing it faster than my 1050ti. Combined with completing ~2.5x more WU per day, it gets ~4x the PPD. (Technically, if WUs were available) With the down time waiting to another WU, my 1050ti is completing similar number of WUs per day as my 5700xt.

So you're already assigning value separate from the computing required/knowledge gained. Incorporating some WUs/FLOPS supply & demand into the point calcs makes sense. Especially right now when available FLOPS is outpacing the available WU. Completing a WU 1hr faster really does nothing since you'll likely just be waiting 1hr longer for the next WU.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 7:33 pm
by bruce
FAH started out before the Pentium was popular and has grown since then. WUs used to be 1 to 2.5 points per WU and speed did not contribute to the points, although the PPD depended LINEARLY to the duration as the CPU's GHz contributed to the time-to-complete but only if you ran your CPU 24x7. Time-to-complete entered the equation as the QRB was developed and letting your computer run only N<24 hrs a day became more costly in terms of points.

Speed does not depend linearly on FLOPS, but there's a strong correlation so let's pretend that it does. We still support many GPUs that produce a very low FLOPS value but the range between them and the high FLOPS rating (lots of shaders) is very, very wide. The points earned by a very-slow GPU with FLOPS similar to the FLOPS of a CPU should be very close. The work is pretty much is the same. The expected completion date for that GPU and that CPU should be the same.

Now consider a GPU that's orders of magnitude faster ... which is what almost everybody is looking at. What bonus should be given to the CPU or the very-slow GPU? and if somebody is looking at the very-fast, hightly-parallel, high FLOPS GPU, what will the bonus be, compared to the base points that is awarded to everybody before adding the QRB.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 9:42 pm
by vica153
That is good info. I'm not sure how its relevant to my comments above though. QRB doesn't really make sense to me. Was there a huge jump in computing power at some point and F@H was trying to encourage people to get new hardware? Better hardware = better computing = more WU complete = more points. I don't see the need to add QRB points unless WUs completed in 2 hours are somehow better than WUs compeleted 4 hours so you are trying to encourage people to get the best hardware.

Anyway, to look at it from a slightly different angle, F@H uses the idle TIME of volunteered computers to complete both CPU and GPU WUs. The points system indicates that GPU time is 5-10x more valuable that CPU time. It seems to me that a WU that requires 1hr of CPU time should be worth similar points to a WU that requires 1hr of GPU time. (Given that both the CPU and GPU are on a similar level of capability relative to current market CPUs and GPUs). Unless there are so few CPU WUs and the queue for GPU WUs is months longer and you want to encourage people to focus on GPU computing.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 9:59 pm
by davidcoton
vica153 wrote:That is good info. I'm not sure how its relevant to my comments above though. QRB doesn't really make sense to me. Was there a huge jump in computing power at some point and F@H was trying to encourage people to get new hardware? Better hardware = better computing = more WU complete = more points. I don't see the need to add QRB points unless WUs completed in 2 hours are somehow better than WUs compeleted 4 hours so you are trying to encourage people to get better hardware.
Exactly that. The WUs in a project progress through a series of generations. The "next"£ generation cannot be created until the current one is returned. There is therefore a big gain to the science in getting units back quickly. One way to do that is to encourage better hardware.
vica153 wrote:Anyway, to look at it from a slightly different angle, F@H uses the idle TIME of volunteered computers to complete both CPU and GPU WUs. The points system indicates that GPU time is 5-10x more valuable that CPU time. It seems to me that a WU that requires 1hr of CPU time should be worth similar points to a WU that requires 1hr of GPU time. (Given that both the CPU and GPU are on a similar level of capability relative to current market CPUs and GPUs). Unless there are so few CPU WUs that they will all be done before the GPU WUs and you want to encourage people to focus on GPU computing.
No, points reflect scientific value, not hardware time. GPUs are more productive, therefore the donated time has higher value and the points system recognises this.
If there was more work requiring CPUs than GPUs, maybe the points would be adjusted. At present work is generated to use the available resource -- most project have big compute requirements and are aimed at GPUs, those with smaller requirements are aimed at CPUs. The split can be adjusted slightly to keep both resources loaded. There is more work to do than resource to do it (the recent inability to serve the work fast enough is a different matter, and is being addressed urgently. Even then it was NOT a lack of work but of server capacity.)

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 10:29 pm
by Rel25917
1000 generations at 2 hours a unit is 83 days to run.
1000 generations at 4 hours a unit is 166 days to run.
That's the reason for the quick return bonus.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 11:02 pm
by vica153
My interpretation was that some projects, due to some factor, required being run on a CPU rather than GPU. If that is not the case and its just a method to distribute work to all possible resources, then the current point system makes a lot more sense.

Getting into the weeds a bit here talking about QRB since my question was really just about CPU vs GPU, but now that your here...

The QRB makes sense to some degree. You don't want some people taking 10x longer than average to complete WUs and holding up the next stage of the project. A WU completed in several hours gets bonus points over a WU completed in several days. However, a WU being worth 50% more points just because it was completed in 2 hours instead of 4.5 hours seems a bit excessive. It seems unlikely that those 2hrs really made a difference.

If slow return of WUs is really holding up projects, then the deadlines for a WU should be pulled in a lot. My 1050ti was a low end card when it was new 4 years ago and the WU its doing right now will take it 4.5hrs. Why in the world is the deadline for the WU over 8 days? A 10yr old GTX 480 would complete the WU in under 12hours. Why would you have the system wait around for a over a week? After a day its obvious the person isn't folding, move the WU on to the next person. If the first person starts folding again, then they can get another WU.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 11:20 pm
by bruce
Your GTX 1050Ti was never a low-end card. A GeForce GeForce GT430 is a low-end Fermi GPU. Feel free to calculate how much slower it's going to perform.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sat Mar 28, 2020 11:45 pm
by vica153
bruce wrote:Your GTX 1050Ti was never a low-end card. A GeForce GeForce GT430 is a low-end Fermi GPU. Feel free to calculate how much slower it's going to perform.
Ok mid range, whatever, my point was that it was not top of the line when new and still holding up pretty well years later like a 1080ti. Even a GT430 would have the above mentioned WU done in well under 8days...i think...maybe. Even still, it hardly seems reasonable to base F@H on hardware that was the BOTTOM of the barrel 10 years ago. If a middle of the road GPU from 4 years ago can complete 5 WU/day, it doesn't make sense to wait around for a 8 days for a single WU.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sun Mar 29, 2020 12:05 am
by bruce
FAH is not waiting around 8 days for your GT430 to finish it, but it's certainly possible that on somebody else's machiine that may be sort of true. They're waiting around to give the GT430 credit for trying. FAH waiting one day for that WU to be completed. Once the WU reaches the 1-day timeout, the WU will be duplicated and sent to somebody else. After the timeout, FAH has given up on your GT430 and decided they'd be better off finding somebody else to depend on who might happen to have a 1050 Ti.

After the Timeout expires, FAH is waiting for 8 days to consider granting a modicum of points for the failed effort to complete the WU. After the time out expires, the QRB points are disabled. Then they're willing to wait 7 more days to award (only) baseline points or to decide to give no credit at all to that slow GPU.

Re: Why are CPU projects worth so few points relative to GPU

Posted: Sun Mar 29, 2020 12:11 am
by vica153
Oooh ok. See I knew they were smart.