1
0
Fork 0
stockfish/src/nnue
Stéphane Nicolet 406979ea12 Embed default net, and simplify using non-default nets
covers the most important cases from the user perspective:

It embeds the default net in the binary, so a download of that binary will result
in a working engine with the default net. The engine will be functional in the default mode
without any additional user action.

It allows non-default nets to be used, which will be looked for in up to
three directories (working directory, location of the binary, and optionally a specific default directory).
This mechanism is also kept for those developers that use MSVC,
the one compiler that doesn't have an easy mechanism for embedding data.

It is possible to disable embedding, and instead specify a specific directory, e.g. linux distros might want to use
CXXFLAGS="-DNNUE_EMBEDDING_OFF -DDEFAULT_NNUE_DIRECTORY=/usr/share/games/stockfish/" make -j ARCH=x86-64 profile-build

passed STC non-regression:
https://tests.stockfishchess.org/tests/view/5f4a581c150f0aef5f8ae03a
LLR: 2.95 (-2.94,2.94) {-1.25,-0.25}
Total: 66928 W: 7202 L: 7147 D: 52579
Ptnml(0-2): 291, 5309, 22211, 5360, 293

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

fixes https://github.com/official-stockfish/Stockfish/issues/3030

No functional change.
2020-08-29 21:56:00 +02:00
..
architectures Add NNUE evaluation 2020-08-06 16:37:45 +02:00
features Remove EvalList 2020-08-26 07:11:26 +02:00
layers Support VNNI on 256bit vectors 2020-08-24 12:03:04 +02:00
evaluate_nnue.cpp Embed default net, and simplify using non-default nets 2020-08-29 21:56:00 +02:00
evaluate_nnue.h Add NNUE evaluation 2020-08-06 16:37:45 +02:00
nnue_accumulator.h Cleanup and optimize SSE/AVX code 2020-08-10 14:38:17 +02:00
nnue_architecture.h Add NNUE evaluation 2020-08-06 16:37:45 +02:00
nnue_common.h Remove EvalList 2020-08-26 07:11:26 +02:00
nnue_feature_transformer.h Reformat code in little-endian patch 2020-08-17 12:15:57 +02:00