Robert Nurnberg @ elitebook
6fc7da44ad
update the WDL model
...
The patch only changes the displayed cp and wdl values.
closes https://github.com/official-stockfish/Stockfish/pull/5178
No functional change
2024-04-21 14:40:02 +02:00
Gahtan Nahdi
d0e72c19fa
fix clang compiler warning for avx512 build
...
Initialize variable in constexpr function to get rid of clang compiler warning for avx512 build.
closes https://github.com/official-stockfish/Stockfish/pull/5176
Non-functional change
2024-04-21 14:38:16 +02:00
Michael Chaly
9021a61807
Trivial cleanup
...
Make naming and declaration of futilityValue in search consistent between different places.
closes https://github.com/official-stockfish/Stockfish/pull/5165
No functional change.
2024-04-21 14:35:54 +02:00
Disservin
d3fc1d835e
Refactor elapsed time checks in search
...
Small improvement of the elapsed time usage in search, makes the code easier to read overall.
Also Search::Worker::iterative_deepening() now only checks the elapsed time once, instead of 3 times in a row.
Non Regression STC:
https://tests.stockfishchess.org/tests/view/6617005d5a4693796d965c3c
LLR: 2.97 (-2.94,2.94) <-1.75,0.25>
Total: 61024 W: 16002 L: 15806 D: 29216
Ptnml(0-2): 243, 6874, 16102, 7030, 263
closes https://github.com/official-stockfish/Stockfish/pull/5163
No functional change
2024-04-21 14:35:01 +02:00
Disservin
432995ad82
Update outdated comments
...
closes https://github.com/official-stockfish/Stockfish/pull/5158
No functional change
2024-04-21 14:32:26 +02:00
Disservin
c55ae376f6
Fix wrong sign for 200 TB score
...
Fix another case of 9032c6cbe7
* TB values can have a distance of 0, mainly when we are in a tb position but haven't found mate.
* Add a missing whitespace to UCIEngine::on_update_no_moves()
Closes https://github.com/official-stockfish/Stockfish/pull/5172
No functional change
2024-04-13 22:05:19 +02:00
Disservin
4912f5b0b5
Remove duplicated Position object in UCIEngine
...
Also fixes searchmoves.
Drop the need of a Position object in uci.cpp.
A side note, it is still required for the static functions,
but these should be moved to a different namespace/class
later on, since sf kinda relies on them.
closes https://github.com/official-stockfish/Stockfish/pull/5169
No functional change
2024-04-12 19:37:39 +02:00
Shahin M. Shahin
14f6eab07d
Fix some more UCI output
...
further fall-out of the refactoring, fixes:
* the position object in UCI is not never getting updated if position token is used
* duplicate string of " wdl "
See also:
https://discord.com/channels/435943710472011776/1032922913499783169/1228227522945351690
https://discord.com/channels/435943710472011776/813919248455827515/1228288106449338398
closes https://github.com/official-stockfish/Stockfish/pull/5168
No functional change
Co-Authored-By: disservin <45608332+disservin@users.noreply.github.com>
2024-04-12 18:11:54 +02:00
Robert Nurnberg @ elitebook
e58b3b4665
Fix wrong mate sign
...
introduced yesterday by the UCI refactoring 9032c6cbe
fixes #5166
closes https://github.com/official-stockfish/Stockfish/pull/5167
No functional change
2024-04-12 09:30:34 +02:00
FauziAkram
249eec6715
Simplify the depth-dependent part of the best value adjustment formula in main search
...
Passed STC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 139648 W: 36171 L: 36061 D: 67416
Ptnml(0-2): 545, 16685, 35282, 16739, 573
https://tests.stockfishchess.org/tests/view/660d953b8ff4a059828d625d
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 222894 W: 56519 L: 56505 D: 109870
Ptnml(0-2): 112, 25145, 60971, 25055, 164
https://tests.stockfishchess.org/tests/view/660fd4afbfeb43334bf7d558
closes https://github.com/official-stockfish/Stockfish/pull/5164
bench: 1479416
2024-04-11 22:47:40 +02:00
gab8192
d6bdcec52c
Remove an useless assignment
...
The assignment (ss + 1)->excludedMove = Move::none() can be simplified away because when that line is reached, (ss + 1)->excludedMove is always already none. The only moment stack[x]->excludedMove is modified, is during singular search, but it is reset to none right after the singular search is finished.
closes https://github.com/official-stockfish/Stockfish/pull/5153
No functional change
2024-04-11 22:43:00 +02:00
Disservin
de2244284b
Remove COMPILER from Makefile
...
The same functionality is available by using COMPCXX and having another variable which does the same is just confusing.
There was only one mention on Stockfish Wiki about this which has been changed to COMPCXX.
closes https://github.com/official-stockfish/Stockfish/pull/5154
No functional change
2024-04-11 22:41:35 +02:00
mstembera
94484db6e8
Avoid permuting inputs during transform()
...
Avoid permuting inputs during transform() and instead do it once at load time.
Affects AVX2 and newer Intel architectures only.
https://tests.stockfishchess.org/tests/view/661306613eb00c8ccc0033c7
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 108480 W: 28319 L: 27898 D: 52263
Ptnml(0-2): 436, 12259, 28438, 12662, 445
speedups measured such as e.g.
```
Result of 100 runs
==================
base (./stockfish.master ) = 1241128 +/- 3757
test (./stockfish.patch ) = 1247713 +/- 3689
diff = +6585 +/- 2583
speedup = +0.0053
P(speedup > 0) = 1.0000
```
closes https://github.com/official-stockfish/Stockfish/pull/5160
No functional change
2024-04-11 22:38:38 +02:00
Muzhen Gaming
1adf8e1ae6
VVLTC search tune
...
Parameters were tuned in 3 stages:
* Using an earlier L1-3072 net, and with triple extension margin manually set to 0: https://tests.stockfishchess.org/tests/view/65ffdf5d0ec64f0526c544f2 (~30k games)
* Continue tuning, but with the previous master net (L1-2560). https://tests.stockfishchess.org/tests/view/660663f00ec64f0526c59c41 (~27k games)
* Starting with the parameters from step 2, use the current L1-3072 net, and allow the triple extension margin to be tuned starting from 0: https://tests.stockfishchess.org/tests/view/660c16b8216a13d9498e7536 (40k games)
Passed VVLTC 1st sprt: https://tests.stockfishchess.org/tests/view/66115eacbfeb43334bf7eddd
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 27138 W: 7045 L: 6789 D: 13304
Ptnml(0-2): 1, 2421, 8471, 2673, 3
Passed VVLTC 2nd sprt: https://tests.stockfishchess.org/tests/view/661483623eb00c8ccc0049c1
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 26242 W: 6807 L: 6535 D: 12900
Ptnml(0-2): 0, 2353, 8143, 2625, 0
STC Elo estimate: https://tests.stockfishchess.org/tests/view/66175ca55a4693796d96608c
Elo: -10.53 ± 2.4 (95%) LOS: 0.0%
Total: 21584 W: 5294 L: 5948 D: 10342
Ptnml(0-2): 102, 2937, 5363, 2293, 97
nElo: -19.99 ± 4.7 (95%) PairsRatio: 0.79
closes https://github.com/official-stockfish/Stockfish/pull/5162
Bench: 1381387
2024-04-11 22:23:52 +02:00
Disservin
9032c6cbe7
Transform search output to engine callbacks
...
Part 2 of the Split UCI into UCIEngine and Engine refactor.
This creates function callbacks for search to use when an update should occur.
The benching in uci.cpp for example does this to extract the total nodes
searched.
No functional change
2024-04-05 21:03:58 +02:00
Disservin
299707d2c2
Split UCI into UCIEngine and Engine
...
This is another refactor which aims to decouple uci from stockfish. A new engine
class manages all engine related logic and uci is a "small" wrapper around it.
In the future we should also try to remove the need for the Position object in
the uci and replace the options with an actual options struct instead of using a
map. Also convert the std::string's in the Info structs a string_view.
closes #5147
No functional change
2024-04-04 00:15:17 +02:00
Viren6
0716b845fd
Update NNUE architecture to SFNNv9 and net nn-ae6a388e4a1a.nnue
...
Part 1: PyTorch Training, linrock
Trained with a 10-stage sequence from scratch, starting in May 2023:
https://github.com/linrock/nnue-tools/blob/master/exp-sequences/3072-10stage-SFNNv9.yml
While the training methods were similar to the L1-2560 training sequence,
the last two stages introduced min-v2 binpacks,
where bestmove capture and in-check position scores were not zeroed during minimization,
for compatibility with skipping SEE >= 0 positions and future research.
Training data can be found at:
https://robotmoon.com/nnue-training-data
This net was tested at epoch 679 of the 10th training stage:
https://tests.stockfishchess.org/tests/view/65f32e460ec64f0526c48dbc
Part 2: SPSA Training, Viren6
The net was then SPSA tuned.
This consisted of the output weights (32 * 8) and biases (8)
as well as the L3 biases (32 * 8) and L2 biases (16 * 8), totalling 648 params in total.
The SPSA tune can be found here:
https://tests.stockfishchess.org/tests/view/65fc33ba0ec64f0526c512e3
With the help of Disservin , the initial weights were extracted with:
https://github.com/Viren6/Stockfish/tree/new228
The net was saved with the tuned weights using:
https://github.com/Viren6/Stockfish/tree/new241
Earlier nets of the SPSA failed STC compared to the base 3072 net of part 1:
https://tests.stockfishchess.org/tests/view/65ff356e0ec64f0526c53c98
Therefore it is suspected that the SPSA at VVLTC has
added extra scaling on top of the scaling of increasing the L1 size.
Passed VVLTC 1:
https://tests.stockfishchess.org/tests/view/6604a9020ec64f0526c583da
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 53042 W: 13554 L: 13256 D: 26232
Ptnml(0-2): 12, 5147, 15903, 5449, 10
Passed VVLTC 2:
https://tests.stockfishchess.org/tests/view/660ad1b60ec64f0526c5dd23
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 17506 W: 4574 L: 4315 D: 8617
Ptnml(0-2): 1, 1567, 5362, 1818, 5
STC Elo estimate:
https://tests.stockfishchess.org/tests/view/660b834d01aaec5069f87cb0
Elo: -7.66 ± 3.8 (95%) LOS: 0.0%
Total: 9618 W: 2440 L: 2652 D: 4526
Ptnml(0-2): 80, 1281, 2261, 1145, 42
nElo: -13.94 ± 6.9 (95%) PairsRatio: 0.87
closes https://tests.stockfishchess.org/tests/view/660b834d01aaec5069f87cb0
bench 1823302
Co-Authored-By: Linmiao Xu <lin@robotmoon.com>
2024-04-02 08:49:48 +02:00
Joost VandeVondele
c964942da2
Avoid a note related to an ABI change
...
current master triggers a gcc note:
parameter passing for argument of type 'std::pair<double, double>' when C++17 is enabled changed to match C++14 in GCC 10.1
while this is inconsequential, and just informative https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111516 we can easily avoid it.
closes https://github.com/official-stockfish/Stockfish/pull/5145
No functional change
2024-03-30 12:38:02 +01:00
Disservin
ec598b380d
Improve prerelease creation workflow
...
In the last couple of months we sometimes saw duplicated prereleases uploaded to GitHub, possibly due to some racy behavior when concurrent jobs create a prerelease. This now creates an empty prerelease at the beginning of the CI and the binaries are later just attached to this one.
closes https://github.com/official-stockfish/Stockfish/pull/5144
No functional change
2024-03-29 13:13:07 +01:00
Joost VandeVondele
68d58d94da
Fix usage of abs vs std::abs
...
close https://github.com/official-stockfish/Stockfish/pull/5143
No functional change
2024-03-29 13:12:20 +01:00
Shawn Xu
e13e4cfb83
Simplify NMP Condition
...
Remove eval >= ss->staticEval condition for Null Move Pruning.
Passed non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 44000 W: 11420 L: 11202 D: 21378
Ptnml(0-2): 174, 5243, 10978, 5401, 204
https://tests.stockfishchess.org/tests/live_elo/6603ee490ec64f0526c57984
Passed non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 82956 W: 20978 L: 20818 D: 41160
Ptnml(0-2): 54, 9353, 22499, 9523, 49
https://tests.stockfishchess.org/tests/live_elo/660464b50ec64f0526c5804d
closes https://github.com/official-stockfish/Stockfish/pull/5142
Bench 1759189
2024-03-29 10:18:40 +01:00
Michael Chaly
0ef5d05102
Adjust best value after a pruned quiet move
...
Logic somewhat similar to how we adjust best value after pruned captures
in qsearch, but in search this patch does it after pruned quiet moves
and also to not full scale of futility value but to smth in between
best value and futility value.
Passed STC:
https://tests.stockfishchess.org/tests/view/6601cf900ec64f0526c55c30
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 59936 W: 15722 L: 15369 D: 28845
Ptnml(0-2): 182, 7097, 15112, 7340, 237
Passed LTC:
https://tests.stockfishchess.org/tests/view/66029b2d0ec64f0526c566f1
LLR: 2.96 (-2.94,2.94) <0.50,2.50>
Total: 118362 W: 29953 L: 29460 D: 58949
Ptnml(0-2): 68, 13159, 32249, 13622, 83
closes https://github.com/official-stockfish/Stockfish/pull/5141
bench 1772608
2024-03-29 10:15:17 +01:00
xoto10
e636f73ab8
Vary time use with eval
...
Adjust time use depending on the current eval.
Passed STC :
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 101696 W: 26651 L: 26238 D: 48807
Ptnml(0-2): 400, 11602, 26459, 11959, 428
https://tests.stockfishchess.org/tests/live_elo/660187a50ec64f0526c557f6
Passed LTC :
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 60648 W: 15550 L: 15187 D: 29911
Ptnml(0-2): 40, 6356, 17171, 6715, 42
https://tests.stockfishchess.org/tests/live_elo/660298ed0ec64f0526c566d0
Values were found using two tunes with the final values taken from the ltc tune after 62k games :
stc - https://tests.stockfishchess.org/tests/view/65fb526b0ec64f0526c50694
ltc - https://tests.stockfishchess.org/tests/view/65fd36e60ec64f0526c5214b
Ideas for future work;
* tune these values with the other TM adjustments
* try narrower bands
* calculate adjustment for exact eval by interpolation
closes https://github.com/official-stockfish/Stockfish/pull/5138
No functional change
2024-03-29 10:09:42 +01:00
Gahtan Nahdi
ed24e3a0a6
Remove material imbalance from nnue eval
...
Passed non-reg STC:
https://tests.stockfishchess.org/tests/view/65fdf11f0ec64f0526c52b57
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 76480 W: 19893 L: 19712 D: 36875
Ptnml(0-2): 339, 9107, 19157, 9308, 329
Passed non-reg LTC:
https://tests.stockfishchess.org/tests/view/65fee22e0ec64f0526c53885
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 150948 W: 38078 L: 37988 D: 74882
Ptnml(0-2): 111, 16997, 41148, 17127, 91
closes https://github.com/official-stockfish/Stockfish/pull/5135
Bench: 2103324
2024-03-26 18:17:00 +01:00
FauziAkram
d49b3738bc
Tweak the stats bonus and malus
...
For depth 1 we don't have a negative score anymore.
Passed STC:
https://tests.stockfishchess.org/tests/view/65fb055c0ec64f0526c5024f
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 117120 W: 30468 L: 30023 D: 56629
Ptnml(0-2): 526, 13759, 29539, 14216, 520
Passed LTC:
https://tests.stockfishchess.org/tests/view/65fdca4b0ec64f0526c5293f
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 54816 W: 13955 L: 13595 D: 27266
Ptnml(0-2): 30, 6046, 14897, 6404, 31
closes https://github.com/official-stockfish/Stockfish/pull/5134
Bench: 1876428
2024-03-26 18:17:00 +01:00
Disservin
7998570414
Add functionality to export small net
...
Usage
```
export_net <filenameBigNet> <filenameSmallNet>
```
closes https://github.com/official-stockfish/Stockfish/pull/5133
No functional change
2024-03-26 18:17:00 +01:00
mstembera
5001d49f42
Update nnue_feature_transformer.h
...
Unroll update_accumulator_refresh to process two
active indices simultaneously.
The compiler might not unroll effectively because
the number of active indices isn't known at
compile time.
STC https://tests.stockfishchess.org/tests/view/65faa8850ec64f0526c4fca9
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 130464 W: 33882 L: 33431 D: 63151
Ptnml(0-2): 539, 14591, 34501, 15082, 519
closes https://github.com/official-stockfish/Stockfish/pull/5125
No functional change
2024-03-26 18:06:49 +01:00
Muzhen Gaming
d99f89506b
VVLTC search tune
...
This set of parameters was derived from 3 tuning attempts:
https://tests.stockfishchess.org/tests/view/65d19ab61d8e83c78bfd8436 (80+0.8 x8, ~40k games)
Then tuned with one of linrock's early L1-3072 nets:
https://tests.stockfishchess.org/tests/view/65def7b04b19edc854ebdec8 (VVLTC, ~36k games)
Starting from the result of this tuning, the parameters were then tuned with the current master net:
https://tests.stockfishchess.org/tests/view/65f11c420ec64f0526c46fc4 (VVLTC, ~45k games)
Additionally, at the start of the third tuning phase, 2 parameters were manually changed:
Notably, the triple extension margin was decreased from 78 to 22. This idea was given by Vizvezdenec:
https://tests.stockfishchess.org/tests/view/65f0a2360ec64f0526c46752 .
The PvNode extension margin was also adjusted from 50 to 40.
This tune also differs from previous tuning attempts by tuning the evaluation thresholds for smallnet and psqt-only.
The former was increased through the tuning, and this is hypothesized to scale better at VVLTC,
although there is not much evidence of it.
Passed VVLTC 1st sprt: https://tests.stockfishchess.org/tests/view/65f6761d0ec64f0526c4be88
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 44688 W: 11421 L: 11140 D: 22127
Ptnml(0-2): 1, 4170, 13722, 4449, 2
Passed VVLTC 2nd sprt: https://tests.stockfishchess.org/tests/view/65fa31a30ec64f0526c4f611
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 27450 W: 7057 L: 6778 D: 13615
Ptnml(0-2): 4, 2545, 8346, 2828, 2
STC Elo estimate: https://tests.stockfishchess.org/tests/view/65fd3e540ec64f0526c521ae
Elo: -7.84 ± 1.8 (95%) LOS: 0.0%
Total: 40000 W: 9899 L: 10802 D: 19299
Ptnml(0-2): 203, 5221, 10025, 4378, 173
nElo: -14.91 ± 3.4 (95%) PairsRatio: 0.84
closes https://github.com/official-stockfish/Stockfish/pull/5130
Bench: 1876107
2024-03-22 16:44:06 +01:00
Disservin
7e427639ce
Add cmath header to movepick.h
...
No functional change
2024-03-20 16:36:18 +01:00
Gahtan Nahdi
8e61d70499
Remove reduction increase on repetition
...
Passed non-reg STC:
https://tests.stockfishchess.org/tests/view/65f89ae30ec64f0526c4e0ff
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 173568 W: 45005 L: 44936 D: 83627
Ptnml(0-2): 684, 19878, 45628, 19873, 721
Passed non-reg LTC:
https://tests.stockfishchess.org/tests/view/65fa0f370ec64f0526c4f42d
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 21138 W: 5432 L: 5216 D: 10490
Ptnml(0-2): 13, 2107, 6112, 2325, 12
closes https://github.com/official-stockfish/Stockfish/pull/5123
Bench: 2109005
2024-03-20 16:29:35 +01:00
Gahtan Nahdi
1a6c22c511
Evaluation adjustment for different eval types
...
Gives different eval scaling parameters for the three different types
of evaluation (bignet, smallnet, psqtOnly).
Passed STC:
https://tests.stockfishchess.org/tests/view/65f4b0020ec64f0526c4a3bd
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 168064 W: 43507 L: 42987 D: 81570
Ptnml(0-2): 662, 19871, 42445, 20393, 661
Passed LTC:
https://tests.stockfishchess.org/tests/view/65f6be1a0ec64f0526c4c361
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 162564 W: 41188 L: 40604 D: 80772
Ptnml(0-2): 120, 18112, 44216, 18732, 102
closes https://github.com/official-stockfish/Stockfish/pull/5122
Bench: 2113576
2024-03-20 16:29:35 +01:00
Robert Nurnberg
9b92ada935
Base WDL model on material count and normalize evals dynamically
...
This PR proposes to change the parameter dependence of Stockfish's
internal WDL model from full move counter to material count. In addition
it ensures that an evaluation of 100 centipawns always corresponds to a
50% win probability at fishtest LTC, whereas for master this holds only
at move number 32. See also
https://github.com/official-stockfish/Stockfish/pull/4920 and the
discussion therein.
The new model was fitted based on about 340M positions extracted from
5.6M fishtest LTC games from the last three weeks, involving SF versions
from e67cc979fd
(SF 16.1) to current
master.
The involved commands are for
[WDL_model](https://github.com/official-stockfish/WDL_model ) are:
```
./updateWDL.sh --firstrev e67cc979fd
python scoreWDL.py updateWDL.json --plot save --pgnName update_material.png --momType "material" --momTarget 58 --materialMin 10 --modelFitting optimizeProbability
```
The anchor `58` for the material count value was chosen to be as close
as possible to the observed average material count of fishtest LTC games
at move 32 (`43`), while not changing the value of
`NormalizeToPawnValue` compared to the move-based WDL model by more than
1.
The patch only affects the displayed cp and wdl values.
closes https://github.com/official-stockfish/Stockfish/pull/5121
No functional change
2024-03-20 16:29:35 +01:00
Disservin
117e08c264
Fix header name in Makefile
...
No functional change
2024-03-20 16:29:35 +01:00
Disservin
134e6d7bb4
Consistent use of anonymous namespace
...
Also change `bindThisThread` to match the current code style for function naming.
closes https://github.com/official-stockfish/Stockfish/pull/5118
No functional change
2024-03-20 16:15:37 +01:00
Michael Chaly
ed60460004
Clamp history bonus to stats range
...
Before, one always had to keep track of the bonus one assigns to a history to stop
the stats from overflowing. This is a quality of life improvement. Since this would often go unnoticed during benching.
Passed non-regression bounds:
https://tests.stockfishchess.org/tests/view/65ef2af40ec64f0526c44cbc
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 179232 W: 46513 L: 46450 D: 86269
Ptnml(0-2): 716, 20323, 47452, 20432, 693
closes https://github.com/official-stockfish/Stockfish/pull/5116
No functional change
2024-03-20 16:14:00 +01:00
Disservin
fb07281f55
Fix false positives from ThreadSanitizer
...
Since Linux Kernel 6.5 we are getting false positives from the ci,
lower the ALSR entropy to disable ALSR, which works as a temporary
workaround.
https://github.com/google/sanitizers/issues/1716
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2056762
closes https://github.com/official-stockfish/Stockfish/pull/5115
No functional change
2024-03-14 22:14:11 +01:00
cj5716
abd82396a1
Make effort part of RootMove struct
...
Also includes several small cleanups.
Passed STC:
https://tests.stockfishchess.org/tests/view/65f15cfe0ec64f0526c473a0
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 71136 W: 18456 L: 18273 D: 34407
Ptnml(0-2): 311, 8014, 18708, 8251, 284
closes https://github.com/official-stockfish/Stockfish/pull/5114
No functional change
2024-03-14 22:13:14 +01:00
Lemmy
23493de082
Sudden Death - Improve TM
...
Due to the 50 estimated move horizon, once a sudden death game got below
1 second, the time allocation for optimumTime would go into the negative
and SF would start instamoving.
To counter this, once limits.time is below 1 second, the move horizon
will start decreasing, at a rate of 1 move per 20ms. This was just what
seemed a reasonable rate of decay.
Fishtest sudden death TC 5+0
https://tests.stockfishchess.org/tests/live_elo/65ee2cdf0ec64f0526c43bbb
LLR: 2.99 (-2.94,2.94) <0.00,2.00>
Total: 3348 W: 1070 L: 727 D:1551
Ptnml(0-2): 46, 277, 738, 514, 99
Fishtest SD TC 10+0
https://tests.stockfishchess.org/tests/live_elo/65ee401e0ec64f0526c43cf7
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 3780 W: 1097 L: 808 D: 1875
Ptnml(0-2): 11, 353, 919, 550, 57
Neutral Non-Regression STC 10+0.1
https://tests.stockfishchess.org/tests/live_elo/65ee45ff0ec64f0526c43d68
LLR: 2.95 (-2.94,2.94) <-1.75, 0.25>
Total: 123616 W: 32054 L: 31927 D:59635
Ptnml(0-2): 493, 14323, 32105, 14338, 549
Neutral Non-Regression LTC 60+0.6
https://tests.stockfishchess.org/tests/live_elo/65ef1eec0ec64f0526c44bc4
LLR: 2.95 (-2.94,2.94) <-1.75, 0.25>
Total: 130482 W: 32961 L: 32855 D:64666
Ptnml(0-2): 88, 13412, 38123, 13542, 76
closes https://github.com/official-stockfish/Stockfish/pull/5112
Bench: 2002517
2024-03-14 22:12:53 +01:00
Michael Chaly
ee2ee6bdc4
Give more bonuses to quiet move that caused a fail low
...
Give extra bonus if search result is far below static evaluation of
position.
Passed STC:
https://tests.stockfishchess.org/tests/view/65edf1250ec64f0526c43787
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 90816 W: 23713 L: 23307 D: 43796
Ptnml(0-2): 401, 10725, 22742, 11147, 393
Passed LTC:
https://tests.stockfishchess.org/tests/view/65ef5ed70ec64f0526c450af
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 66618 W: 16950 L: 16565 D: 33103
Ptnml(0-2): 35, 7372, 18139, 7699, 64
closes https://github.com/official-stockfish/Stockfish/pull/5111
Bench: 2002517
2024-03-14 22:08:48 +01:00
Disservin
55df0ee009
Fix Raspberry Pi Compilation
...
Reported by @Torom over discord.
> dev build fails on Raspberry Pi 5 with clang
```
clang++ -o stockfish benchmark.o bitboard.o evaluate.o main.o misc.o movegen.o movepick.o position.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o tbprobe.o nnue_misc.o half_ka_v2_hm.o network.o -fprofile-instr-generate -latomic -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -Wmissing-prototypes -Wconditional-uninitialized -DUSE_PTHREADS -DNDEBUG -O3 -funroll-loops -DIS_64BIT -DUSE_POPCNT -DUSE_NEON=8 -march=armv8.2-a+dotprod -DUSE_NEON_DOTPROD -DGIT_SHA=627974c9 -DGIT_DATE=20240312 -DARCH=armv8-dotprod -flto=full
/tmp/lto-llvm-e9300e.o: in function `_GLOBAL__sub_I_network.cpp':
ld-temp.o:(.text.startup+0x704c): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `gEmbeddedNNUEBigEnd' defined in .rodata section in /tmp/lto-llvm-e9300e.o
/usr/bin/ld: ld-temp.o:(.text.startup+0x704c): warning: one possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined
ld-temp.o:(.text.startup+0x7068): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `gEmbeddedNNUESmallEnd' defined in .rodata section in /tmp/lto-llvm-e9300e.o
/usr/bin/ld: ld-temp.o:(.text.startup+0x7068): warning: one possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Makefile:1051: stockfish] Error 1
make[2]: Leaving directory '/home/torsten/chess/Stockfish_master/src'
make[1]: *** [Makefile:1058: clang-profile-make] Error 2
make[1]: Leaving directory '/home/torsten/chess/Stockfish_master/src'
make: *** [Makefile:886: profile-build] Error 2
```
closes https://github.com/official-stockfish/Stockfish/pull/5106
No functional change
2024-03-12 19:09:50 +01:00
FauziAkram
627974c99f
Search + Eval + Movepick Tune
...
Passed STC:
https://tests.stockfishchess.org/tests/view/65ef15220ec64f0526c44b04
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 24480 W: 6459 L: 6153 D: 11868
Ptnml(0-2): 101, 2798, 6184, 3008, 149
Passed LTC:
https://tests.stockfishchess.org/tests/view/65ef4bac0ec64f0526c44f50
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 53316 W: 13561 L: 13203 D: 26552
Ptnml(0-2): 27, 5925, 14408, 6259, 39
closes https://github.com/official-stockfish/Stockfish/pull/5104
Bench: 1715522
2024-03-12 16:47:11 +01:00
FauziAkram
daa3ef9148
Simplify increaseDepth to boolean expression
...
Non-functional Simplification, maintaining the same logic as before. Big thanks
to @peregrineshahin for helping with the code.
Passed non-regression bounds:
https://tests.stockfishchess.org/tests/view/65ec93860ec64f0526c42375
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 101088 W: 26196 L: 26047 D: 48845
Ptnml(0-2): 405, 11580, 26473, 11633, 453
closes https://github.com/official-stockfish/Stockfish/pull/5103
No functional change
2024-03-12 16:43:10 +01:00
Disservin
1a26d698de
Refactor Network Usage
...
Continuing from PR #4968 , this update improves how Stockfish handles network
usage, making it easier to manage and modify networks in the future.
With the introduction of a dedicated Network class, creating networks has become
straightforward. See uci.cpp:
```cpp
NN::NetworkBig({EvalFileDefaultNameBig, "None", ""}, NN::embeddedNNUEBig)
```
The new `Network` encapsulates all network-related logic, significantly reducing
the complexity previously required to support multiple network types, such as
the distinction between small and big networks #4915 .
Non-Regression STC:
https://tests.stockfishchess.org/tests/view/65edd26c0ec64f0526c43584
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 33760 W: 8887 L: 8661 D: 16212
Ptnml(0-2): 143, 3795, 8808, 3961, 173
Non-Regression SMP STC:
https://tests.stockfishchess.org/tests/view/65ed71970ec64f0526c42fdd
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 59088 W: 15121 L: 14931 D: 29036
Ptnml(0-2): 110, 6640, 15829, 6880, 85
Compiled with `make -j profile-build`
```
bash ./bench_parallel.sh ./stockfish ./stockfish-nnue 13 50
sf_base = 1568540 +/- 7637 (95%)
sf_test = 1573129 +/- 7301 (95%)
diff = 4589 +/- 8720 (95%)
speedup = 0.29260% +/- 0.556% (95%)
```
Compiled with `make -j build`
```
bash ./bench_parallel.sh ./stockfish ./stockfish-nnue 13 50
sf_base = 1472653 +/- 7293 (95%)
sf_test = 1491928 +/- 7661 (95%)
diff = 19275 +/- 7154 (95%)
speedup = 1.30886% +/- 0.486% (95%)
```
closes https://github.com/official-stockfish/Stockfish/pull/5100
No functional change
2024-03-12 16:41:08 +01:00
Gahtan Nahdi
f072634e24
Simplify opponentWorsening condition
...
Passed non-reg STC:
https://tests.stockfishchess.org/tests/view/65ea18650ec64f0526c4033a
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 226624 W: 58601 L: 58589 D: 109434
Ptnml(0-2): 1030, 27193, 56819, 27275, 995
Passed non-reg LTC:
https://tests.stockfishchess.org/tests/view/65eb7a220ec64f0526c4161a
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 243882 W: 61462 L: 61469 D: 120951
Ptnml(0-2): 197, 27559, 66419, 27586, 180
closes https://github.com/official-stockfish/Stockfish/pull/5102
Bench: 1601012
2024-03-11 10:08:40 +01:00
Muzhen Gaming
10e2732978
VVLTC search tune
...
Result of 32k games of tuning at 60+0.6 8-thread. Link to the tuning
attempt:
https://tests.stockfishchess.org/tests/view/65def7b04b19edc854ebdec8
Passed VVLTC first SPRT:
https://tests.stockfishchess.org/tests/view/65e51b53416ecd92c162ab7f
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 37570 W: 9613 L: 9342 D: 18615
Ptnml(0-2): 2, 3454, 11601, 3727, 1
Passed VVLTC second SPRT:
https://tests.stockfishchess.org/tests/view/65e87d1c0ec64f0526c3eb39
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 123158 W: 31463 L: 31006 D: 60689
Ptnml(0-2): 5, 11589, 37935, 12044, 6
Note: The small net and psqt-only thresholds have been moved to
evaluate.h. The reasoning is that these values are used in both
`evaluate.cpp` and `evaluate_nnue.cpp`, and thus unifying their usage
avoids inconsistencies during testing, where one occurrence is changed
without the other (this happened during the search tune SPRT).
closes https://github.com/official-stockfish/Stockfish/pull/5101
Bench: 1741218
2024-03-11 10:04:37 +01:00
Disservin
b6dfd6bd54
Assorted cleanups
...
- fix naming convention for `workingDirectory`
- use type alias for `EvalFiles` everywhere
- move `ponderMode` into `LimitsType`
- move limits parsing into standalone static function
closes https://github.com/official-stockfish/Stockfish/pull/5098
No functional change
2024-03-11 09:02:13 +01:00
Robert Nurnberg @ elitebook
632f1c21cd
Fix wrong constant usage in go mate
...
Fixes an oversight in https://github.com/official-stockfish/Stockfish/pull/5094
In theory, master could stop search when run with `go mate 247` and return a TB loss (not a mate score). Also fixes the spelling of opponenWorsening.
closes https://github.com/official-stockfish/Stockfish/pull/5096
No functional change
2024-03-07 21:10:33 +01:00
Muzhen Gaming
0f01a516d2
VLTC time management tune
...
Result of 35k games of SPSA tuning at 180+1.8. Tuning attempt can be
found here:
https://tests.stockfishchess.org/tests/view/65e40599f2ef6c733362b03b
Passed VLTC 180+1.8:
https://tests.stockfishchess.org/tests/view/65e5a6f5416ecd92c162b5d4
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 31950 W: 8225 L: 7949 D: 15776
Ptnml(0-2): 3, 3195, 9309, 3459, 9
Passed VLTC 240+2.4:
https://tests.stockfishchess.org/tests/view/65e714de0ec64f0526c3d1f1
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 65108 W: 16558 L: 16202 D: 32348
Ptnml(0-2): 7, 6366, 19449, 6728, 4
closes https://github.com/official-stockfish/Stockfish/pull/5095
Bench: 1714391
2024-03-07 20:08:00 +01:00
Shahin M. Shahin
748791f80d
Fix go mate x
in multithreading
...
Fixes two issues with master for go mate x:
- when running go mate x in losing positions, master always goes to the
maximal depth, arguably against what the UCI protocol demands
- when running go mate x in winning positions with multiple
threads, master may return non-mate scores from the search (this issue
is present in stockfish since at least sf16) The issues are fixed by
(a) also checking if score is mate -x and by (b) only letting
mainthread stop the search for go mate x commands, and by not looking
for a best thread but using mainthread as per the default. Related:
niklasf/python-chess#1070
More diagnostics can be found here peregrineshahin#6 (comment)
closes https://github.com/official-stockfish/Stockfish/pull/5094
No functional change
Co-Authored-By: Robert Nürnberg <28635489+robertnurnberg@users.noreply.github.com>
2024-03-07 19:58:33 +01:00
Michael Chaly
6136d094c5
Introduce double extensions for PV nodes
...
Our double/triple extensions were allowed only for non-pv nodes. This
patch allows them to be done for PV nodes, with some stricter
conditions.
Passed STC:
https://tests.stockfishchess.org/tests/view/65d657ec1d8e83c78bfddab8
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 339424 W: 88097 L: 87318 D: 164009
Ptnml(0-2): 1573, 39935, 85729, 41090, 1385
Passed LTC:
https://tests.stockfishchess.org/tests/view/65dd63824b19edc854ebc433
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 459564 W: 115812 L: 114614 D: 229138
Ptnml(0-2): 248, 51441, 125173, 52705, 215
closes https://github.com/official-stockfish/Stockfish/pull/5093
Bench: 1714391
2024-03-07 19:56:30 +01:00