That makes the usefulness of CPUs for this purpose questionable—you might be contributing more to that other disaster facing humanity than alleviating the current one.
20-200x is simply not true. Typically, such numbers are a result of comparing unoptimized CPU code to moderately or well-optimized GPU code which is often misleading. (Such differences are however perfectly reasonable when comparing hardware-accelerated workloads like ML/DL). If you compare actually well-optimized codes, you'll see more like ~4-5x difference in performance for FLOP/instrction-bound code as it is the case for well-optimized molecular dynamics.
Case in point, I recently pointed out the huge difference in CPU performance of two of the top molecular simulation codes, one of which is 8-10x faster on CPUs than the other, solving the same problem [2].
F@H relies on GROMACS as a CPU engine [1] which happens to be the same code as I quoted above as the fast one. The trouble is that F@H has not updated their CPU engine for many years and distribute CPU binaries which lack crucial SIMD optimizations to allow making use of AVX2/AVX512 on modern x86 CPUs as well as the years of algorithmic improvement and code optimization we made. These two factors combined lead to _significantly_ lower F@H CPU performance compared to what they had we're they using a recent GROMACS engine.
Consequently, due to the combination of an inherent performance advantage of GPUs and the severely outdated CPU engine, it is indeed not worth wasting energy with running F@H on CPUs.
[1] https://en.wikipedia.org/wiki/List_of_Folding@home_cores#GRO...
[2] https://twitter.com/twilard/status/1235142089156984832?s=20
Edit 1: adjusted wording to reflect that the performance difference between running outdated GROMACS version and subotimal SIMD optimizations on modern hw can have a range of performance difference, depending on hardware and inputs. Edit 2: fixed typo + formatting.
Fair point. I think this is something you should bring up with the authors of Folding@Home. I do not work on that project.
My personal view on this is that there is always a cost/benefit balance that one has to strike which is often tricky especially given the considerably constrained resources as it is typically the case in academic computational/simulation tool development.
It is however, as you point out, a great responsibility of the researchers and developers of codes to make sure that choices made and action taken (or not) do not lead to disproportionate waste of resources donated by volunteers or awarded through a grant by research funding agencies.
I do not know the detailed reasons why F@H chose to not update CPU "core" since FahCore_a7 (AFAIK based one GROMACS code from 2014), but it is likely related to the aforementioned cost/benefit analysis done in their team. One of the motivations could have been (just hypothesizing) that the software engineering efforts estimated to be required to update FahCore for CPUs (which generate a very small fraction of the "points") would have taken away resources from the GPU FahCore.
To that question, assuming by "anyone" here you are asking about other donate-your-cycles-distributed-computing-projects: I am not too familiar with how well-optimized the codes of different @home projects are.
Taking a few steps back, perhaps the efficiency of these codes is the lesser issue and to be honest, in some (many?) cases other forms of donation/contribution may further more scientific progress than simply crunching numbers on one's home PC.
Totally, but if the work done @home is useful, donating compute time makes economical sense I think.
If I'm willing to donate $10 I can either donate money and it may be used to buy $10 worth of compute, with should cover all costs including the hardware and administration.
Or I can donate $10 worth of pure electricity and the other marginals I cover for no or a very small extra cost, since I already own the hardware for other purposes which it's temporarily not used for.
In the latter case the value of my $10 is higher, I theorize. Again, given that the @home project is truly useful.
In that respect, the responsibility of whether to ask for and how to make good use of donations lies solely on the teams that receive the donation. Without oversight it would however be foolish of them to be overly critical on their own shortcomings as there is a great benefit to having these cheap FLOPS (and good PR) that F@H brings.
I was about to suggest that it would be great to set up a merit-based funding scheme somewhat akin to the governamental funding agencies, but one run independently by the "council of the people". I'm however uncertain how effective could such an organization be at awarding the funding in a responsible and effective manner.
"For people worried about electricity usage:
My 3900x/2070s system, if using both cpu+gpu for folding full, uses 430w at the wall plug. Even at 21cents per kw/h this is about 9 cents/h.
When setting up your machine, it's best to go to slots and remove your cpu. GPU tends to make all the points, especially if you have a newer GPU. I removed my 12 core 3900x from slots and barely noticed a drop in points while my system was running much cooler and with even less power usage. Leave it to default disease and you'll likely get covid-19 projects.
I use both my 2070s cards and I get estimated 3.2M ppd for $2/24hrs of electricity.
TLDR: PC's don't use much power. Get folding@home and just use your GPU(s) at full. Leave it to default to get covid-19 projects."
I applied this strategy when bitcoin mining on my 1080ti which I got shortly after release. I was aiming for sub 60c temps. The results paid for the GPU, and I didn't fry it either - still my daily driver today.
(The 1080TI is / was such a beast, with exceptional value for money.)
GPUs are faster.
> No WUs available for this configuration
EDIT after fiddling with gpu-index, cuda-index, and opencl-index (had to manually set them to point to my GTX 1050 [also have a BARTS card that is unsupported]) I was able to get a WU to download :)
GPUs: 2
GPU 0: Bus:1 Slot:0 Func:0 AMD:4 Barts XT [Radeon HD 6800 Series]
GPU 1: Bus:2 Slot:0 Func:0 NVIDIA:7 GP107 [GeForce GTX 1050 LP] 1862
CUDA Device 0: Platform:0 Device:0 Bus:2 Slot:0 Compute:6.1 Driver:8.0
OpenCL Device 0: Platform:0 Device:0 Bus:2 Slot:0 Compute:1.2 Driver:378.49
OpenCL Device 1: Platform:1 Device:0 Bus:1 Slot:0 Compute:1.2 Driver:1800.8
I want to use the GTX1050, so I set gpu-index to 1. Only 1 CUDA device so I set cuda-index to 0. To use the OpenCL device for the GTX, I looked at the bus # (bus 2), found OpenCL device on bus 2 (device 0), so I set opengl-index to 0. Not sure if this is the right way, but it worked for me.https://foldingforum.org/viewtopic.php?f=24&t=32339 https://foldingforum.org/viewtopic.php?f=24&t=32341