Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Tue Apr 9 13:46:12 2019 +0200 Timestamp: 1554810372 Remove BetweenBB Array #2076 Non functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Marco Costalba
Date: Sat Apr 6 12:43:41 2019 +0200 Timestamp: 1554547421 Fix sed for OS X (#2080) The sed command is a bit different in Mac OS X (why not!). The ‘-i’ option required a parameter to tell what extension to add for the backup file. To fix it, just add extension for backup file, for example ‘.bak’ Fix broken Trevis CI test No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: erbsenzaehler
Date: Sat Apr 6 11:15:17 2019 +0200 Timestamp: 1554542117 Make ONE_PLY value independent again And a Trevis CI test to catch future issues. No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Marco Costalba
Date: Sat Apr 6 02:03:15 2019 +0200 Timestamp: 1554508995 Fix a missing assignment in previous commit While reformatting the patch, I got wrong a statement and converted it badly. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: xoto10
Date: Fri Apr 5 20:37:16 2019 +0200 Timestamp: 1554489436 Use average bestMoveChanges across all threads #2072 The current update only by main thread depends on the luck of whether main thread sees any/many changes to the best move or not. It then makes large, lumpy changes to the time to be used (1x, 2x, 3x, etc) depending on that sample of 1. Use the average across all threads to get a more reliable number with a smoother distribution. STC @ 5+0.05 th 4 : LLR: 2.95 (-2.94,2.94) [0.50,4.50] Total: 51899 W: 11446 L: 11029 D: 29424 Elo +2.79 http://tests.stockfishchess.org/tests/view/5ca32ff20ebc5925cf0016fb STC @ 5+0.05 th 8 : LLR: 2.96 (-2.94,2.94) [0.50,4.50] Total: 13851 W: 2843 L: 2620 D: 8388 Elo +5.59 http://tests.stockfishchess.org/tests/view/5ca35ae00ebc5925cf001adb LTC @ 20+0.2 th 8 : LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 48527 W: 7941 L: 7635 D: 32951 Elo +2.19 http://tests.stockfishchess.org/tests/view/5ca37cb70ebc5925cf001cec Further work: Similar changes might be possible for the fallingEval and timeReduction calculations (and elsewhere?), using either the min, average or max values across all threads. Bench 3506898 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Moez Jellouli
Date: Thu Apr 4 09:40:34 2019 +0200 Timestamp: 1554363634 Remove pureStaticEval #2069 Remove pureStaticEval variable and keep only one static evaluation (ss->staticEval). STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 64617 W: 14348 L: 14312 D: 35957 Elo +0.19 http://tests.stockfishchess.org/tests/view/5c9e1ad70ebc5925cfffc106 LTC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 82200 W: 13703 L: 13680 D: 54817 Elo +0.10 http://tests.stockfishchess.org/tests/view/5c9e4efd0ebc5925cfffc68b Bench : 3506898 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Moez Jellouli
Date: Thu Apr 4 08:49:35 2019 +0200 Timestamp: 1554360575 Add attacked by 2 pawns to attackedBy2 (#2074) Add squares attacked by 2 pawns to the attackedBy2 array STC : LLR: -2.95 (-2.94,2.94) [0.50,4.50] Total: 132722 W: 29583 L: 29090 D: 74049 Elo +1.29 http://tests.stockfishchess.org/tests/view/5ca231ba0ebc5925cf000794 LTC : LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 94589 W: 16161 L: 15718 D: 62710 Elo +1.63 http://tests.stockfishchess.org/tests/view/5ca25d180ebc5925cf000ba4 Bench: 3337864 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Marco Costalba
Date: Sun Mar 31 11:47:36 2019 +0200 Timestamp: 1554025656 Assorted trivial cleanups 3/2019 (#2030) No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Sun Mar 31 11:28:48 2019 +0200 Timestamp: 1554024528 Use simple array for Pawns Connected bonus #2061 Simplification which removes the pawns connected array. Instead of storing the values in an array, the values are calculated real-time. This is about 1.6% faster on my machines. Performance: master ave nps: 159,248,672 patch ave nps: 161,905,592 STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 20363 W: 4579 L: 4455 D: 11329 Elo +2.12 http://tests.stockfishchess.org/tests/view/5c9925ba0ebc5925cfff79a6 Non functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Moez Jellouli
Date: Sun Mar 31 10:51:08 2019 +0200 Timestamp: 1554022268 Shuffle detection #2064 Shuffle detection procedure : Shuffling positions are detected if the last 36 moves are reversible (rule50_count() > 36), the position have been already in the TT, there is a still a pawn on the board (to avoid special endings like KBN vs K). The position is then judged as a draw. An extension is realized if we already made 14 successive reversible moves in PV to accelerate the detection of the eventual draw. To go further : we can still improve the idea. The length of the tests need a lot of ressources. the limit of 36 is logic but must be checked again for special zugzwang positions, this limit can be decreased in special positions, the limit of 14 moves for extension has not been tuned. STC LLR: -2.94 (-2.94,2.94) [0.50,4.50] Total: 32595 W: 7273 L: 7275 D: 18047 Elo -0.02 http://tests.stockfishchess.org/tests/view/5c90aa330ebc5925cfff1768 LTC LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 51249 W: 8807 L: 8486 D: 33956 Elo +2.18 http://tests.stockfishchess.org/tests/view/5c90b2450ebc5925cfff1800 VLTC LLR: 2.96 (-2.94,2.94) [0.00,3.50] Total: 137974 W: 20503 L: 19983 D: 97488 Elo +1.31 http://tests.stockfishchess.org/tests/view/5c9243a90ebc5925cfff2a93 Bench: 3548313 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Sun Mar 31 10:48:27 2019 +0200 Timestamp: 1554022107 Replace std::mins/max with clamp function (#2062) Adding a clamp function makes some of these range limitations a bit prettier and removes some #include's. STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 28117 W: 6300 L: 6191 D: 15626 Elo +1.35 http://tests.stockfishchess.org/tests/view/5c9aa1df0ebc5925cfff8fcc Non functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Sun Mar 31 10:44:55 2019 +0200 Timestamp: 1554021895 Remove duplication. (#2068) always use the implementation of gives_check in position, no need to hand-inline part of the implementation in search. LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 57895 W: 12632 L: 12582 D: 32681 Elo +0.30 http://tests.stockfishchess.org/tests/view/5c9eaa4b0ebc5925cfffc9e3 No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Sun Mar 31 10:43:20 2019 +0200 Timestamp: 1554021800 Accessor for SquareBB #2067 This is a non-functional code style change. If we add an accessor function for SquareBB we can consolidate all of the asserts. This is also a bit cleaner because all SquareBB accesses go through this method making future changes easier to manage. STC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 63406 W: 14084 L: 14045 D: 35277 Elo +0.21 http://tests.stockfishchess.org/tests/view/5c9ea6100ebc5925cfffc9af No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Sun Mar 24 17:41:25 2019 +0100 Timestamp: 1553445685 Simplify pawn asymmetry (remove use of semiopen files). (#2054) This is a functional simplification. To me, the exclusive OR of semiopenFiles here is quite convoluted. Looks like it can be removed. STC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 43885 W: 9731 L: 9653 D: 24501 Elo +0.62 http://tests.stockfishchess.org/tests/view/5c9041680ebc5925cfff10ea LTC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 68437 W: 11577 L: 11533 D: 45327 Elo +0.22 http://tests.stockfishchess.org/tests/view/5c9101740ebc5925cfff1cbf bench 3575627 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Sun Mar 24 17:40:29 2019 +0100 Timestamp: 1553445629 Remove unneeded condition. (#2057) This is covered by the line just before. If we would like to protect against the piece value of e.g. a N == B, this could be done by an assert, no need to do this at runtime. No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Sun Mar 24 17:37:38 2019 +0100 Timestamp: 1553445458 Simplify Passed Pawns (#2058) This is a non-functional simplification/speedup. The truth-table for popcount(support) >= popcount(lever) - 1 is: ------------------lever ------------------0-------1---------2 support--0------X-------X---------0 -----------1------X-------X---------X -----------2------X-------X---------X Thus, it is functionally equivalent to just do: support || !more_than_one(lever) which removes the expensive popcounts and the -1. Result of 20 runs: base (...h_master.exe) = 1451680 +/- 8202 test (./stockfish ) = 1454781 +/- 8604 diff = +3101 +/- 931 STC LLR: 2.94 (-2.94,2.94) [-3.00,1.00] Total: 35424 W: 7768 L: 7674 D: 19982 Elo +0.92 Http://tests.stockfishchess.org/tests/view/5c970f170ebc5925cfff5e28 No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: xoto10
Date: Wed Mar 20 14:57:34 2019 +0100 Timestamp: 1553090254 Remove !extension check #2045 While looking at pruning using see_ge() (which is very valuable) it became apparent that the !extension test is not adding any value - simplify it away. STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 56843 W: 12621 L: 12569 D: 31653 Elo +0.32 http://tests.stockfishchess.org/tests/view/5c8588cb0ebc5925cffe77f4 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 78622 W: 13223 L: 13195 D: 52204 Elo +0.12 http://tests.stockfishchess.org/tests/view/5c8611cc0ebc5925cffe7f86 Further work could be to optimize the remaining see_ge() test. The idea of less pruning at higher depths is valuable, but perhaps the test (-PawnValueEg * depth) can be improved. Bench: 3188688 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: CoffeeOne
Date: Wed Mar 20 14:50:41 2019 +0100 Timestamp: 1553089841 Skip skipping thread scheme (#1972) Several simplification tests (all with the bounds [-3,1]) were run: 5+0.05 8 threads, failed very quickly: http://tests.stockfishchess.org/tests/view/5c439a020ebc5902bb5d3970 20+0.2 8 threads, also failed, but needed a lot more games: http://tests.stockfishchess.org/tests/view/5c44b1b70ebc5902bb5d4e34 60+0.6 8 threads passed: http://tests.stockfishchess.org/tests/view/5c48bfe40ebc5902bca15325 60+0.6 4 threads passed: http://tests.stockfishchess.org/tests/view/5c4b71a00ebc593af5d49904 No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Marco Costalba
Date: Tue Mar 12 08:35:10 2019 +0100 Timestamp: 1552376110 Increase thread stack for OS X (#2035) On OS X threads other than the main thread are created with a reduced stack size of 512KB by default, this is dangerously low for deep searches, so adjust it to TH_STACK_SIZE. The implementation calls pthread_create() with proper stack size parameter. Verified for no regression at STC enabling the patch on all platforms where pthread is supported. LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 50873 W: 9768 L: 9700 D: 31405 Elo +0.46 No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Sun Mar 10 10:53:39 2019 +0100 Timestamp: 1552211619 Remove popcount16() (#2038) This is a non-functional simplification / code-style change. This popcount16 method does nothing but initialize the PopCnt16 arrays. This can be done in a single bitset line, which is less lines and more clear. Performance for this code is moot. No functional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: xoto10
Date: Sun Mar 10 10:47:42 2019 +0100 Timestamp: 1552211262 Simplify failedLow away #1986 FailedLow doesn't seem to add any value so remove it. STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 43915 W: 9682 L: 9604 D: 24629 Elo +0.62 http://tests.stockfishchess.org/tests/view/5c5339770ebc592fc7baef74 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 58515 W: 9670 L: 9609 D: 39236 Elo +0.36 http://tests.stockfishchess.org/tests/view/5c53cc840ebc592fc7baf6c1 Ideas for further work: Tune the values in the revised fallingEval calculation Consider adding a term using delta, e.g. c * (delta - 20) as an indicator of eval instability Bench: 3318033 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Marco Costalba
Date: Sat Mar 9 13:28:11 2019 +0100 Timestamp: 1552134491 Revert "Allowing singular extension in mate positions" It was causing an assert: value > -VALUE_INFINITE under some conditions. See https://github.com/official-stockfish/Stockfish/issues/2036 Bench: 3318033 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Tue Mar 5 20:48:29 2019 +0100 Timestamp: 1551815309 Remove FutilityMoveCounts array. (#2024) This is a functional simplification that removes the FutilityMoveCounts array with a simple equation using only ints. LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 14175 W: 3123 L: 2987 D: 8065 Elo +3.33 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 9900 W: 1735 L: 1597 D: 6568 Elo +4.84 Bench: 3380343 see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Tue Mar 5 19:02:04 2019 +0100 Timestamp: 1551808924 Shrink Reductions[] array to one dimension This is a non-functional patch which shrinks the reductions array. This saves about 8Kb of memory. The only slow part of master's reductions array is the calculation of the log values, so using a separate array for those values and calculating the rest real-time appears to be just as fast as master. STC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 63245 W: 13906 L: 13866 D: 35473 Elo +0.22 http://tests.stockfishchess.org/tests/view/5c7b571f0ebc5925cffdc104 No funcional change. see source |
Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: SFisGOD
Date: Tue Mar 5 14:54:25 2019 +0100 Timestamp: 1551794065 Pawn value tweak STC: LLR: 2.96 (-2.94,2.94) [0.00,4.00] Total: 47166 W: 10664 L: 10311 D: 26191 Elo +2.60 http://tests.stockfishchess.org/tests/view/5c7dfc370ebc5925cffdf830 LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 35439 W: 6034 L: 5767 D: 23638 Elo +2.62 http://tests.stockfishchess.org/tests/view/5c7e41020ebc5925cffdfe9b Bench: 3470519 see source |