| 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: Fri Jul 26 02:12:23 2019 +0200 Timestamp: 1564099943 Remove operators for color This is a non-functional and untested simplification. The increment operator for color isn't really necessary and seems a bit unnatural to me. Passed STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 47027 W: 10589 L: 10518 D: 25920 Elo +0.52 http://tests.stockfishchess.org/tests/view/5d3472d10ebc5925cf0e8d3e Closes https://github.com/official-stockfish/Stockfish/pull/2247 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: Vizvezdenec
Date: Thu Jul 25 09:16:53 2019 +0200 Timestamp: 1564039013 Tweak of SEE pruning condition passed STC http://tests.stockfishchess.org/tests/view/5d386bda0ebc5925cf0ef49a LLR: 2.95 (-2.94,2.94) [0.50,4.50] Total: 56874 W: 12820 L: 12373 D: 31681 Elo +2.73 passed LTC http://tests.stockfishchess.org/tests/view/5d38873a0ebc5925cf0ef86e LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 43512 W: 7547 L: 7247 D: 28718 Elo +2.40 Additional thanks to @locutus2 , @miguel-l and @xoto10 for fruitful discussion. There may be some more elo there since this tweak was the first one and numbers are more or less arbitrary. Closes https://github.com/official-stockfish/Stockfish/pull/2256 Bench 3935523 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: Alain SAVARD
Date: Thu Jul 25 09:05:08 2019 +0200 Timestamp: 1564038308 Pawn clean up Non functional simplification when we find the passed pawns in pawn.cpp and some code clean up. It also better follows the pattern "flag the pawn" and "score the pawn". ------------------------- The idea behind the third condition for candidate passed pawn is a little bit difficult to visualize. Just for the record, the idea is the following: Consider White e5 d4 against black e6. d4 can (in some endgames) push to d5 and lever e6. Thanks to this sacrifice, or after d5xe6, we consider e5 as "passed". However: - if White e5/d4 against black e6/c6: d4 cannot safely push to d5 since d5 is double attacked; - if White e5/d4 against black e6/d5: d4 cannot safely push to d5 since it is occupied. This is exactly what the following expression does: ``` && (shift<Up>(support) & ~(theirPawns | dblAttackThem))) ``` -------------------------- http://tests.stockfishchess.org/tests/view/5d3325bb0ebc5925cf0e6e91 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 124666 W: 27586 L: 27669 D: 69411 Elo -0.23 Closes https://github.com/official-stockfish/Stockfish/pull/2255 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: VoyagerOne
Date: Thu Jul 25 08:46:26 2019 +0200 Timestamp: 1564037186 LMR Tweak Reset statScore to zero if negative and most stats shows >= 0 STC: LLR: 2.95 (-2.94,2.94) [0.50,4.50] Total: 23097 W: 5242 L: 4963 D: 12892 Elo +4.20 http://tests.stockfishchess.org/tests/view/5d31dd650ebc5925cf0e598f LTC: LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 227597 W: 39013 L: 38191 D: 150393 Elo +1.25 http://tests.stockfishchess.org/tests/view/5d31fcdf0ebc5925cf0e5c13 Closes https://github.com/official-stockfish/Stockfish/pull/2252 Bench: 3242229 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: Alain SAVARD
Date: Thu Jul 25 08:32:49 2019 +0200 Timestamp: 1564036369 Passed file cleanup Protonspring had a successful functional simplification that removes the PassedFile array using a simple linear equation. Merge the additive term S(5, 10) of protonspring passed file simplification (pull request https://github.com/official-stockfish/Stockfish/pull/2250) into the PassedRank array. This harmless change has a different bench because the candidate passer evaluation will always get less compared to #2250, as we apply bonus = bonus /2. Tested as a non-regression against #2250 Passed STC http://tests.stockfishchess.org/tests/view/5d33427e0ebc5925cf0e6fa2 LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 81459 W: 18174 L: 18171 D: 45114 Elo +0.01 Passed LTC http://tests.stockfishchess.org/tests/view/5d335c8d0ebc5925cf0e731e LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 18525 W: 3176 L: 3052 D: 12297 Elo +2.33 Closes https://github.com/official-stockfish/Stockfish/pull/2250 Closes https://github.com/official-stockfish/Stockfish/pull/2251 Bench: 3859856 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: Lolligerhans
Date: Thu Jul 25 08:23:43 2019 +0200 Timestamp: 1564035823 No influence on unsafeSquares of passers by pieces Remove their pieces from influencing 'unsafeSquares' in passer evaluation. STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 36421 W: 8170 L: 8078 D: 20173 Elo +0.88 http://tests.stockfishchess.org/tests/view/5d22fc8e0ebc5925cf0cb26e LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 18927 W: 3253 L: 3129 D: 12545 Elo +2.28 http://tests.stockfishchess.org/tests/view/5d26e2b20ebc5925cf0d3218 Closes https://github.com/official-stockfish/Stockfish/pull/2248 Bench: 3285659 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: Vizvezdenec
Date: Thu Jul 25 08:17:11 2019 +0200 Timestamp: 1564035431 Tweak LMR and killers Give extra stat bonus/malus in case of LMR for killers. passed STC http://tests.stockfishchess.org/tests/view/5d2c8e760ebc5925cf0dcf23 LLR: 2.95 (-2.94,2.94) [0.50,4.50] Total: 67188 W: 15030 L: 14534 D: 37624 Elo +2.56 passed LTC http://tests.stockfishchess.org/tests/view/5d2d0ce40ebc5925cf0de115 LLR: 2.96 (-2.94,2.94) [0.00,3.50] Total: 144355 W: 24739 L: 24153 D: 95463 Elo +1.41 Closes https://github.com/official-stockfish/Stockfish/pull/2246 bench 3723147 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: Alain SAVARD
Date: Thu Jul 25 08:07:55 2019 +0200 Timestamp: 1564034875 Space Invaders Try a more ambitius simplification of the space bonus STC http://tests.stockfishchess.org/tests/view/5d2b62c90ebc5925cf0da2a4 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 51299 W: 11320 L: 11257 D: 28722 Elo +0.43 LTC http://tests.stockfishchess.org/tests/view/5d2bac270ebc5925cf0db215 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 49761 W: 8409 L: 8335 D: 33017 Elo +0.52 Closes https://github.com/official-stockfish/Stockfish/pull/2243 bench: 3395999 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 Jul 14 15:21:08 2019 +0200 Timestamp: 1563110468 Fix bench Bench: 3357457 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 Jul 14 14:47:50 2019 +0200 Timestamp: 1563108470 UCI_Elo implementation (#2225) This exploits the recent fractional Skill Level, and is a result from some discussion in #2221 and the older #758. Basically, if UCI_LimitStrength is set, it will internally convert UCI_Elo to a matching fractional Skill Level. The Elo estimate is based on games at TC 60+0.6, Hash 64Mb, 8moves_v3.pgn, rated with Ordo, anchored to goldfish1.13 (CCRL 40/4 ~2000). Note that this is mostly about internal consistency, the anchoring to CCRL is a bit weak, e.g. within this tournament, goldfish and sungorus only have a 200Elo difference, their rating difference on CCRL is 300Elo. I propose that we continue to expose 'Skill Level' as an UCI option, for backwards compatibility. The result of a tournament under those conditions are given by the following table, where the player name reflects the UCI_Elo. # PLAYER : RATING ERROR POINTS PLAYED (%) CFS(%) 1 Elo2837 : 2792.2 50.8 536.5 711 75 100 2 Elo2745 : 2739.0 49.0 487.5 711 69 100 3 Elo2654 : 2666.4 49.2 418.0 711 59 100 4 Elo2562 : 2604.5 38.5 894.5 1383 65 100 5 Elo2471 : 2515.2 38.1 651.5 924 71 100 6 Elo2380 : 2365.9 35.4 478.5 924 52 100 7 Elo2289 : 2290.0 28.0 864.0 1596 54 100 8 sungorus1.4 : 2204.9 27.8 680.5 1596 43 60 9 Elo2197 : 2201.1 30.1 523.5 924 57 100 10 Elo2106 : 2103.8 24.5 730.5 1428 51 100 11 Elo2014 : 2030.5 30.3 377.5 756 50 98 12 goldfish1.13 : 2000.0 ---- 511.0 1428 36 100 13 Elo1923 : 1928.5 30.9 641.5 1260 51 100 14 Elo1831 : 1829.0 42.1 370.5 756 49 100 15 Elo1740 : 1738.3 42.9 277.5 756 37 100 16 Elo1649 : 1625.0 42.1 525.5 1260 42 100 17 Elo1558 : 1521.5 49.9 298.0 756 39 100 18 Elo1467 : 1471.3 51.3 246.5 756 33 100 19 Elo1375 : 1407.1 51.9 183.0 756 24 --- It can be observed that all set Elos correspond within the error bars with the observed Ordo rating. 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 Jul 14 14:46:10 2019 +0200 Timestamp: 1563108370 Remove std::pow from reduction. (#2234) This is a functional simplification that removes the std::pow from reduction. The resulting reduction values are within 1% of master. This is a simplification because i believe an fp addition and multiplication is much faster than a call to std::pow() which is historically slow and performance varies widely on different architectures. STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 23471 W: 5245 L: 5127 D: 13099 Elo +1.75 http://tests.stockfishchess.org/tests/view/5d27ac1b0ebc5925cf0d476b LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 51533 W: 8736 L: 8665 D: 34132 Elo +0.48 http://tests.stockfishchess.org/tests/view/5d27b74e0ebc5925cf0d493c Bench 3765158 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: 31m059
Date: Sun Jul 14 14:42:30 2019 +0200 Timestamp: 1563108150 Just blockSq, not forward file. Bench: 3377831 (#2240) This is another functional simplification to Stockfish passed pawn evaluation. Stockfish evaluates some pawns which are not yet passed as "candidate" passed pawns, which are given half the bonus of fully passed ones. Prior to this commit, Stockfish considered a passed pawn to be a "candidate" if (a) it would not be a passed pawn if moved one square forward (the blocking square), or (b) there were other pawns (of either color) in front of it on the file. This latter condition used a fairly complicated method, forward_file_bb; here, rather than inspect the entire forward file, we simply re-use the blocking square. As a result, some pawns previously considered "candidates", but which are able to push forward, no longer have their bonus halved. Simplification tests passed quickly at both STC and LTC. The results from both tests imply that this simplification is, most likely, additionally a small Elo gain, with a LTC likelihood of superiority of 87 percent. STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 12908 W: 2909 L: 2770 D: 7229 Elo +3.74 http://tests.stockfishchess.org/tests/view/5d2a1c880ebc5925cf0d9006 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 20723 W: 3591 L: 3470 D: 13662 Elo +2.03 http://tests.stockfishchess.org/tests/view/5d2a21fd0ebc5925cf0d9118 Bench: 3377831 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: Michael Chaly
Date: Sun Jul 14 14:41:28 2019 +0200 Timestamp: 1563108088 tviigg. (#2238) Current master code made sence when we had 2 types of bonuses for protected path to queen. But it was simplified so we have only one bonus now and code was never cleaned. This non-functional simplification removes useless defendedsquares bitboard and removes one bitboard assignment (defendedSquares &= attackedBy[Us][ALL_PIECES] + defendedSquares & blockSq becomes just attackedBy[Us][ALL_PIECES] & blockSq also we never assign defendedSquares = squaresToQueen because we don't need it). So should be small non-functional speedup. Passed simplification SPRT. http://tests.stockfishchess.org/tests/view/5d2966ef0ebc5925cf0d7659 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 23319 W: 5152 L: 5034 D: 13133 Elo +1.76 bench 3361902 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: 31m059
Date: Sun Jul 14 14:40:45 2019 +0200 Timestamp: 1563108045 Linear formula for w. Bench: 3328507 (#2239) In Stockfish, both the middlegame and endgame bonus for a passed pawn are calculated as a product of two factors. The first is k, chosen based on the presence of defended and unsafe squares. The second is w, a quadratic function of the pawn's rank. Both are only applied if the pawn's relative rank is at least RANK_4. It does not appear that the complexity of a quadratic function is necessary for w. Here, we replace it with a simpler linear one, which performs equally at both STC and LTC. STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 46814 W: 10386 L: 10314 D: 26114 Elo +0.53 http://tests.stockfishchess.org/tests/view/5d29686e0ebc5925cf0d76a1 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 82372 W: 13845 L: 13823 D: 54704 Elo +0.09 http://tests.stockfishchess.org/tests/view/5d2980650ebc5925cf0d7bfd Bench: 3328507 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: Stefan Geschwentner
Date: Sat Jul 13 05:49:14 2019 +0200 Timestamp: 1562989754 Full bonus for LMR stats update Simplify previous commit by using the full bonus for LMR-triggered stats update. STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 23684 W: 5255 L: 5137 D: 13292 Elo +1.73 http://tests.stockfishchess.org/tests/view/5d2826660ebc5925cf0d5180 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 16245 W: 2832 L: 2704 D: 10709 Elo +2.74 http://tests.stockfishchess.org/tests/view/5d282e9c0ebc5925cf0d529b Closes https://github.com/official-stockfish/Stockfish/pull/2236 Bench: 3361902 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: Stefan Geschwentner
Date: Fri Jul 12 09:26:45 2019 +0200 Timestamp: 1562916405 Late Move reduction and continuation history Update continuation history after LMR-triggered full depth research. Directly after a LMR-triggered full depth research, we update the continuation history for quiet moves (but with only half stat bonus). STC: LLR: 2.96 (-2.94,2.94) [0.50,4.50] Total: 39657 W: 8966 L: 8604 D: 22087 Elo +3.17 http://tests.stockfishchess.org/tests/view/5d279fa40ebc5925cf0d4566 LTC: LLR: 2.96 (-2.94,2.94) [0.50,3.50] Total: 32582 W: 5740 L: 5427 D: 21415 Elo +3.34 http://tests.stockfishchess.org/tests/view/5d27dbf90ebc5925cf0d4b7e Bench: 3239357 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: 31m059
Date: Thu Jul 11 23:05:28 2019 +0200 Timestamp: 1562879128 Exclude passed pawns from Attacked2Unsupported We recently added a bonus for double pawn attacks on unsupported enemy pawns, on June 27. However, it is possible that the unsupported pawn may become a passer by simply pushing forward out of the double attack. By rewarding double attacks, we may inadvertently reward the creation of enemy passers, by encouraging both of our would-be stoppers to attack the enemy pawn even if there is no opposing friendly pawn on the same file. Here, we revise this term to exclude passed pawns. In order to simplify the code with this change included, we non-functionally rewrite Attacked2Unsupported to be a penalty for enemy attacks on friendly pawns, rather than a bonus for our attacks on enemy pawns. This allows us to exclude passed pawns with a simple & ~e->passedPawns[Us], while passedPawns[Them] is not yet defined in this part of the code. This dramatically reduces the proportion of positions in which Attacked2Unsupported is applied, to about a third of the original. To compensate, maintaining the same average effect across our bench positions, we nearly triple Attacked2Unsupported from S(0, 20) to S(0, 56). Although this pawn formation is rare, it is worth more than half a pawn in the endgame! STC: (stopped automatically by fishtest after 250,000 games) LLR: -0.87 (-2.94,2.94) [0.50,4.50] Total: 250000 W: 56585 L: 55383 D: 138032 Elo +1.67 http://tests.stockfishchess.org/tests/view/5d25795e0ebc5925cf0cfb51 LTC: LLR: 2.96 (-2.94,2.94) [0.00,3.50] Total: 81038 W: 13965 L: 13558 D: 53515 Elo +1.74 http://tests.stockfishchess.org/tests/view/5d25f3920ebc5925cf0d10dd Closes https://github.com/official-stockfish/Stockfish/pull/2233 Bench: 3765158 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: Thu Jul 11 12:22:20 2019 +0200 Timestamp: 1562840540 Assorted trivial cleanups June 2019 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: VoyagerOne
Date: Thu Jul 11 11:59:36 2019 +0200 Timestamp: 1562839176 Tweak capture scoring formula STC: LLR: 2.96 (-2.94,2.94) [0.00,4.00] Total: 20556 W: 4685 L: 4438 D: 11433 Elo +4.17 http://tests.stockfishchess.org/tests/view/5d25d26e0ebc5925cf0d0b4a LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 14856 W: 2649 L: 2446 D: 9761 Elo +4.75 http://tests.stockfishchess.org/tests/view/5d25d8b20ebc5925cf0d0c6d bench: 3206912 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: Thu Jul 11 11:51:27 2019 +0200 Timestamp: 1562838687 Combo of statscore divisor and pawn psqt changes Passed STC 10+0.1 th 1: LLR: 2.96 (-2.94,2.94) [0.00,4.00] Total: 13282 W: 3100 L: 2881 D: 7301 Elo +5.73 http://tests.stockfishchess.org/tests/view/5d21132e0ebc5925cf0c81f4 Passed LTC 60+0.6 th 1: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 44243 W: 7768 L: 7468 D: 29007 Elo +2.36 http://tests.stockfishchess.org/tests/view/5d2119050ebc5925cf0c832b Bench 3705891 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: Thu Jul 11 11:42:08 2019 +0200 Timestamp: 1562838128 Use score instead of array to evaluate shelter This is a non-functional simplification. Instead of an array of values, just use a Score. STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 16309 W: 3673 L: 3541 D: 9095 Elo +2.81 http://tests.stockfishchess.org/tests/view/5d24f3b80ebc5925cf0ceb5b 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: Daniel Axtens
Date: Thu Jul 11 11:30:09 2019 +0200 Timestamp: 1562837409 Enable popcount and prefetch for ppc-64 PowerPC has had popcount instructions for a long time, at least as far back as POWER5 (released 2004). Enable them via a gcc builtin. Using a gcc builtin has the added bonus that if compiled for a processor that lacks a hardware instruction, gcc will include a software popcount implementation that does not use the instruction. It might be slower than the table lookups (or it might be faster) but it will certainly work. So this isn't going to break anything. On my POWER8 VM, this leads to a ~4.27% speedup. Fir prefetch, the gcc builtin generates a 'dcbt' instruction, which is supported at least as far back as the G5 (2002) and POWER4 (2001). This leads to a ~5% speedup on my POWER8 VM. 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: Joost VandeVondele
Date: Mon Jul 1 14:07:54 2019 +0200 Timestamp: 1561982874 Smoothly change playing strength with skill level. (#2142) The current skill levels (1-20) allow for adjusting playing strengths, but do so in big steps (e.g. level 10 vs level 11 is a ~143 Elo jump at STC). Since the 'Skill Level' input can already be a floating point number, this patch uses the fractional part of the input to provide the user with fine control, allowing for varying the playing strength essentially continuously. The implementation internally still uses integer skill levels (needed since they pick Depths), but non-deterministically rounds up or down the used skill level such that the average integer skill corresponds to the input floating point one. As expected, intermediate (fractional) skill levels yield intermediate playing strenghts. Tested at STC, playing level 10 against levels between 10 and 11 for 10000 games level 10.25 ELO: 24.26 +-6.2 level 10.5 ELO: 67.51 +-6.3 level 10.75 ELO: 98.52 +-6.4 level 11 ELO: 143.65 +-6.7 http://tests.stockfishchess.org/tests/view/5cd9c6b40ebc5925cf056791 http://tests.stockfishchess.org/tests/view/5cd9d22b0ebc5925cf056989 http://tests.stockfishchess.org/tests/view/5cd9cf610ebc5925cf056906 http://tests.stockfishchess.org/tests/view/5cd9d2490ebc5925cf05698e 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: Joost VandeVondele
Date: Mon Jul 1 14:07:23 2019 +0200 Timestamp: 1561982843 Introduce coordination between searching threads (#2204) this patch improves threading performance by introducing some coordination between threads. The observation is that threading is an area where a lot of Elo can potentially be gained: https://github.com/glinscott/fishtest/wiki/UsefulData#elo-from-threading At STC, 8 threads gain roughly 320 Elo, vs sequential at the same time, however, loses 66 Elo against a single thread with 8x more time. This 66 Elo should be partially recoverable with improved threading. To improve threading, this patch introduces some LMR at nodes that are already being searched by other threads. This requires some coordination between threads, avoiding however synchronisation. To do so, threads leave a trail of breadcrumbs to mark the nodes they are searching. These breadcrumbs are stored in a small hash table, which is only probed at low plies (currently ply < 8). A couple of variants of this patch passed both STC and LTC threaded tests. I picked the simpler, more robust version. I expect that further tests can find further improvements. STC (5+0.05 @ 8 threads): LLR: 2.95 (-2.94,2.94) [0.50,4.50] Total: 26209 W: 5359 L: 5079 D: 15771 Elo +3.71 http://tests.stockfishchess.org/tests/view/5d0a9b030ebc5925cf0a8e6f LTC (20+0.2 @ 8 threads): LLR: 2.96 (-2.94,2.94) [0.00,3.50] Total: 34832 W: 5650 L: 5382 D: 23800 Elo +2.67 http://tests.stockfishchess.org/tests/view/5d0c67a20ebc5925cf0aafa7 other passed/tested variants: http://tests.stockfishchess.org/tests/view/5d0a9b030ebc5925cf0a8e6f http://tests.stockfishchess.org/tests/view/5d0c67ca0ebc5925cf0aafa9 http://tests.stockfishchess.org/tests/view/5d0c67810ebc5925cf0aafa3 http://tests.stockfishchess.org/tests/view/5d0958ca0ebc5925cf0a74c6 For the sequential code there is no change in bench, and an earlier version of this patch passed a non-regression test. STC (10+0.1 @ 1 thread) LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 10471 W: 2364 L: 2220 D: 5887 Elo +4.78 http://tests.stockfishchess.org/tests/view/5d087ee20ebc5925cf0a6381 passed the additional non-regression tests at 2 and 4 threads 20+0.2 TC. The code was rebased on master prior to testing. 2 threads: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 218863 W: 40927 L: 41153 D: 136783 Elo -0.36 http://tests.stockfishchess.org/tests/view/5d18c6c30ebc5925cf0b9566 4threads: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 16839 W: 3017 L: 2889 D: 10933 Elo +2.64 http://tests.stockfishchess.org/tests/view/5d18c6ea0ebc5925cf0b9568 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 Jun 30 15:22:37 2019 +0200 Timestamp: 1561900957 Move storm special condition to UnblockedStorm array (#2210) This is a functional simplification. Looks like we can accommodate the special initialization of Value in evaluate_shelter in the UnblockedStorm array. STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 32483 W: 7422 L: 7322 D: 17739 Elo +1.07 http://tests.stockfishchess.org/tests/view/5d14c5f80ebc5925cf0b48da LTC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 35361 W: 6139 L: 6042 D: 23180 Elo +0.95 http://tests.stockfishchess.org/tests/view/5d14d69c0ebc5925cf0b4bd0 Bench 3596270 see source |