CMCanavessi wrote: ↑Mon Aug 23, 2021 10:36 pm
xr_a_y wrote: ↑Sun Aug 22, 2021 8:43 pm
You got this right, non-AVX2 build from 3.07 to 3.12 are too slow.
So also you confirm that 3.13 is way stronger on sandybridge ?
I probably won't remove previous releases as most often people are using the last one and because they were tested.
I got the following speed with a go depth 20 command on my Ryzen 7 1700 (1 thread, all defaults)
info depth 20 score cp 36 time 22340 nodes 4929187 nps 220644 Athlon 64
info depth 20 score cp 36 time 18631 nodes 4929187 nps 264569 Barcelona
info depth 20 score cp 36 time 18610 nodes 4929187 nps 264867 Core 2
info depth 20 score cp 36 time 17507 nodes 4929187 nps 281555 Nehalem
info depth 20 score cp 36 time 14786 nodes 4929187 nps 333368 Sandy Bridge
info depth 20 score cp 36 time 15806 nodes 4929191 nps 311855 Sky Lake
info depth 20 score cp 36 time 15177 nodes 4929191 nps 324780 Zen v1
info depth 20 score cp 36 time 13383 nodes 4929191 nps 368317 Zen v2
Zen v2 is faster, even in my zen 1 processor.
Speed looks ok, thanks for the test.
Gcc -march option documentation for Zen v1 and v2 reads almost the same
Code: Select all
‘znver1’
AMD Family 17h core based CPUs with x86-64 instruction set support. (This supersets BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, and 64-bit instruction set extensions.)
‘znver2’
AMD Family 17h core based CPUs with x86-64 instruction set support. (This supersets BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, and 64-bit instruction set extensions.)
Moreover in Minic I don't use PEXT for zen v1, zen v2 and bd v4.
So as soon as you have AVX2 and FMA available performances shall be quite good. Next step is to have a good BMI2 of course (so skylake or zenv3 ...).
As you probably know it is really not recommanded to use executable compiled for a newer architecture than the one of your CPU because you can run for an illegal instruction. In your case it seems only CLWB, RDPID, and WBNOINVD may fail it seems but anyway.
If I were you i'll stick to the binary that fits your architecture but please note that only Intel builds on linux are made using PGO, not the AMD ones and not for windows builds.