Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Mon Mar 28 22:37:09 2022 +0200 Timestamp: 1648499829 In movepicker increase priority for moves that evade a capture This idea is a mix of koivisto idea of threat history and heuristic that was simplified some time ago in LMR - decreasing reduction for moves that evade a capture. Instead of doing so in LMR this patch does it in movepicker - to do this it calculates squares that are attacked by different piece types and pieces that are located on this squares and boosts up weight of moves that make this pieces land on a square that is not under threat. Boost is greater for pieces with bigger material values. Special thanks to koivisto and seer authors for explaining me ideas behind threat history. Passed STC: https://tests.stockfishchess.org/tests/view/62406e473b32264b9aa1478b LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 19816 W: 5320 L: 5072 D: 9424 Elo +4.35 Ptnml(0-2): 86, 2165, 5172, 2385, 100 Passed LTC: https://tests.stockfishchess.org/tests/view/62407f2e3b32264b9aa149c8 LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 51200 W: 13805 L: 13500 D: 23895 Elo +2.07 Ptnml(0-2): 44, 5023, 15164, 5322, 47 closes https://github.com/official-stockfish/Stockfish/pull/3970 bench 7736491 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Giacomo Lorenzetti
Date: Fri Mar 25 20:14:00 2022 +0100 Timestamp: 1648235640 Remove pos.capture_or_promotion() This patch replaces `pos.capture_or_promotion()` with `pos.capture()` and comes after a few attempts with elo-gaining bounds, two of which failed yellow at LTC (https://tests.stockfishchess.org/tests/view/622f8f0cc9e950cbfc237024 and https://tests.stockfishchess.org/tests/view/62319a8bb3b498ba71a6b2dc). Passed non-regression STC: https://tests.stockfishchess.org/tests/view/623aff7eea447151c74828d3 LLR: 2.94 (-2.94,2.94) <-2.25,0.25> Total: 246864 W: 65462 L: 65618 D: 115784 Elo -0.22 Ptnml(0-2): 1201, 28116, 65001, 27866, 1248 Passed non-regression LTC: https://tests.stockfishchess.org/tests/view/623c1fdcea447151c7484fb0 LLR: 2.94 (-2.94,2.94) <-2.25,0.25> Total: 30120 W: 8125 L: 7978 D: 14017 Elo +1.70 Ptnml(0-2): 22, 2993, 8881, 3144, 20 closes https://github.com/official-stockfish/Stockfish/pull/3968 Bench: 6847732 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Stefan Geschwentner
Date: Sat Mar 19 13:40:35 2022 +0100 Timestamp: 1647693635 Remove ttPv tree shrinking. Via the ttPv flag an implicit tree of current and former PV nodes is maintained. In addition this tree is grown or shrinked at the leafs dependant on the search results. But now the shrinking step has been removed. As the frequency of ttPv nodes decreases with depth the shown scaling behavior (STC barely passed but LTC scales well) of the tests was expected. STC: LLR: 2.93 (-2.94,2.94) <-2.25,0.25> Total: 270408 W: 71593 L: 71785 D: 127030 Elo -0.25 Ptnml(0-2): 1339, 31024, 70630, 30912, 1299 https://tests.stockfishchess.org/tests/view/622fbf9dc9e950cbfc2376d6 LTC: LLR: 2.96 (-2.94,2.94) <-2.25,0.25> Total: 34368 W: 9135 L: 8992 D: 16241 Elo +1.45 Ptnml(0-2): 28, 3423, 10135, 3574, 24 https://tests.stockfishchess.org/tests/view/62305257c9e950cbfc238964 closes https://github.com/official-stockfish/Stockfish/pull/3963 Bench: 7044203 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: mstembera
Date: Sun Mar 13 08:17:02 2022 +0100 Timestamp: 1647155822 Small cleanups (2) - fix a small compile error under MSVC - improve sigmoid comment and assert - fix formatting in README.md closes https://github.com/official-stockfish/Stockfish/pull/3960 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Giacomo Lorenzetti
Date: Sat Mar 12 09:38:34 2022 +0100 Timestamp: 1647074314 Small cleanups Delete cast to int in movepick. update AUTHORS. adjust assert in sigmoid. fix spelling mistakes in README closes https://github.com/official-stockfish/Stockfish/pull/3922 closes https://github.com/official-stockfish/Stockfish/pull/3948 closes https://github.com/official-stockfish/Stockfish/pull/3942 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: FauziAkram
Date: Sat Mar 12 09:25:58 2022 +0100 Timestamp: 1647073558 Improvements in Evaluation adjust parameters in classical evaluation and NNUE scaling. STC: LLR: 2.95 (-2.94,2.94) <0.00,2.50> Total: 37104 W: 9983 L: 9701 D: 17420 Elo +2.64 Ptnml(0-2): 154, 4187, 9651, 4343, 217 https://tests.stockfishchess.org/tests/view/6228cb13a9d47c8160e885ba LTC: LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 266792 W: 71101 L: 70295 D: 125396 Elo +1.05 Ptnml(0-2): 214, 26928, 78353, 27640, 261 https://tests.stockfishchess.org/tests/view/6228d3c4a9d47c8160e887b0 closes https://github.com/official-stockfish/Stockfish/pull/3958 Bench: 6739741 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Tue Mar 8 20:19:42 2022 +0100 Timestamp: 1646767182 Decrease reductions in Lmr for some Pv nodes This patch makes us reduce less in Lmr at pv nodes in case of static eval being far away from static evaluation of position. Idea is that if it's the case then probably position is pretty complex so we can't be sure about how reliable LMR is so we need to reduce less. Passed STC: https://tests.stockfishchess.org/tests/view/6226276aa9d47c8160e81220 LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 262696 W: 69944 L: 69239 D: 123513 Elo +0.93 Ptnml(0-2): 1399, 29702, 68436, 30417, 1394 Passed LTC: https://tests.stockfishchess.org/tests/view/6226b002a9d47c8160e82b91 LLR: 2.95 (-2.94,2.94) <0.50,3.00> Total: 64008 W: 17320 L: 16982 D: 29706 Elo +1.83 Ptnml(0-2): 60, 6378, 18811, 6674, 81 closes https://github.com/official-stockfish/Stockfish/pull/3957 bench 6678390 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Ben Chaney
Date: Wed Mar 2 23:39:08 2022 +0100 Timestamp: 1646260748 Generalize the feature transform to use vec_t macros This commit generalizes the feature transform to use vec_t macros that are architecture defined instead of using a seperate code path for each one. It should make some old architectures (MMX, including improvements by Fanael) faster and make further such improvements easier in the future. Includes some corrections to CI for mingw. closes https://github.com/official-stockfish/Stockfish/pull/3955 closes https://github.com/official-stockfish/Stockfish/pull/3928 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Giacomo Lorenzetti
Date: Tue Mar 1 17:51:37 2022 +0100 Timestamp: 1646153497 Sort captures This patch (partially) sort captures in analogy to quiet moves. All three movepickers are affected, hence `depth` is added as an argument in probcut's. Passed STC: https://tests.stockfishchess.org/tests/view/621a4576da649bba32ef6fd4 LLR: 2.95 (-2.94,2.94) <0.00,2.50> Total: 103848 W: 27884 L: 27473 D: 48491 Elo +1.38 Ptnml(0-2): 587, 11691, 26974, 12068, 604 Passed LTC: https://tests.stockfishchess.org/tests/view/621aaa5bda649bba32ef7c2d LLR: 2.96 (-2.94,2.94) <0.50,3.00> Total: 212032 W: 56420 L: 55739 D: 99873 Elo +1.12 Ptnml(0-2): 198, 21310, 62348, 21933, 227 closes https://github.com/official-stockfish/Stockfish/pull/3952 Bench: 6833580 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Tomasz Sobczyk
Date: Tue Mar 1 17:51:02 2022 +0100 Timestamp: 1646153462 Use dynamic allocation for evaluation scratch TLS buffer. fixes #3946 an issue related with the toolchain as found in xcode 12 on macOS, related to previous commit 5f781d36. closes https://github.com/official-stockfish/Stockfish/pull/3950 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: mstembera
Date: Fri Feb 25 08:37:57 2022 +0100 Timestamp: 1645774677 Clean up and simplify some nnue code. Remove some unnecessary code and it's execution during inference. Also the change on line 49 in nnue_architecture.h results in a more efficient SIMD code path through ClippedReLU::propagate(). passed STC: https://tests.stockfishchess.org/tests/view/6217d3bfda649bba32ef25d5 LLR: 2.94 (-2.94,2.94) <-2.25,0.25> Total: 12056 W: 3281 L: 3092 D: 5683 Elo +5.45 Ptnml(0-2): 55, 1213, 3312, 1384, 64 passed STC SMP: https://tests.stockfishchess.org/tests/view/6217f344da649bba32ef295e LLR: 2.94 (-2.94,2.94) <-2.25,0.25> Total: 27376 W: 7295 L: 7137 D: 12944 Elo +2.01 Ptnml(0-2): 52, 2859, 7715, 3003, 59 closes https://github.com/official-stockfish/Stockfish/pull/3944 No functional change bench: 6820724 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Sun Feb 20 23:01:22 2022 +0100 Timestamp: 1645394482 Adjust usage of LMR for 2nd move in move ordering Current master prohibits usage of LMR for 2nd move at rootNode. This patch also disables LMR for 2nd move not only at rootNode but also at first PvNode that is a reply to rootNode. passed STC: https://tests.stockfishchess.org/tests/view/620e8c9026f5b17ec885143a LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 54096 W: 14305 L: 13996 D: 25795 Elo +1.98 Ptnml(0-2): 209, 6075, 14192, 6342, 230 passed LTC: https://tests.stockfishchess.org/tests/view/620eb327b1792e8985f81fb8 LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 110864 W: 29602 L: 29156 D: 52106 Elo +1.40 Ptnml(0-2): 112, 11147, 32455, 11619, 99 closes https://github.com/official-stockfish/Stockfish/pull/3940 bench 6820724 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Joost VandeVondele
Date: Sun Feb 20 22:59:19 2022 +0100 Timestamp: 1645394359 Fix clang warning on unused variable mark variable as used. fixes https://github.com/official-stockfish/Stockfish/issues/3900 closes https://github.com/official-stockfish/Stockfish/pull/3941 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: ppigazzini
Date: Sun Feb 20 22:56:11 2022 +0100 Timestamp: 1645394171 Add ARM NDK to Github Actions matrix - set the variable only for the required tests to keep simple the yml file - use NDK 21.x until will be fixed the Stockfish static build problem with NDK 23.x - set the test for armv7, armv7-neon, armv8 builds: - use armv7a-linux-androideabi21-clang++ compiler for armv7 armv7-neon - enforce a static build - silence the Warning for the unused compilation flag "-pie" with the static build, otherwise the Github workflow stops - use qemu to bench the build and get the signature Many thanks to @pschneider1968 that made all the hard work with NDK :) closes https://github.com/official-stockfish/Stockfish/pull/3924 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Thu Feb 17 20:45:21 2022 +0100 Timestamp: 1645127121 Tune search at very long time control This patch is a result of tuning done by user @candirufish after 150k games. Since the tuned values were really interesting and touched heuristics that are known for their non-linear scaling I decided to run limited games LTC match, even if the STC test was really bad (which was expected). After seeing the results of the LTC match, I also run a VLTC (very long time control) SPRTtest, which passed. The main difference is in extensions: this patch allows much more singular/double extensions, both in terms of allowing them at lower depths and with lesser margins. Failed STC: https://tests.stockfishchess.org/tests/view/620d66643ec80158c0cd3b46 LLR: -2.94 (-2.94,2.94) <0.00,2.50> Total: 4968 W: 1194 L: 1398 D: 2376 Elo -14.27 Ptnml(0-2): 47, 633, 1294, 497, 13 Performed well at LTC in a fixed-length match: https://tests.stockfishchess.org/tests/view/620d66823ec80158c0cd3b4a ELO: 3.36 +-1.8 (95%) LOS: 100.0% Total: 30000 W: 7966 L: 7676 D: 14358 Elo +3.36 Ptnml(0-2): 36, 2936, 8755, 3248, 25 Passed VLTC SPRT test: https://tests.stockfishchess.org/tests/view/620da11a26f5b17ec884f939 LLR: 2.96 (-2.94,2.94) <0.50,3.00> Total: 4400 W: 1326 L: 1127 D: 1947 Elo +15.72 Ptnml(0-2): 13, 309, 1348, 526, 4 closes https://github.com/official-stockfish/Stockfish/pull/3937 Bench: 6318903 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Sun Feb 13 01:05:27 2022 +0100 Timestamp: 1644710727 Big search tuning (version 2) One more tuning - this one includes newly introduced heuristics and some other parameters that were not included in previous one. Result of 400k games at 20+0.2 "as is". Tuning is continuing since there is probably a lot more elo to gain. STC: https://tests.stockfishchess.org/tests/view/620782edd71106ed12a497d1 LLR: 2.99 (-2.94,2.94) <0.00,2.50> Total: 38504 W: 10260 L: 9978 D: 18266 Elo +2.54 Ptnml(0-2): 142, 4249, 10230, 4447, 184 LTC: https://tests.stockfishchess.org/tests/view/6207a243d71106ed12a49d07 LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 25176 W: 6793 L: 6546 D: 11837 Elo +3.41 Ptnml(0-2): 20, 2472, 7360, 2713, 23 closes https://github.com/official-stockfish/Stockfish/pull/3931 Bench: 4784796 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Tomasz Sobczyk
Date: Thu Feb 10 19:54:31 2022 +0100 Timestamp: 1644519271 Update architecture to "SFNNv4". Update network to nn-6877cd24400e.nnue. Architecture: The diagram of the "SFNNv4" architecture: https://user-images.githubusercontent.com/8037982/153455685-cbe3a038-e158-4481-844d-9d5fccf5c33a.png The most important architectural changes are the following: * 1024x2 [activated] neurons are pairwise, elementwise multiplied (not quite pairwise due to implementation details, see diagram), which introduces a non-linearity that exhibits similar benefits to previously tested sigmoid activation (quantmoid4), while being slightly faster. * The following layer has therefore 2x less inputs, which we compensate by having 2 more outputs. It is possible that reducing the number of outputs might be beneficial (as we had it as low as 8 before). The layer is now 1024->16. * The 16 outputs are split into 15 and 1. The 1-wide output is added to the network output (after some necessary scaling due to quantization differences). The 15-wide is activated and follows the usual path through a set of linear layers. The additional 1-wide output is at least neutral, but has shown a slightly positive trend in training compared to networks without it (all 16 outputs through the usual path), and allows possibly an additional stage of lazy evaluation to be introduced in the future. Additionally, the inference code was rewritten and no longer uses a recursive implementation. This was necessitated by the splitting of the 16-wide intermediate result into two, which was impossible to do with the old implementation with ugly hacks. This is hopefully overall for the better. First session: The first session was training a network from scratch (random initialization). The exact trainer used was slightly different (older) from the one used in the second session, but it should not have a measurable effect. The purpose of this session is to establish a strong network base for the second session. Small deviations in strength do not harm the learnability in the second session. The training was done using the following command: python3 train.py \ /home/sopel/nnue/nnue-pytorch-training/data/nodes5000pv2_UHO.binpack \ /home/sopel/nnue/nnue-pytorch-training/data/nodes5000pv2_UHO.binpack \ --gpus "$3," \ --threads 4 \ --num-workers 4 \ --batch-size 16384 \ --progress_bar_refresh_rate 20 \ --random-fen-skipping 3 \ --features=HalfKAv2_hm^ \ --lambda=1.0 \ --gamma=0.992 \ --lr=8.75e-4 \ --max_epochs=400 \ --default_root_dir ../nnue-pytorch-training/experiment_$1/run_$2 Every 20th net was saved and its playing strength measured against some baseline at 25k nodes per move with pure NNUE evaluation (modified binary). The exact setup is not important as long as it's consistent. The purpose is to sift good candidates from bad ones. The dataset can be found https://drive.google.com/file/d/1UQdZN_LWQ265spwTBwDKo0t1WjSJKvWY/view Second session: The second training session was done starting from the best network (as determined by strength testing) from the first session. It is important that it's resumed from a .pt model and NOT a .ckpt model. The conversion can be performed directly using serialize.py The LR schedule was modified to use gamma=0.995 instead of gamma=0.992 and LR=4.375e-4 instead of LR=8.75e-4 to flatten the LR curve and allow for longer training. The training was then running for 800 epochs instead of 400 (though it's possibly mostly noise after around epoch 600). The training was done using the following command: The training was done using the following command: python3 train.py \ /data/sopel/nnue/nnue-pytorch-training/data/T60T70wIsRightFarseerT60T74T75T76.binpack \ /data/sopel/nnue/nnue-pytorch-training/data/T60T70wIsRightFarseerT60T74T75T76.binpack \ --gpus "$3," \ --threads 4 \ --num-workers 4 \ --batch-size 16384 \ --progress_bar_refresh_rate 20 \ --random-fen-skipping 3 \ --features=HalfKAv2_hm^ \ --lambda=1.0 \ --gamma=0.995 \ --lr=4.375e-4 \ --max_epochs=800 \ --resume-from-model /data/sopel/nnue/nnue-pytorch-training/data/exp295/nn-epoch399.pt \ --default_root_dir ../nnue-pytorch-training/experiment_$1/run_$run_id In particular note that we now use lambda=1.0 instead of lambda=0.8 (previous nets), because tests show that WDL-skipping introduced by vondele performs better with lambda=1.0. Nets were being saved every 20th epoch. In total 16 runs were made with these settings and the best nets chosen according to playing strength at 25k nodes per move with pure NNUE evaluation - these are the 4 nets that have been put on fishtest. The dataset can be found either at ftp://ftp.chessdb.cn/pub/sopel/data_sf/T60T70wIsRightFarseerT60T74T75T76.binpack in its entirety (download might be painfully slow because hosted in China) or can be assembled in the following way: Get the https://github.com/official-stockfish/Stockfish/blob/5640ad48ae5881223b868362c1cbeb042947f7b4/script/interleave_binpacks.py script. Download T60T70wIsRightFarseer.binpack https://drive.google.com/file/d/1_sQoWBl31WAxNXma2v45004CIVltytP8/view Download farseerT74.binpack http://trainingdata.farseer.org/T74-May13-End.7z Download farseerT75.binpack http://trainingdata.farseer.org/T75-June3rd-End.7z Download farseerT76.binpack http://trainingdata.farseer.org/T76-Nov10th-End.7z Run python3 interleave_binpacks.py T60T70wIsRightFarseer.binpack farseerT74.binpack farseerT75.binpack farseerT76.binpack T60T70wIsRightFarseerT60T74T75T76.binpack Tests: STC: https://tests.stockfishchess.org/tests/view/6203fb85d71106ed12a407b7 LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 16952 W: 4775 L: 4521 D: 7656 Elo +5.21 Ptnml(0-2): 133, 1818, 4318, 2076, 131 LTC: https://tests.stockfishchess.org/tests/view/62041e68d71106ed12a40e85 LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 14944 W: 4138 L: 3907 D: 6899 Elo +5.37 Ptnml(0-2): 21, 1499, 4202, 1728, 22 closes https://github.com/official-stockfish/Stockfish/pull/3927 Bench: 4919707 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Wed Feb 9 17:17:00 2022 +0100 Timestamp: 1644423420 Big search tuning Most credits for this patch should go to @candirufish. Based on his big search tuning (1M games at 20+0.1s) https://tests.stockfishchess.org/tests/view/61fc7a6ed508ec6a1c9f4b7d with some hand polishing on top of it, which includes : a) correcting trend sigmoid - for some reason original tuning resulted in it being negative. This heuristic was proven to be worth some elo for years so reversing it sign is probably some random artefact; b) remove changes to continuation history based pruning - this heuristic historically was really good at providing green STCs and then failing at LTC miserably if we tried to make it more strict, original tuning was done at short time control and thus it became more strict - which doesn't scale to longer time controls; c) remove changes to improvement - not really indended :). passed STC https://tests.stockfishchess.org/tests/view/6203526e88ae2c84271c2ee2 LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 16840 W: 4604 L: 4363 D: 7873 Elo +4.97 Ptnml(0-2): 82, 1780, 4449, 2033, 76 passed LTC https://tests.stockfishchess.org/tests/view/620376e888ae2c84271c35d4 LLR: 2.96 (-2.94,2.94) <0.50,3.00> Total: 17232 W: 4771 L: 4542 D: 7919 Elo +4.62 Ptnml(0-2): 14, 1655, 5048, 1886, 13 closes https://github.com/official-stockfish/Stockfish/pull/3926 bench 5030992 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Mon Feb 7 17:30:35 2022 +0100 Timestamp: 1644251435 Do less depth reduction in null move pruning for complex positions This patch makes us reduce less depth in null move pruning if complexity is high enough. Thus, null move pruning now depends in two distinct ways on complexity, while being the only search heuristic that exploits complexity so far. passed STC https://tests.stockfishchess.org/tests/view/61fde60fd508ec6a1c9f7754 LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 170000 W: 45555 L: 45027 D: 79418 Elo +1.08 Ptnml(0-2): 760, 19352, 44359, 19658, 871 passed LTC https://tests.stockfishchess.org/tests/view/61fe91febf46cb834cbd5c90 LLR: 2.96 (-2.94,2.94) <0.50,3.00> Total: 145272 W: 39182 L: 38651 D: 67439 Elo +1.27 Ptnml(0-2): 127, 14864, 42157, 15327, 161 closes https://github.com/official-stockfish/Stockfish/pull/3923 bench 4461945 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Sat Feb 5 07:40:21 2022 +0100 Timestamp: 1644043221 Reintroduce razoring Razoring was simplified away some years ago, this patch reintroduces it in a slightly different form. Now for low depths if eval is far below alpha we check if qsearch can push it above alpha - and if it can't we return a fail low. passed STC https://tests.stockfishchess.org/tests/view/61fbf968d508ec6a1c9f3274 LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 226120 W: 61106 L: 60472 D: 104542 Elo +0.97 Ptnml(0-2): 1118, 25592, 59080, 26078, 1192 passed LTC https://tests.stockfishchess.org/tests/view/61fcc569d508ec6a1c9f5617 LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 113128 W: 30851 L: 30397 D: 51880 Elo +1.39 Ptnml(0-2): 114, 11483, 32926, 11917, 124 closes https://github.com/official-stockfish/Stockfish/pull/3921 bench 4684080 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Sat Feb 5 07:38:30 2022 +0100 Timestamp: 1644043110 Introduce movecount pruning for quiet check evasions in qsearch Idea of this patch is that we usually don't consider quiet check evasions as "good" ones and prefer capture based ones instead. So it makes sense to think that if in qsearch 2 quiet check evasions failed to produce anything good 3rd and further ones wouldn't be good either. passed STC https://tests.stockfishchess.org/tests/view/61fc1b1ed508ec6a1c9f397c LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 58800 W: 15947 L: 15626 D: 27227 Elo +1.90 Ptnml(0-2): 273, 6568, 15462, 6759, 338 passed LTC https://tests.stockfishchess.org/tests/view/61fcc56dd508ec6a1c9f5619 LLR: 2.95 (-2.94,2.94) <0.50,3.00> Total: 89544 W: 24208 L: 23810 D: 41526 Elo +1.54 Ptnml(0-2): 81, 9038, 26134, 9440, 79 closes https://github.com/official-stockfish/Stockfish/pull/3920 bench 4830082 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: ppigazzini
Date: Sat Feb 5 07:33:34 2022 +0100 Timestamp: 1644042814 Drop sse from target "x86-32" have maximal compatibility on legacy target arch, now supporting AMD Athlon The old behavior can anyway be selected by the user if needed, for example make -j profile-build ARCH=x86-32 sse=yes fixes #3904 closes https://github.com/official-stockfish/Stockfish/pull/3918 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Sat Feb 5 07:30:09 2022 +0100 Timestamp: 1644042609 Cleanup and update CPU contributors closes https://github.com/official-stockfish/Stockfish/pull/3917 No functional change see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Sat Jan 29 08:58:12 2022 +0100 Timestamp: 1643443092 Do stats updates after LMR for captures Since captures that are in LMR use continuation histories of corresponding quiet moves it makes sense to update this histories if this capture passes LMR by analogy to existing logic for quiet moves. Passed STC https://tests.stockfishchess.org/tests/view/61f367eef7fba9f1a4f1318b LLR: 2.94 (-2.94,2.94) <0.00,2.50> Total: 208464 W: 56006 L: 55407 D: 97051 Elo +1.00 Ptnml(0-2): 964, 23588, 54655, 23935, 1090 Passed LTC https://tests.stockfishchess.org/tests/view/61f41e34f7fba9f1a4f15241 LLR: 2.96 (-2.94,2.94) <0.50,3.00> Total: 69144 W: 18793 L: 18441 D: 31910 Elo +1.77 Ptnml(0-2): 65, 6982, 20142, 7302, 81 closes https://github.com/official-stockfish/Stockfish/pull/3910 bench 4637392 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Tue Jan 25 07:27:52 2022 +0100 Timestamp: 1643092072 Scale child node futility pruning with previous move history. Idea is to do more futility pruning if previous move has bad histories and less if it has good histories. passed STC https://tests.stockfishchess.org/tests/view/61e3757fbabab931824e0db7 LLR: 2.96 (-2.94,2.94) <0.00,2.50> Total: 156816 W: 42282 L: 41777 D: 72757 Elo +1.12 Ptnml(0-2): 737, 17775, 40913, 18212, 771 passed LTC https://tests.stockfishchess.org/tests/view/61e43496928632f7813a5535 LLR: 2.95 (-2.94,2.94) <0.50,3.00> Total: 349968 W: 94612 L: 93604 D: 161752 Elo +1.00 Ptnml(0-2): 300, 35934, 101550, 36858, 342 closes https://github.com/official-stockfish/Stockfish/pull/3903 bench 4720954 see source |