From d07033d5da9c4e1a383f8be45bd9be43ce7b2f95 Mon Sep 17 00:00:00 2001 From: Disservin Date: Sat, 24 Feb 2024 11:56:33 +0100 Subject: [PATCH 1/4] Expose EvalFileSmall option for small net Since https://github.com/official-stockfish/fishtest/pull/1870 has been merged it's time for this update. 5k Fixed Games showed no problems. https://tests.stockfishchess.org/tests/view/65d9cc274c0e22b904f574d7 closes https://github.com/official-stockfish/Stockfish/pull/5068 No functional change --- src/evaluate.cpp | 13 +++---------- src/uci.cpp | 3 +++ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index da0867660af..f22c0d06cbe 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -77,11 +77,7 @@ NNUE::EvalFiles NNUE::load_networks(const std::string& rootDirectory, for (auto& [netSize, evalFile] : evalFiles) { - // Replace with - // options[evalFile.optionName] - // once fishtest supports the uci option EvalFileSmall - std::string user_eval_file = - netSize == Small ? evalFile.defaultName : options[evalFile.optionName]; + std::string user_eval_file = options[evalFile.optionName]; if (user_eval_file.empty()) user_eval_file = evalFile.defaultName; @@ -149,11 +145,8 @@ void NNUE::verify(const OptionsMap& optio for (const auto& [netSize, evalFile] : evalFiles) { - // Replace with - // options[evalFile.optionName] - // once fishtest supports the uci option EvalFileSmall - std::string user_eval_file = - netSize == Small ? evalFile.defaultName : options[evalFile.optionName]; + std::string user_eval_file = options[evalFile.optionName]; + if (user_eval_file.empty()) user_eval_file = evalFile.defaultName; diff --git a/src/uci.cpp b/src/uci.cpp index d1d69d69752..35f725b5e89 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -83,6 +83,9 @@ UCI::UCI(int argc, char** argv) : options["EvalFile"] << Option(EvalFileDefaultNameBig, [this](const Option&) { evalFiles = Eval::NNUE::load_networks(cli.binaryDirectory, options, evalFiles); }); + options["EvalFileSmall"] << Option(EvalFileDefaultNameSmall, [this](const Option&) { + evalFiles = Eval::NNUE::load_networks(cli.binaryDirectory, options, evalFiles); + }); threads.set({options, threads, tt}); From bec83a1869ae6d1bbcfc7d82d569e12823b03bfa Mon Sep 17 00:00:00 2001 From: Disservin Date: Sat, 24 Feb 2024 17:54:06 +0100 Subject: [PATCH 2/4] Update Top CPU Contributors closes https://github.com/official-stockfish/Stockfish/pull/5069 No functional change --- Top CPU Contributors.txt | 189 +++++++++++++++++++++------------------ 1 file changed, 104 insertions(+), 85 deletions(-) diff --git a/Top CPU Contributors.txt b/Top CPU Contributors.txt index 74c471b7404..11636e840b5 100644 --- a/Top CPU Contributors.txt +++ b/Top CPU Contributors.txt @@ -1,139 +1,146 @@ -Contributors to Fishtest with >10,000 CPU hours, as of 2023-06-20. +Contributors to Fishtest with >10,000 CPU hours, as of 2024-02-24. Thank you! Username CPU Hours Games played ------------------------------------------------------------------ -noobpwnftw 37457426 2850540907 -technologov 14135647 742892808 -linrock 4423514 303254809 +noobpwnftw 39302472 3055513453 +technologov 20845762 994893444 +linrock 8616428 560281417 mlang 3026000 200065824 +okrout 2332151 222639518 +pemo 1800019 60274069 dew 1689162 100033738 -okrout 1578136 148855886 -pemo 1508508 48814305 -grandphish2 1461406 91540343 -TueRens 1194790 70400852 -JojoM 947612 61773190 +TueRens 1474943 75121774 +grandphish2 1463002 91616949 +JojoM 1109702 72927902 +olafm 978631 71037944 +sebastronomy 939955 44920556 tvijlbrief 796125 51897690 -sebastronomy 742434 38218524 +gvreuls 711320 49142318 mibere 703840 46867607 -gvreuls 651026 42988582 -oz 543438 39314736 -cw 517858 34869755 +oz 646268 46293638 +rpngn 572571 38928563 +leszek 531858 39316505 +cw 518116 34894291 fastgm 503862 30260818 -leszek 467278 33514883 -CSU_Dynasty 464940 31177118 -ctoks 434416 28506889 -crunchy 427035 27344275 -maximmasiutin 424795 26577722 -bcross 415722 29060963 -olafm 395922 32268020 -rpngn 348378 24560289 -velislav 342567 22138992 +CSU_Dynasty 468784 31385034 +ctoks 434591 28520597 +maximmasiutin 429983 27066286 +crunchy 427414 27371625 +bcross 415724 29061187 +velislav 342588 22140902 +mgrabiak 338763 23999170 Fisherman 327231 21829379 -mgrabiak 300612 20608380 +robal 299836 20213182 Dantist 296386 18031762 -nordlandia 246201 16189678 -robal 241300 15656382 +ncfish1 267604 17881149 +nordlandia 249322 16420192 marrco 234581 17714473 -ncfish1 227517 15233777 +tolkki963 233490 19773930 glinscott 208125 13277240 drabel 204167 13930674 mhoram 202894 12601997 bking_US 198894 11876016 +Calis007 188631 12795784 Thanar 179852 12365359 +Fifis 176209 10638245 vdv 175544 9904472 spams 157128 10319326 +DesolatedDodo 156659 10210328 +armo9494 155355 10566898 sqrt2 147963 9724586 -DesolatedDodo 146350 9536172 -Calis007 143165 9478764 -vdbergh 138650 9064413 +jcAEie 140086 10603658 +vdbergh 139746 9172061 CoffeeOne 137100 5024116 -armo9494 136191 9460264 malala 136182 8002293 xoto 133759 9159372 davar 129023 8376525 DMBK 122960 8980062 dsmith 122059 7570238 +javran 121564 10144656 amicic 119661 7938029 +sschnee 118107 7389266 +Wolfgang 114616 8070494 Data 113305 8220352 BrunoBanani 112960 7436849 +Wencey 111502 5991676 +cuistot 108503 7006992 CypressChess 108331 7759788 skiminki 107583 7218170 -jcAEie 105675 8238962 MaZePallas 102823 6633619 sterni1971 100532 5880772 sunu 100167 7040199 zeryl 99331 6221261 -thirdlife 99124 2242380 +thirdlife 99156 2245320 ElbertoOne 99028 7023771 -cuistot 98853 6069816 +Dubslow 98600 6903242 +markkulix 97010 7643900 bigpen0r 94809 6529203 brabos 92118 6186135 -Wolfgang 91939 6105872 +Maxim 90818 3283364 psk 89957 5984901 -sschnee 88235 5268000 +megaman7de 88822 6052132 racerschmacer 85805 6122790 -Fifis 85722 5709729 -Dubslow 84986 6042456 +maposora 85710 7778146 Vizvezdenec 83761 5344740 0x3C33 82614 5271253 BRAVONE 81239 5054681 nssy 76497 5259388 jromang 76106 5236025 teddybaer 75125 5407666 -tolkki963 74762 5149662 -megaman7de 74351 4940352 -Wencey 74181 4711488 Pking_cda 73776 5293873 -yurikvelo 73150 5004382 -markkulix 72607 5304642 +yurikvelo 73516 5036928 +MarcusTullius 71053 4803477 Bobo1239 70579 4794999 solarlight 70517 5028306 dv8silencer 70287 3883992 +Spprtr 69646 4806763 +Mineta 66325 4537742 manap 66273 4121774 +szupaw 65468 5669742 tinker 64333 4268790 qurashee 61208 3429862 -Mineta 59357 4418202 -Spprtr 58723 3911011 -AGI 58147 4325994 +woutboat 59496 4906352 +AGI 58195 4329580 robnjr 57262 4053117 Freja 56938 3733019 MaxKlaxxMiner 56879 3423958 -MarcusTullius 56746 3762951 ttruscott 56010 3680085 rkl 55132 4164467 +jmdana 54697 4012593 renouve 53811 3501516 -javran 53785 4627608 +notchris 52433 4044590 finfish 51360 3370515 eva42 51272 3599691 eastorwest 51117 3454811 +Goatminola 51004 4432492 rap 49985 3219146 pb00067 49733 3298934 +GPUex 48686 3684998 OuaisBla 48626 3445134 ronaldjerum 47654 3240695 biffhero 46564 3111352 +oryx 45533 3539290 VoyagerOne 45476 3452465 -jmdana 44893 3065205 -maposora 44597 4039578 -oryx 44570 3454238 speedycpu 43842 3003273 jbwiebe 43305 2805433 -GPUex 42378 3133332 Antihistamine 41788 2761312 mhunt 41735 2691355 homyur 39893 2850481 gri 39871 2515779 Garf 37741 2999686 SC 37299 2731694 +Sylvain27 36520 1467082 csnodgrass 36207 2688994 +Gaster319 35655 3149442 strelock 34716 2074055 -szupaw 34102 2880346 EthanOConnor 33370 2090311 slakovv 32915 2021889 +gopeto 31884 2076712 Gelma 31771 1551204 -gopeto 31671 2060990 kdave 31157 2198362 manapbk 30987 1810399 +ZacHFX 30551 2238078 Prcuvu 30377 2170122 anst 30301 2190091 jkiiski 30136 1904470 @@ -142,27 +149,31 @@ hyperbolic.tom 29840 2017394 chuckstablers 29659 2093438 Pyafue 29650 1902349 belzedar94 28846 1811530 +votoanthuan 27978 2285818 +shawnxu 27438 2465810 chriswk 26902 1868317 xwziegtm 26897 2124586 achambord 26582 1767323 Patrick_G 26276 1801617 yorkman 26193 1992080 -Ulysses 25288 1689730 +Ulysses 25397 1701264 +Jopo12321 25227 1652482 SFTUser 25182 1675689 -nabildanial 24942 1519409 +nabildanial 25068 1531665 Sharaf_DG 24765 1786697 -Maxim 24705 1502062 rodneyc 24376 1416402 +jsys14 24297 1721230 agg177 23890 1395014 -Goatminola 23763 1956036 -Ente 23639 1671638 -Jopo12321 23467 1483172 +srowen 23842 1342508 +Ente 23752 1678188 +jojo2357 23479 2061238 JanErik 23408 1703875 Isidor 23388 1680691 Norabor 23371 1603244 cisco2015 22920 1763301 -jsys14 22824 1591906 Zirie 22542 1472937 +Nullvalue 22490 1970374 +AndreasKrug 22485 1769491 team-oh 22272 1636708 Roady 22220 1465606 MazeOfGalious 21978 1629593 @@ -173,79 +184,83 @@ dex 21612 1467203 nesoneg 21494 1463031 user213718 21454 1404128 sphinx 21211 1384728 -AndreasKrug 21097 1634811 +qoo_charly_cai 21135 1514907 jjoshua2 21001 1423089 Zake9298 20938 1565848 horst.prack 20878 1465656 0xB00B1ES 20590 1208666 +Serpensin 20487 1729674 +Dinde 20440 1292390 j3corre 20405 941444 Adrian.Schmidt123 20316 1281436 wei 19973 1745989 -notchris 19958 1800128 -Serpensin 19840 1697528 -Gaster319 19712 1677310 fishtester 19617 1257388 rstoesser 19569 1293588 eudhan 19274 1283717 -votoanthuan 19108 1609992 vulcan 18871 1729392 Karpovbot 18766 1053178 -qoo_charly_cai 18543 1284937 +WoodMan777 18556 1628264 jundery 18445 1115855 ville 17883 1384026 chris 17698 1487385 purplefishies 17595 1092533 dju 17414 981289 +ols 17291 1042003 iisiraider 17275 1049015 +Skiff84 17111 950248 DragonLord 17014 1162790 redstone59 16842 1461780 -Alb11747 16787 1213926 +Karby 16839 1010124 +Alb11747 16787 1213990 +pirt 16493 1237199 +Naven94 16414 951718 +wizardassassin 16392 1148672 IgorLeMasson 16064 1147232 -Karby 15982 979610 scuzzi 15757 968735 ako027ako 15671 1173203 Nikolay.IT 15154 1068349 Andrew Grant 15114 895539 -Naven94 15054 834762 OssumOpossum 14857 1007129 -ZacHFX 14783 1021842 +LunaticBFF57 14525 1190310 enedene 14476 905279 +IslandLambda 14393 958196 bpfliegel 14233 882523 +YELNAMRON 14230 1128094 mpx86 14019 759568 jpulman 13982 870599 -Skiff84 13826 721996 +getraideBFF 13871 1172846 +Nesa92 13806 1116101 crocogoat 13803 1117422 -Nesa92 13786 1114691 joster 13710 946160 mbeier 13650 1044928 Hjax 13535 915487 -Nullvalue 13468 1140498 Dark_wizzie 13422 1007152 Rudolphous 13244 883140 -pirt 13100 1009897 Machariel 13010 863104 infinigon 12991 943216 mabichito 12903 749391 thijsk 12886 722107 AdrianSA 12860 804972 Flopzee 12698 894821 +mschmidt 12644 863193 korposzczur 12606 838168 +tsim67 12570 890180 +Jackfish 12553 836958 fatmurphy 12547 853210 +Oakwen 12503 853105 SapphireBrand 12416 969604 -Oakwen 12399 844109 deflectooor 12386 579392 modolief 12386 896470 +TataneSan 12358 609332 Farseer 12249 694108 -Jackfish 12213 805008 pgontarz 12151 848794 dbernier 12103 860824 -getraideBFF 12072 1024966 +FormazChar 11989 907809 stocky 11954 699440 -mschmidt 11941 803401 -MooTheCow 11870 773598 -FormazChar 11766 885707 +somethingintheshadows 11940 989472 +MooTheCow 11892 776126 +3cho 11842 1036786 whelanh 11557 245188 -3cho 11494 1031076 infinity 11470 727027 aga 11412 695127 torbjo 11395 729145 @@ -253,15 +268,19 @@ Thomas A. Anderson 11372 732094 savage84 11358 670860 d64 11263 789184 ali-al-zhrani 11245 779246 +ckaz 11170 680866 snicolet 11106 869170 dapper 11032 771402 -ols 10947 624903 -Karmatron 10828 677458 +Ethnikoi 10993 945906 +Snuuka 10938 435504 +Karmatron 10859 678058 basepi 10637 744851 +jibarbosa 10628 857100 Cubox 10621 826448 +mecevdimitar 10609 787318 michaelrpg 10509 739239 +Def9Infinity 10427 686978 OIVAS7572 10420 995586 -jojo2357 10419 929708 -WoodMan777 10380 873720 +wxt9861 10412 1013864 Garruk 10365 706465 dzjp 10343 732529 From 5c2b3859579e20cb1abc8d53ae7ee229fbc1e335 Mon Sep 17 00:00:00 2001 From: "Robert Nurnberg @ elitebook" Date: Sat, 24 Feb 2024 17:55:08 +0100 Subject: [PATCH 3/4] Update the WDL model Based on 130M positions from 2.1M games. ``` Look recursively in directory pgns for games from SPRT tests using books matching "UHO_4060_v..epd|UHO_Lichess_4852_v1.epd" for SF revisions between 8e75548f2a10969c1c9211056999efbcebe63f9a (from 2024-02-17 17:11:46 +0100) and HEAD (from 2024-02-17 17:13:07 +0100). Based on 127920843 positions from 2109240 games, NormalizeToPawnValue should change from 345 to 356. ``` The patch only affects the UCI-reported cp and wdl values. closes https://github.com/official-stockfish/Stockfish/pull/5070 No functional change --- src/uci.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/uci.cpp b/src/uci.cpp index 35f725b5e89..4d4ea689715 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -45,7 +45,7 @@ namespace Stockfish { constexpr auto StartFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; -constexpr int NormalizeToPawnValue = 345; +constexpr int NormalizeToPawnValue = 356; constexpr int MaxHashMB = Is64Bit ? 33554432 : 2048; UCI::UCI(int argc, char** argv) : @@ -380,8 +380,8 @@ int win_rate_model(Value v, int ply) { // The coefficients of a third-order polynomial fit is based on the fishtest data // for two parameters that need to transform eval to the argument of a logistic // function. - constexpr double as[] = {-2.00568292, 10.45906746, 1.67438883, 334.45864705}; - constexpr double bs[] = {-4.97134419, 36.15096345, -82.25513499, 117.35186805}; + constexpr double as[] = {-1.06249702, 7.42016937, 0.89425629, 348.60356174}; + constexpr double bs[] = {-5.33122190, 39.57831533, -90.84473771, 123.40620748}; // Enforce that NormalizeToPawnValue corresponds to a 50% win rate at move 32. static_assert(NormalizeToPawnValue == int(0.5 + as[0] + as[1] + as[2] + as[3])); From e67cc979fd2c0e66dfc2b2f2daa0117458cfc462 Mon Sep 17 00:00:00 2001 From: Disservin Date: Wed, 21 Feb 2024 22:17:23 +0100 Subject: [PATCH 4/4] Stockfish 16.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Official release version of Stockfish 16.1 Bench: 1303971 --- Stockfish 16.1 Today, we have the pleasure to announce Stockfish 16.1. As always, you can freely download it at https://stockfishchess.org/download and use it in the GUI of your choice[1]. Don't forget to join our Discord server[2] to get in touch with the community of developers and users of the project! *Quality of chess play* In our testing against its predecessor, Stockfish 16.1 shows a notable improvement in performance, with an Elo gain of up to 27 points and winning over 2 times more game pairs[3] than it loses. *Update highlights* *Improved evaluation* - Updated neural network architecture: The neural network architecture has undergone two updates and is currently in its 8th version[4]. - Removal of handcrafted evaluation (HCE): This release marks the removal of the traditional handcrafted evaluation and the transition to a fully neural network-based approach[5]. - Dual NNUE: For the first time, Stockfish includes a secondary neural network[6], used to quickly evaluate positions that are easily decided. *UCI Options removed* `Use NNUE` and `UCI_AnalyseMode`[7] have been removed as they no longer had any effect. `SlowMover`[8] has also been removed in favor of `Move Overhead`. *More binaries* We now offer 13 new binaries. These new binaries include `avx512`, `vnni256`, `vnni512`, `m1-apple-silicon`, and `armv8-dotprod`, which take advantage of specific CPU instructions for improved performance. For most users, using `sse41-popcnt` (formerly `modern`), `avx2`, or `bmi2` should be enough, but if your CPU supports these new instructions, feel free to try them! *Development changes* - Updated testing book: This new book[9], now derived exclusively from the open Lichess database[10], is 10 times larger than its predecessor, and has been used to test potential improvements to Stockfish over the past few months. - Consolidation of repositories: Aiming to simplify access to our resources, we have moved most Stockfish-related repositories into the official Stockfish organization[11] on GitHub. - Growing maintainer team: We welcome Disservin[12] to the team of maintainers of the project! This extra pair of hands will ensure the lasting success of Stockfish. *Thank you* The Stockfish project builds on a thriving community of enthusiasts (thanks everybody!) who contribute their expertise, time, and resources to build a free and open-source chess engine that is robust, widely available, and very strong. We would like to express our gratitude for the 10k stars[13] that light up our GitHub project! Thank you for your support and encouragement – your recognition means a lot to us. We invite our chess fans to join the Fishtest testing framework[14], and programmers to contribute to the project either directly to Stockfish[15] (C++), to Fishtest[16] (HTML, CSS, JavaScript, and Python), to our trainer nnue-pytorch[17] (C++ and Python), or to our website[18] (HTML, CSS/SCSS, and JavaScript). The Stockfish team [1] https://github.com/official-stockfish/Stockfish/wiki/Download-and-usage#download-a-chess-gui [2] https://discord.gg/GWDRS3kU6R [3] https://tests.stockfishchess.org/tests/view/65d666051d8e83c78bfddbd8 [4] https://github.com/official-stockfish/nnue-pytorch/blob/master/docs/nnue.md#sfnnv8-architecture [5] https://github.com/official-stockfish/Stockfish/commit/af110e0 [6] https://github.com/official-stockfish/Stockfish/commit/584d9ef [7] https://github.com/official-stockfish/Stockfish/commit/c53d2ec [8] https://github.com/official-stockfish/Stockfish/commit/536d692 [9] https://github.com/official-stockfish/books/commit/426eca4 [10] https://database.lichess.org/ [11] https://github.com/official-stockfish/ [12] https://github.com/Disservin [13] https://github.com/official-stockfish/Stockfish/stargazers [14] https://github.com/official-stockfish/fishtest/wiki/Running-the-worker [15] https://github.com/official-stockfish/Stockfish [16] https://github.com/official-stockfish/fishtest [17] https://github.com/official-stockfish/nnue-pytorch [18] https://github.com/official-stockfish/stockfish-web --- src/misc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/misc.cpp b/src/misc.cpp index 4885a5cd35c..1d089971090 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -75,7 +75,7 @@ namespace Stockfish { namespace { // Version number or dev. -constexpr std::string_view version = "dev"; +constexpr std::string_view version = "16.1"; // Our fancy logging facility. The trick here is to replace cin.rdbuf() and // cout.rdbuf() with two Tie objects that tie cin and cout to a file stream. We