1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 09:13:08 +00:00
Commit graph

5012 commits

Author SHA1 Message Date
mstembera
21d43e9500 Remove some unnecessary declarations and headers.
bench: 4578298
2020-07-28 20:08:10 -07:00
NguyenPham
5c616bc46b Change data file extension of nnue networks
move from .bin (used for polyglot books etc) to .nnue
2020-07-28 14:02:35 +02:00
Joost VandeVondele
c8f7fa6a02 [NNUE] update compiler info with flags
as several new flags are added document compilation specifics under the compiler command.

No functional change.
2020-07-28 09:28:10 +02:00
Dariusz Orzechowski
7bb14c2489 Clamp NNUE evaluation score
No functional change.
2020-07-28 04:30:47 +02:00
Joost VandeVondele
6349062d42 [NNUE] remove evalnn command
instead eval uses the evaluation according to the state of Use NNUE

No functional change.
2020-07-27 20:14:25 +02:00
Joost VandeVondele
b536b0ac67 [NNUE] init networks also for cmdline use
`./stockfish go depth 10`

now works if `Use NNUE` defaults to true.

No functional change
2020-07-27 09:43:19 +02:00
mstembera
60497a85d6 Fix a crash on Use NNUE default true
This was because the UCI::use_nnue variable was never updated to true.

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

bench: 4578298
NNUE: 3377227
2020-07-27 07:17:41 +02:00
Joost VandeVondele
a8bdf69c71 Use _mm_malloc on _WIN32 2020-07-26 22:22:36 +02:00
Joost VandeVondele
a6c614da03 Include header if _MSC_VER 2020-07-26 20:44:47 +02:00
Joost VandeVondele
98ffe0cd97 [NNUE] Wrap aligned_alloc
For some systems std::aligned_alloc is not available even if c++17 is specified.
Wrap the function and use specific solutions.

Update macosx-version-min to the required minimum.

No functional change.
2020-07-26 20:32:00 +02:00
Joost VandeVondele
2b0ba70436 [NNUE] update travis CI to use new toolchain
No functional change.
2020-07-26 18:03:54 +02:00
Joost VandeVondele
27b87ddf5d [NNUE] use_nue=false for getting the material key
No functional change.
2020-07-26 14:57:38 +02:00
Joost VandeVondele
319b8e8e7b Fix unused variable warning
for certain targets. Only define variable when needed.

No functional change.
2020-07-26 14:57:38 +02:00
Dariusz Orzechowski
a285850bf6 Fix valgrind issue
No functional change.
2020-07-26 08:52:22 +02:00
Dariusz Orzechowski
cae61bbb65 Fix memset/memcpy warnings
No functional change.
2020-07-26 08:52:22 +02:00
Joost VandeVondele
49d2cd8b13 [NNUE] update x86-64-modern target
slightly increase requirements on modern from sse3 to ssse3.
2020-07-25 17:23:07 +02:00
Dariusz Orzechowski
beb956f823 NNUE: Fix debug build
No functional change
2020-07-25 17:22:25 +02:00
Joost VandeVondele
faf08671ff [NNUE] default net
change default net to nn-c157e0a5755b.bin as available in https://github.com/official-stockfish/networks
2020-07-25 12:45:19 +02:00
Dariusz Orzechowski
458a920788 Fix makefile option x86-64-modern 2020-07-20 13:53:21 +02:00
Dariusz Orzechowski
871e6b8c83 Merge latest changes from nodchip repo 2020-07-20 13:19:25 +02:00
Dariusz Orzechowski
76d8f6128a Fix popcnt option in makefile 2020-07-20 11:39:52 +02:00
nodchip
c0e1235fef Added a description to Makefile. 2020-07-20 17:36:09 +09:00
No name
74049a450c Add NNUE targets to the output of 'make help' 2020-07-20 17:29:20 +09:00
nodchip
fbdb373b64 Changed to set the binary directory to the current working directory. 2020-07-20 17:17:50 +09:00
Dariusz Orzechowski
c0bbce092b Restore ARCH=x86-64-modern in the makefile 2020-07-20 09:59:40 +02:00
Dariusz Orzechowski
cf8a50e654 Don't use NNUE by default - changed for an attempt on fishtest 2020-07-20 08:39:21 +02:00
Dariusz Orzechowski
675672cfc1 Use std::aligned_alloc 2020-07-20 06:20:31 +02:00
Dariusz Orzechowski
4cceeb7380 Remove code unneeded for playing, refactor, update to latest master dev 2020-07-20 05:45:24 +02:00
mstembera
77018c77cc Fix profile builds for AVX512. 2020-07-19 21:25:50 +09:00
No name
fd78fb05f6 Hide NNUE options if building without NNUE support
Also remove an unused option.
2020-07-19 20:17:01 +09:00
nodchip
afd7d0ea4d Fixed a bug that Makefile specifies -mpopcnt for armv8-a. 2020-07-19 18:34:35 +09:00
nodchip
36092b855a Removed the x86-64-ssse3-popcnt architecture. 2020-07-19 14:17:35 +09:00
nodchip
3bbe4802b1 Removed the sse41-popcnt architecture. 2020-07-19 14:02:49 +09:00
nodchip
c001a4e62d Revert "Removed x86-64-ssse3-popcnt and x86-64-sse41-popcnt."
This reverts commit 92c2167481.
2020-07-19 13:58:19 +09:00
No name
1536e31065 Load the parameter set on an `isready' as well
Unbreaks Scid vs. PC, which doesn't send `ucinewgame'.
2020-07-19 13:22:40 +09:00
nodchip
92c2167481 Removed x86-64-ssse3-popcnt and x86-64-sse41-popcnt. 2020-07-19 12:52:20 +09:00
nodchip
a4786db4c2 Added support for architectures which supports SSE3+POPCNT, SSSE3+POPCNT and SSE41+POPCNT. 2020-07-19 12:41:50 +09:00
nodchip
c24ad8d8b5 Supported sse3 build. 2020-07-19 12:26:37 +09:00
mstembera
961a4dad5c Add AVX512 support.
bench: 3909820
2020-07-19 12:07:28 +09:00
nodchip
7a13d4ed60 Changed the default eval file path so that more GUIs can use Stockfish NNUE. 2020-07-17 15:40:01 +09:00
No name
961047ed6e Experimental support for PGO builds of NNUE
Only 'nnue' target and only gcc/mingw.
(does not clean profile data generated by other compilers)
To use:
 make profile-nnue ARCH=arch
