]> git.sesse.net Git - stockfish/commit - src/nnue/layers/affine_transform.h
Optimize AVX2 path in NNUE evaluation
authormstembera <MissingEmail@email>
Tue, 6 Sep 2022 22:02:35 +0000 (15:02 -0700)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sun, 11 Sep 2022 12:19:57 +0000 (14:19 +0200)
commit82bb21dc7a198609589ef0cc78d185f00f619a90
treebde2e85e8fc803cde628f9745efab336f7eb2301
parent1591e5ac3b24f068f965471f17d7aae33ceaab9f
Optimize AVX2 path in NNUE evaluation

always selecting AffineTransform specialization for small inputs.

A related patch was tested as

Initially tested as a simplification
STC https://tests.stockfishchess.org/tests/view/6317c3f437f41b13973d6dff
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 58072 W: 15619 L: 15425 D: 27028
Ptnml(0-2): 241, 6191, 15992, 6357, 255

Elo gain speedup test
STC https://tests.stockfishchess.org/tests/view/63181c1b37f41b13973d79dc
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 184496 W: 49922 L: 49401 D: 85173
Ptnml(0-2): 851, 19397, 51208, 19964, 828

and this patch gained in testing

speedup        = +0.0071
P(speedup > 0) =  1.0000
on CPU: 16 x AMD Ryzen 9 3950X

closes https://github.com/official-stockfish/Stockfish/pull/4158

No functional change
src/nnue/layers/affine_transform.h
src/nnue/layers/simd.h [moved from src/simd.h with 100% similarity]