Add support for VNNI
authormstembera <MissingEmail@email>
Tue, 11 Aug 2020 19:59:39 +0000 (12:59 -0700)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Thu, 13 Aug 2020 05:39:52 +0000 (07:39 +0200)
commitdd63b98fb06e050aa961fbad6fd1f9316f2b17df
treea82abee1533634cfdffc8dc3ef50b380e7a65a62
parent6bc0256292cf51d390fee0cb78963da884dc2677
Add support for VNNI

Adds support for Vector Neural Network Instructions (avx512), as available on Intel Cascade Lake

The _mm512_dpbusd_epi32() intrinsic (vpdpbusd instruction) is taylor made for NNUE.

on a cascade lake CPU (AWS C5.24x.large, gcc 10) NNUE eval is at roughly 78% nps of classical
(single core test)

bench 1024 1 24 default depth:
target  classical  NNUE  ratio
vnni  2207232  1725987  78.20
avx512  2216789  1671734  75.41
avx2  2194006  1611263  73.44
modern  2185001  1352469  61.90

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

No functional change
src/Makefile
src/misc.cpp
src/nnue/layers/affine_transform.h