bmc4
4d30438400
Remove Condition from Generate_Move Loop
...
it seems it's faster to handle blockers_for_king(~Us) outside loops
Passed STC:
LLR: 2.96 (-2.94,2.94) {-0.25,1.25}
Total: 22184 W: 2063 L: 1919 D: 18202
Ptnml(0-2): 63, 1485, 7855, 1623, 66
https://tests.stockfishchess.org/tests/view/5ffbee2f6019e097de3ef18d
closes https://github.com/official-stockfish/Stockfish/pull/3299
No functional change
2021-01-11 18:41:47 +01:00
Joost VandeVondele
c4d67d77c9
Update copyright years
...
No functional change
2021-01-08 17:04:23 +01:00
Vizvezdenec
2c1be0be8e
Reorder conditions in LMR and pruning
...
Make code logic somewhat easier to follow.
closes https://github.com/official-stockfish/Stockfish/pull/3285
No functional change.
2021-01-08 16:57:26 +01:00
MaximMolchanov
23c385ec36
Affine transform refactoring.
...
Reordered weights in such a way that accumulated sum fits to output.
Weights are grouped in blocks of four elements because four
int8 (weight type) corresponds to one int32 (output type).
No horizontal additions.
Grouped AVX512, AVX2 and SSSE3 implementations.
Repeated code was removed.
An earlier version passed STC:
LLR: 2.97 (-2.94,2.94) {-0.25,1.25}
Total: 15336 W: 1495 L: 1355 D: 12486
Ptnml(0-2): 44, 1054, 5350, 1158, 62
https://tests.stockfishchess.org/tests/view/5ff60e106019e097de3eefd5
Speedup depends on the architecture, up to 4% measured on a NNUE only bench.
closes https://github.com/official-stockfish/Stockfish/pull/3287
No functional change
2021-01-08 16:35:44 +01:00
FauziAkram
d21e421ad7
WeakUnopposed penalty for backwards on file A or H
...
Do not give the WeakUnopposed penalty for backwards on file A or H
The original idea comes from Lolligerhans, and a series of tunings and tests done by Fauzi.
Passed STC:
LLR: 2.96 (-2.94,2.94) {-0.25,1.25}
Total: 140864 W: 28127 L: 27660 D: 85077
Ptnml(0-2): 2529, 16660, 31735, 16831, 2677
https://tests.stockfishchess.org/tests/view/5fe39dec3932f79192d39673
Passed LTC:
LLR: 2.95 (-2.94,2.94) {0.25,1.25}
Total: 67568 W: 8993 L: 8590 D: 49985
Ptnml(0-2): 523, 6176, 19983, 6579, 523
https://tests.stockfishchess.org/tests/view/5fe3dd1b3932f79192d39693
closes https://github.com/official-stockfish/Stockfish/pull/3275
Bench: 4109336
2020-12-31 18:03:33 +01:00
Unai Corzo
8ec97d161e
Remove razoring
...
has become ineffective now.
STC https://tests.stockfishchess.org/tests/view/5fe653403932f79192d3981a
LLR: 2.95 (-2.94,2.94) {-1.25,0.25}
Total: 63448 W: 5965 L: 5934 D: 51549
Ptnml(0-2): 230, 4738, 21769, 4745, 242
LTC https://tests.stockfishchess.org/tests/view/5fe6f0f03932f79192d39856
LLR: 2.93 (-2.94,2.94) {-0.75,0.25}
Total: 65368 W: 2485 L: 2459 D: 60424
Ptnml(0-2): 33, 2186, 28230, 2192, 43
closes https://github.com/official-stockfish/Stockfish/pull/3278
bench: 4493379
2020-12-31 17:51:14 +01:00
Unai Corzo
8985c210a1
Simplify away late irreversible move extension
...
Late irreversible move extension seems to be useless now.
STC https://tests.stockfishchess.org/tests/view/5fe75c5c3932f79192d398ca
LLR: 2.93 (-2.94,2.94) {-1.25,0.25}
Total: 196192 W: 18111 L: 18278 D: 159803
Ptnml(0-2): 681, 14097, 68652, 14040, 626
LTC https://tests.stockfishchess.org/tests/view/5fe875e23932f79192d39952
LLR: 2.96 (-2.94,2.94) {-0.75,0.25}
Total: 28080 W: 1105 L: 1053 D: 25922
Ptnml(0-2): 13, 904, 12158, 948, 17
closes https://github.com/official-stockfish/Stockfish/pull/3279
bench: 4144640
2020-12-31 17:48:47 +01:00
Unai Corzo
c57c71bf5c
Assorted parameter tweak
...
Parameter tweak from various tunes and patches.
STC https://tests.stockfishchess.org/tests/view/5fec2ae36019e097de3ee94a
LLR: 2.97 (-2.94,2.94) {-0.25,1.25}
Total: 41976 W: 4032 L: 3848 D: 34096
Ptnml(0-2): 147, 3086, 14341, 3264, 150
LTC https://tests.stockfishchess.org/tests/view/5fec5c3c6019e097de3ee973
LLR: 2.94 (-2.94,2.94) {0.25,1.25}
Total: 23936 W: 970 L: 844 D: 22122
Ptnml(0-2): 14, 749, 10319, 869, 17
closes https://github.com/official-stockfish/Stockfish/pull/3281
bench: 4354546
2020-12-31 17:44:15 +01:00
Stefan Geschwentner
4262461457
Tweak capture LMR.
...
Apply the recently added LMR condition for captures at nodes which are not PV or former PV nodes only if capture history is not too good.
STC:
LLR: 2.96 (-2.94,2.94) {-0.25,1.25}
Total: 95296 W: 8917 L: 8660 D: 77719
Ptnml(0-2): 323, 6871, 33045, 7044, 365
https://tests.stockfishchess.org/tests/view/5feca7f46019e097de3ee9ae
LTC:
LLR: 2.95 (-2.94,2.94) {0.25,1.25}
Total: 29216 W: 1172 L: 1034 D: 27010
Ptnml(0-2): 11, 946, 12568, 1060, 23
https://tests.stockfishchess.org/tests/view/5fecf1786019e097de3ee9d5
closes https://github.com/official-stockfish/Stockfish/pull/3283
Bench: 4006138
2020-12-31 17:41:34 +01:00
Tomasz Sobczyk
1f7e5d3861
Add thread sanitized run for instrumented_learn and fix races.
2020-12-28 16:08:34 +09:00
Vizvezdenec
51deae8998
Do more LMR for captures
...
This patch enables LMR for all captures at allNodes that were not in PV.
Currently we do LMR for all captures at cutNodes so this is an expansion of this logic:
now we do LMR for all captures almost at all non-pv nodes,
excluding only allNodes that were in PV.
passed STC
https://tests.stockfishchess.org/tests/view/5fe50b9d3932f79192d3973c
LLR: 2.95 (-2.94,2.94) {-0.25,1.25}
Total: 83128 W: 7606 L: 7368 D: 68154
Ptnml(0-2): 292, 5905, 28939, 6129, 299
passed LTC
https://tests.stockfishchess.org/tests/view/5fe552e43932f79192d39744
LLR: 2.92 (-2.94,2.94) {0.25,1.25}
Total: 13968 W: 568 L: 466 D: 12934
Ptnml(0-2): 5, 418, 6043, 506, 12
closes https://github.com/official-stockfish/Stockfish/pull/3273
Bench: 4194835
2020-12-25 10:21:00 +01:00
Tomasz Sobczyk
acf95c7c98
Accumulate clipping statistics to a 64 bit integer to prevent overflow for larger batch sizes.
2020-12-25 10:04:28 +09:00
Tomasz Sobczyk
1b560efabd
Correctly handle the last batch of data in sfen_reader
2020-12-25 10:03:24 +09:00
Tomasz Sobczyk
6d28d97a91
Don't unload evalfile on set nnue false
2020-12-25 09:58:24 +09:00
Tomasz Sobczyk
c1e69f450e
Prevent q_ in loss calculation from reaching values that would produce NaN
2020-12-25 00:41:31 +09:00
Joost VandeVondele
bb6188430d
Add split_count argument to shuffle_binpack.py
...
this optional argument allows for splitting the input binpack in multiple output binpacks while shuffling.
2020-12-25 00:40:40 +09:00
Tomasz Sobczyk
4f6fdca31f
Reduce the amount of sfens buffered for the validation step.
...
Used to be 10M, now we bound it by a multiple of validation_count, and at most 1M. This reduces the RAM usage greatly.
2020-12-25 00:17:35 +09:00
Tomasz Sobczyk
7636bcccd1
Correctly account for factors when computing the average absolute weight of the feature transformer.
2020-12-25 00:08:51 +09:00
Tomasz Sobczyk
2061be4730
smart_fen_skipping at gensfen_nonpv level
2020-12-24 21:37:30 +09:00
Tomasz Sobczyk
868b4e9421
add gensfen_nonpv docs
2020-12-24 21:37:30 +09:00
Tomasz Sobczyk
96b377a90a
Add gensfen_nonpv
2020-12-24 21:37:30 +09:00
Tomasz Sobczyk
3f73c40412
More deterministic move accuracy validation.
2020-12-24 10:16:59 +09:00
Joost VandeVondele
b50dcd7dde
allow for repeated searches in rescoring
...
allows for repeating a depth N search K times.
Repeated searches improve the quality of eval, but don't bring in higher depth info.
Might allow for removing some of the noise in low depth scoring.
2020-12-24 09:46:10 +09:00
Moez Jellouli
b06ef36ae5
Correct Outflanking calculations in classical eval
...
Take signed value of rank difference between kings squares instead absolute value in outflanking calculation. This change correct evaluation of endgames with one king invading opponent last ranks.
Passed STC:
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 122240 W: 24326 L: 23896 D: 74018
Ptnml(0-2): 2101, 14139, 28236, 14517, 2127
https://tests.stockfishchess.org/tests/view/5fdfc33a3932f79192d394b8
Passed LTC:
LLR: 2.97 (-2.94,2.94) {0.25,1.25}
Total: 157416 W: 20870 L: 20292 D: 116254
Ptnml(0-2): 973, 13954, 48333, 14418, 1030
https://tests.stockfishchess.org/tests/view/5fe07a453932f79192d39502
closes https://github.com/official-stockfish/Stockfish/pull/3271
Bench: 4162769
2020-12-23 20:20:24 +01:00
FauziAkram
45b05328b6
Tweak the formulas for unsafeSquares
...
We give more bonus for a special case: If there are some enemy squares occupied
or attacked by the enemy on the passed pawn span,
but if they are all attacked by our pawn, use new intermediate factor 30.
The main credit goes to Rocky for the idea, with additional tuning and tests.
Passed STC:
LLR: 2.95 (-2.94,2.94) {-0.25,1.25}
Total: 96464 W: 19233 L: 18834 D: 58397
Ptnml(0-2): 1683, 11327, 21950, 11452, 1820
https://tests.stockfishchess.org/tests/view/5fdd21ab3932f79192d39357
Passed LTC:
LLR: 2.94 (-2.94,2.94) {0.25,1.25}
Total: 81320 W: 10784 L: 10352 D: 60184
Ptnml(0-2): 602, 7524, 24044, 7820, 670
https://tests.stockfishchess.org/tests/view/5fddec983932f79192d393a4
closes https://github.com/official-stockfish/Stockfish/pull/3268
Bench: 4338972
2020-12-23 20:17:57 +01:00
Tomasz Sobczyk
8ca82646a9
Use plain nnue eval for validation loss calculation instead of first performing qsearch
2020-12-22 10:35:19 +09:00
Tomasz Sobczyk
6853b4aac2
Simple filtering for validation data.
2020-12-22 09:40:25 +09:00
Tomasz Sobczyk
50df3a7389
fix annoying warning
2020-12-22 09:24:26 +09:00
Tomasz Sobczyk
994eb5e183
rescore_fen -> rescore. Make it work on .bin and .binpack inputs.
2020-12-21 10:48:20 +09:00
Tomasz Sobczyk
ffae19b5a1
Add docs for rescore_fen
2020-12-21 10:48:20 +09:00
Tomasz Sobczyk
a9cfaa4d98
Add a tool for rescoring fens from an epd file with fixed depth search
2020-12-21 10:48:20 +09:00
Tomasz Sobczyk
f56613ebf6
Add 'validation_count' option for 'learn' that specifies how many positions to use for validation
2020-12-20 09:47:30 +09:00
pb00067
1f3b5b8b54
Simplify condition for assigning static-eval based bonus
...
for quiet move ordering and simplify bonus formula.
Due to clamping the bonus to relative low values the impact on high
depths is minimal, thus the restriction to low depths seems not
necessary.
Also the condition of movecount in previous node seems to be not
determinant.
Passed STC:
LLR: 2.95 (-2.94,2.94) {-1.25,0.25}
Total: 14600 W: 1424 L: 1323 D: 11853
Ptnml(0-2): 55, 1033, 5020, 1140, 52
https://tests.stockfishchess.org/tests/view/5fd67b381ac16912018885ec
Passed LTC:
LLR: 2.95 (-2.94,2.94) {-0.75,0.25}
Total: 85008 W: 3218 L: 3206 D: 78584
Ptnml(0-2): 49, 2840, 36700, 2880, 35
https://tests.stockfishchess.org/tests/view/5fd6af041ac16912018885f8
closes https://github.com/official-stockfish/Stockfish/pull/3265
bench: 4524994
2020-12-18 21:19:46 +01:00
FauziAkram
66a7a8a0cc
Adjust definition of unsafeSquares
...
and adjust related bonus values. The bonus is now not given whenever
there is an enemy piece in front of the pawn.
Passed STC:
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 109472 W: 22097 L: 21673 D: 65702
Ptnml(0-2): 2111, 12800, 24482, 13240, 2103
https://tests.stockfishchess.org/tests/view/5fd8d3740c5870924361ffad
Passed LTC:
LLR: 2.95 (-2.94,2.94) {0.25,1.25}
Total: 39384 W: 5334 L: 4990 D: 29060
Ptnml(0-2): 279, 3648, 11535, 3910, 320
https://tests.stockfishchess.org/tests/view/5fd971ab0c5870924361fff0
closes https://github.com/official-stockfish/Stockfish/pull/3266
Bench: 4488955
2020-12-18 21:17:34 +01:00
Vizvezdenec
a88a38c3a9
Increase reduction in case of stable best move
...
The idea of this patch is pretty simple - we already do more reductions
for non-PV and root nodes in case of stable best move for depth > 10.
This patch makes us do so if root depth if > 10 instead, which
is logical since best move changes (thus instability of it) is
counted at root, so it makes a lot of sense to use depth of the root.
passed STC
https://tests.stockfishchess.org/tests/view/5fd643271ac16912018885c5
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 13232 W: 1308 L: 1169 D: 10755
Ptnml(0-2): 39, 935, 4535, 1062, 45
passed LTC
https://tests.stockfishchess.org/tests/view/5fd68db11ac16912018885f0
LLR: 2.96 (-2.94,2.94) {0.25,1.25}
Total: 14024 W: 565 L: 463 D: 12996
Ptnml(0-2): 3, 423, 6062, 517, 7
closes https://github.com/official-stockfish/Stockfish/pull/3263
Bench: 4050630
2020-12-14 07:52:02 +01:00
pb00067
16adcb5374
Merge static history into main history,
...
thus simplifying and reducing the memory footprint.
I believe using static diff for better move ordering is more suited for
low depths, so restrict writing to low depths.
Todo: probably the condition for writing can be simplified
LTC:
LLR: 2.95 (-2.94,2.94) {-0.75,0.25}
Total: 18752 W: 768 L: 705 D: 17279
Ptnml(0-2): 7, 635, 8034, 688, 12
https://tests.stockfishchess.org/tests/view/5fd631791ac169120188859e
STC:
LLR: 2.95 (-2.94,2.94) {-1.25,0.25}
Total: 36504 W: 3380 L: 3313 D: 29811
Ptnml(0-2): 116, 2667, 12645, 2682, 142
https://tests.stockfishchess.org/tests/view/5fd5ed861ac1691201888569
closes https://github.com/official-stockfish/Stockfish/pull/3262
bench: 4018036
2020-12-14 07:48:48 +01:00
mstembera
d862ba4069
AVX512, AVX2 and SSSE3 speedups
...
Improves throughput by summing 2 intermediate dot products using 16 bit addition before upconverting to 32 bit.
Potential saturation is detected and the code-path is avoided in this case.
The saturation can't happen with the current nets,
but nets can be constructed that trigger this check.
STC https://tests.stockfishchess.org/tests/view/5fd40a861ac1691201888479
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 25544 W: 2451 L: 2296 D: 20797
Ptnml(0-2): 92, 1761, 8925, 1888, 106
about 5% speedup
closes https://github.com/official-stockfish/Stockfish/pull/3261
No functional change
2020-12-14 07:46:15 +01:00
Tomasz Sobczyk
a7378f3249
Make next_fen in opening_book a critical section
2020-12-14 09:03:04 +09:00
Joost VandeVondele
76fbc5e3d0
Make score sign flip optional
...
Bug fix: flipping score is not needed for fishtest, make this optional.
2020-12-13 09:32:46 +09:00
kennyfrc
f4b4430380
remove unnecessary makefile commands and fix blas on mac
2020-12-13 09:31:52 +09:00
FauziAkram
d706ae62d7
New Imbalance Tables Tweak
...
Imbalance tables tweaked to contain MiddleGame and Endgame values, instead of a single value.
The idea started from Fisherman, which requested my help to tune the values back in June/July,
so I tuned the values back then, and we were able to accomplish good results,
but not enough to pass both STC and LTC tests.
So after the recent changes, I decided to give it another shot, and I am glad that it was a successful attempt.
A special thanks goes also to mstembera, which notified me a simple way to let the patch perform a little better.
Passed STC:
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 115976 W: 23124 L: 22695 D: 70157
Ptnml(0-2): 2074, 13652, 26285, 13725, 2252
https://tests.stockfishchess.org/tests/view/5fc92d2d42a050a89f02ccc8
Passed LTC:
LLR: 2.94 (-2.94,2.94) {0.25,1.25}
Total: 156304 W: 20617 L: 20024 D: 115663
Ptnml(0-2): 1138, 14647, 46084, 15050, 1233
https://tests.stockfishchess.org/tests/view/5fc9fee142a050a89f02cd3e
closes https://github.com/official-stockfish/Stockfish/pull/3255
Bench: 4278746
2020-12-12 09:31:28 +01:00
Fanael Linithien
c7f0a768cb
Use arithmetic right shift for sign extension in MMX and SSE2 paths
...
This appears to be slightly faster than using a comparison against zero
to compute the high bits, on both old (like Pentium III) and new (like
Zen 2) hardware.
closes https://github.com/official-stockfish/Stockfish/pull/3254
No functional change.
2020-12-12 09:20:15 +01:00
Joost VandeVondele
9c65e868f9
Enhance pgn_to_plain.py
...
in case a score can be parsed from the comment field in the pgn, add it to the output.
This form works for the fishtest pgns, and is quite common (cutechess-cli among others).
2020-12-11 00:33:34 +09:00
Tomasz Sobczyk
d99ba07b81
Fix incorrect enpassant flag for moves read from uci format in the binpack lib
2020-12-11 00:31:32 +09:00
Joost VandeVondele
b49fd3ab30
Add -lstdc++fs to the link line of gcc
...
older versions of gcc (<8.1) need this, even if they accept -std=c++17
with this patch, the code can be run on fishtest again,
at least by the majority of workers (fishtest doesn't require c++17 to be available)
See e.g.
https://tests.stockfishchess.org/tests/view/5fcfbf801ac1691201888235
Bench: 3820648
2020-12-09 08:40:34 +09:00
nodchip
ae045e2cd8
Merge pull request #258 from kennyfrc/stockfish-nnue-2020-08-30-macos
...
mac-compatible makefile with instructions for stockfish-nnue-2020-08-30
2020-12-09 08:39:36 +09:00
Kenn Costales
055f907315
Merge branch 'master' into stockfish-nnue-2020-08-30-macos
2020-12-08 22:49:11 +08:00
kennyfrc
bb26ce5aa1
mac specific makefile with compilation instructions
2020-12-08 22:14:18 +08:00
Tomasz Sobczyk
3a1bd1185f
Add binpack coarse shuffle tool.
2020-12-06 19:08:52 +09:00
Vizvezdenec
8630d03dd4
Add comments to uncommented parts of code
...
https://github.com/official-stockfish/Stockfish/pull/3250
No functional change
2020-12-05 16:58:42 +01:00