Page 2 of 2

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Mon Nov 07, 2016 2:54 pm
by 7im
Good for you.

Please note that the a7 core also supports non-AVX hardware.
(It will use the AVX feature if your hardware supports it but will not object if you don't.)

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Thu Apr 05, 2018 5:09 am
by anandhanju
Is there a performance benefit if the CPU has AVX2 support? These extensions are available in CPUs using the Haswell micro-architecture and successors. Per this GROMACS page, there is an AVX2_256 SIMD mode. However, my logs indicate AVX_256, not AVX2_256, is being used. Assuming these are compile time flags that we, Folders, cannot control, is there a possibility that cores with AVX2_256 on supported CPUs could run faster?

Code: Select all

01:03:13:WU00:FS00:0xa7:************************** Gromacs Folding@home Core ***************************
01:03:13:WU00:FS00:0xa7:       Type: 0xa7
01:03:13:WU00:FS00:0xa7:       Core: Gromacs
01:03:13:WU00:FS00:0xa7:    Website: http://folding.stanford.edu/
01:03:13:WU00:FS00:0xa7:  Copyright: (c) 2009-2016 Stanford University
01:03:13:WU00:FS00:0xa7:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
01:03:13:WU00:FS00:0xa7:       Args: -dir 00 -suffix 01 -version 704 -lifeline 114772 -checkpoint 15 -np
01:03:13:WU00:FS00:0xa7:             4
01:03:13:WU00:FS00:0xa7:     Config: <none>
01:03:13:WU00:FS00:0xa7:************************************ Build *************************************
01:03:13:WU00:FS00:0xa7:    Version: 0.0.16
01:03:13:WU00:FS00:0xa7:       Date: Oct 31 2017
01:03:13:WU00:FS00:0xa7:       Time: 19:24:09
01:03:13:WU00:FS00:0xa7: Repository: Git
01:03:13:WU00:FS00:0xa7:   Revision: 2f0a8a3d0b0698be48154fe99a0216f289060932
01:03:13:WU00:FS00:0xa7:     Branch: master
01:03:13:WU00:FS00:0xa7:   Compiler: GNU 4.9.2
01:03:13:WU00:FS00:0xa7:    Options: -std=gnu++98 -O3 -funroll-loops
01:03:13:WU00:FS00:0xa7:   Platform: linux2 4.9.0-1-amd64
01:03:13:WU00:FS00:0xa7:       Bits: 64
01:03:13:WU00:FS00:0xa7:       Mode: Release
01:03:13:WU00:FS00:0xa7:       SIMD: avx_256
01:03:13:WU00:FS00:0xa7:************************************ System ************************************

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Thu Apr 05, 2018 10:09 am
by foldy
For AMD Ryzen CPUs AVX2_128 would be the fastest which gets supported in Gromacs 2018 now.
http://manual.gromacs.org/documentation ... -amd-ryzen
I guess the next fah cpu core will support this avx2 because it seems you get this out of the box.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sat Apr 07, 2018 4:31 pm
by toTOW
anandhanju wrote:Is there a performance benefit if the CPU has AVX2 support?
No, the core is compiled to use only AVX.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sun Apr 08, 2018 12:28 am
by JimboPalmer
anandhanju wrote:Is there a performance benefit if the CPU has AVX2 support?
It will run faster, so get more points than on a CPU that does not support AVX2, where it will use SSE2.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sun Apr 08, 2018 11:19 pm
by bruce
At the time FAHCore_a7 was created, GROMACS required the platform to defined at compile time. Thus FAH had to compile two differernt versions and add the intelligence to FAHClient to choose the right one. One version supports SSE2 and the other version supports AVX. The added complexity to detect all variations and load a full spectrum of versions wasn't worth the extra complexity that would have been required for a relatively small gain on a limited number of machines.

From what I read, a later version of GROMACS has been developed that detects and loads support for more options. That might come in FAHCore_a9 if one is developed before something else happens, but FAH has limited development resources so I don't expect we'll see that any time soon.

The added performance was probably not the primary reason for developing FAHCore_a7, though it's certainly nice. Core A7 uses a newer version of GROMACS (compared to FAHCore_a4) which has added some scientific functionality. This allows additional options in building the model of a protein and I expect that was a higher priority reason.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Mon Apr 09, 2018 1:20 pm
by anandhanju
Good to know. Thanks bruce!

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Mon Apr 09, 2018 3:21 pm
by JimboPalmer
As Bruce mentioned, At one point in the testing, there were two versions a7 and a8, which then both got rolled up into a7. If there is a new test version I would expect it to be a9. (then aa? or b0? or the ugly a10? the suspense is killing me)

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Wed Apr 11, 2018 1:16 pm
by Nathan_P
JimboPalmer wrote:As Bruce mentioned, At one point in the testing, there were two versions a7 and a8, which then both got rolled up into a7. If there is a new test version I would expect it to be a9. (then aa? or b0? or the ugly a10? the suspense is killing me)
I suspect b0, wasn't the protomol core b4? And good to know what happened with a8, I did wonder from time to time where that had gone.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sat Aug 25, 2018 5:44 am
by Duce H_K_
Image
when AVX2 will be supported?

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sat Aug 25, 2018 6:06 am
by Joe_H
Are you running the folding client in a VM? Or using CPU's that are engineering samples, not ones released as final product? The reason you are not seeing AVX being used could be due to either of those, a clue is the line in the log that shows the CPU as "Unknown". Basically your CPU is not recognized as one that has AVX, the client is reverting to SSE2.

The A7 core uses either SSE2 where AVX is not available or AVX where it is. There were some issues with early model AMD CPU's that had AVX but not AVX2 that showed up during initial testing of the core. That may have been part of the reason to choose AVX, The time and effort needed for supporting 3 versions of the core was the rest. As I recall, AVX2 only gave a slight improvement in processing speed over AVX.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sat Aug 25, 2018 2:10 pm
by toTOW
His core is using AVX (see the SIMD: avx_256 line in his log). So everything is normal.

Current core is hardcoded to use AVX. Or SSE2 when AVX is not available.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sat Aug 25, 2018 8:40 pm
by bruce
toTOW wrote:Current core is hardcoded to use AVX. Or SSE2 when AVX is not available.
There are two versions of FAHCore_a7. One is hard-coded to use SSE2, another uses AVX*, and the client makes a choice of which one to load based on FAH's detection of the features in the CPU.

GROMACS has been developing new code so that it can detect and choose a wider list of choices of instruction sets. That coding process was incomplete in the released version of GROMACS that was available at the time FAHCore_a7 was developed so I'm not sure about the details in 0xa7 for AVX. I believe that it makes an intelligent choice about which AVX to use -- provided the hardware detection code works as anticipated. There may even be a newer version of GROMACS that's able to downgrade its optimization choice to SSE2 or even SSE, but FAH probably won't incorporate that version any time soon.

Thus, there are two stages of CPU detection ... one by FAHClient and another by the GROMACS code in 0xa7.

Re: CPU FAH core with AVX support? Mentioned a while back?

Posted: Sun Aug 26, 2018 12:36 am
by Duce H_K_
Just saw that big packet... 0,5 day ETA. I use no VM's. Engineering sample. I naively thought AVX2 should give ~+40% more data processing speed over the AVX :) Thank you for answers.