(see 'make help' for list of supported archs)
2020-07-16 08:53:03 +09:00
J. Oster
e29499ee4b Use the path and filename for restoring parameter files. 2020-07-15 19:29:29 +09:00
nodchip
686a5a0df9 Fixed a bug that gensfen command does not accept the use_draw_in_training_data_generation option. 2020-07-13 22:25:23 +09:00
No name
fcb391919f Disable EVAL_HASH for 'nnue' target
Gives a 7% speed gain for me, without any parameter set loaded
(all-zero).
2020-07-11 19:29:05 +09:00
joergoster
db0615eed9 Merge branch 'master' into sf-nnue-update 2020-07-11 12:03:17 +02:00
SFisGOD
1f3bd968bb Introduce bad outpost penalty
In some French games, Stockfish likes to bring the Knight to a bad outpost spot. This is evident in TCEC S18 Superfinal Game 63, where there is a Knight outpost on the queenside but is actually useless. Stockfish is effectively playing a piece down while holding ground against Leela's break on the kingside.

This patch turns the +56 mg bonus for a Knight outpost into a -7 mg penalty if it satisfies the following conditions:

* The outpost square is not on the CenterFiles (i.e. not on files C,D,E and F)
* The knight is not attacking non pawn enemies.
* The side where the outpost is located contains only few enemies, with a particular conditional_more_than_two() implementation

Thank you to apospa...@gmail.com for bringing this to our attention and for providing insights.
See https://groups.google.com/forum/?fromgroups=#!topic/fishcooking/dEXNzSIBgZU
Reference game: https://tcec-chess.com/#div=sf&game=63&season=18

Passed STC:
LLR: 2.93 (-2.94,2.94) {-0.50,1.50}
Total: 6960 W: 1454 L: 1247 D: 4259
Ptnml(0-2): 115, 739, 1610, 856, 160
https://tests.stockfishchess.org/tests/view/5f08221059f6f0353289477e

Passed LTC:
LLR: 2.98 (-2.94,2.94) {0.25,1.75}
Total: 21440 W: 2767 L: 2543 D: 16130
Ptnml(0-2): 122, 1904, 6462, 2092, 140
https://tests.stockfishchess.org/tests/view/5f0838ed59f6f035328947a2

various related tests show strong test results, but so far no generalizations or simplifications of conditional_more_than_two() are found. See PR for details.

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

Bench: 4366686
2020-07-11 11:23:55 +02:00
Vizvezdenec
5e91c5dcc8 Maximize usage of transposition table in probcut
Probcut is a heuristic that wasn't changed a lot in past years,
all attempts to change it using information / writing info to transposition table failed.

This patch has a number of differences that can be summarized as follows:

* For TT write/read we use depth - 3. Because probcut search is depth - 4 but we actually do the move prior to it so effectively we do depth - 3 search;
* In any case of depth of eval from transposition table being >= depth - 3 we either produce cutoff or refuse to even do probcut search, this is allowing us to write info of probcut to transposition table because we know that we wouldn't be overwriting some deeper data with our depth - 3 search - this is an important aspect of this patch;
* For some not really known reason this patch completely ignores tte->bound() - which was the case for previous patch that made probcut interact with TT, maybe 2) is the reason, although it's unproven.

A first version of this patch passed STC and LTC

passed STC
https://tests.stockfishchess.org/tests/view/5f05908a59f6f03532894613
LLR: 2.95 (-2.94,2.94) {-0.50,1.50}
Total: 95776 W: 18300 L: 17973 D: 59503
Ptnml(0-2): 1646, 10944, 22377, 11279, 1642

passed LTC
https://tests.stockfishchess.org/tests/view/5f06b54059f6f035328946bb
LLR: 2.94 (-2.94,2.94) {0.25,1.75}
Total: 57128 W: 7266 L: 6938 D: 42924
Ptnml(0-2): 372, 5163, 17217, 5389, 423

However, an additional bugfix was needed to avoid checking a condition on ttMove if was not available. This passed non-regression bounds on top of the first version:

at STC
https://tests.stockfishchess.org/tests/view/5f080e5059f6f03532894766
LLR: 2.94 (-2.94,2.94) {-1.50,0.50}
Total: 14096 W: 2800 L: 2628 D: 8668
Ptnml(0-2): 225, 1620, 3238, 1688, 277

at LTC
https://tests.stockfishchess.org/tests/view/5f0836a559f6f0353289479c
LLR: 2.95 (-2.94,2.94) {-1.50,0.50}
Total: 25352 W: 3228 L: 3139 D: 18985
Ptnml(0-2): 175, 2350, 7549, 2415, 187

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

Bench 4540940
2020-07-11 11:10:06 +02:00
zz4032
d6e8089f50 Saving new network in correct path. 2020-07-11 17:46:43 +09:00
zz4032
b521e405d3 Default network path in Linux. 2020-07-11 00:07:15 +09:00
nodchip
d7c358cf19 Fixed descriptions and sanity checks in Makefile. 2020-07-10 16:55:32 +09:00