Page 1 of 1

CPU folding without AVX

Posted: Thu Apr 26, 2018 4:37 pm
by katakaio
I've been folding on GPUs for quite a while now and felt guilty about not showing the CPU projects any love (apart from one or two cores on my GPU folding rig). That's why when I came across a free (!) 2010 Mac Pro with two 6-core Xeons (X5670), I knew it was time to get back on the CPU folding bandwagon. After upgrading to macOS 10.13 and installing FAH, it's been pulling A4 units consistently and happily chugging along.

My question is about the future of WUs that do not utilize AVX, since these Xeons support SSE but not AVX. It's my understanding that A7 units take advantage of the AVX instruction set on more modern processors, although there are plenty of A4 units still in the pipeline. Am I correct in thinking this? If so, if/when the A4 units are exhausted, will my rig be able to complete A7 units without AVX? I'm just trying to get a sense of how "helpful" this rig will be for future FAH projects. Thanks!

Re: CPU folding without AVX

Posted: Thu Apr 26, 2018 4:49 pm
by JimboPalmer
a4 only uses SSE2. Many existing project were started with a4 and will remain on a4 for as long as the project runs.

a7 can also uses SSE2, but can detect AVX2 and use its advanced mathematical power, if available. Only truly new projects are using a7, it will take years before they are the majority.

a7 does better science than a4, using AVX2 does not do better science, just faster science. (faster science is more points)

Today you can do all CPU work. In the future, you can still do all CPU work. (There may someday be a core than only works on AVX2, but it is not something F@H is working on now.)

Re: CPU folding without AVX

Posted: Thu Apr 26, 2018 7:11 pm
by katakaio
All good news - thank you!

Re: CPU folding without AVX

Posted: Thu Apr 26, 2018 10:00 pm
by Joe_H
I have a 2009 iMac with an i7 processor that also only uses SSE2 for working on CPU WU's. It gets a mix of A4 and A7 WU's, so eventually you should also see some A7 projects on your Mac Pro. As Jimbo mentioned, SSE2 is sufficient for using both cores, and will be supported for some time.

One thing you may want to experiment with a bit is how many CPU threads you set for processing. I found with the A7 core the FPU utilization was efficient enough that adding the HT cores did not add much to the processing throughput. So I have left the iMac processing on just the 4 cores of the i7. With more cores and dual processors you might find a different sweet spot utilizing some or all of the available HT cores.

You did not mention which version of the client you were using. If you are using the released version 7.4.4, the thread count needs to be set at a multiple of 2, 3, and/or 5. Multiple of primes greater than that no longer get assignments. The 7.4.16 public beta has code to get assignments for as many cores as possible, up to the number set in the client configuration.

Re: CPU folding without AVX

Posted: Sat Apr 28, 2018 2:48 am
by bruce
FAHClient does detect whether your CPU supports AVX but to the best of my knowledge, the Assignment Server does not use that information. Once a WU is assigned, it will load one of 3 versions of a FAHCore ... A4 or A7, depending on the Project's preference, and if that happens to be A7, one of two versions of A7, one that uses AVX or one that uses only SSE2. In fact, the SSE2 version of A7 is quite similar to A4.