{"push_id":913172753,"size":21,"distinct_size":2,"ref":"refs/heads/stable_search","head":"53667d4a421d1664f305b8f2f71cd520924a5950","before":"26bc15ea52525465d8df0474fd75067eac38ec14","commits":[{"sha":"93195555ed230df1d29933de6236d6847ae88310","author":{"email":"e7366a8c07bfdf2f7115ad219848d448a055b931@gmail.com","name":"Marco Costalba"},"message":"Rewrite how threads are spawned\n\nInstead of creating a running std::thread and\nreturning, wait in Thread c'tor that the native\nthread of execution goes to sleep in idle_loop().\n\nIn this way we can simplify how search is started,\nbecause when main thread is idle we are sure also\nall other threads will be idle, in any case, even\nat thread creation and startup.\n\nAfter lazy smp went in, we can simpify and rewrite\na lot of logic that is now no more needed. This is\nhopefully the final big cleanup.\n\nTested for no regression at 5+0.1 with 3 threads:\nLLR: 2.95 (-2.94,2.94) [-5.00,0.00]\nTotal: 17411 W: 3248 L: 3198 D: 10965\n\nNo functional change.","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/93195555ed230df1d29933de6236d6847ae88310"},{"sha":"328098d027e7c35625acbb28e42732137c02d0c1","author":{"email":"4b1bae11f1777a912b0957c30f951f323deff558@gmail.com","name":"lucasart"},"message":"Fix TT comment and static_assert()\n\nComment is based on a misunderstanding of what unaligned memory access is. Here\nis an article that explains it very clearly:\nhttps://www.kernel.org/doc/Documentation/unaligned-memory-access.txt\n\nNo matter how we define TTEntry or TTCluster, there will never be any unaligned\nmemory access. This is because the complier knows the alignment rules, and does\nthe necessary adjustments to make sure unaligned memory access does not occur.\n\nThe issue being adressed here has nothing to do with unaligned memory access. It\nis about cache performance. In order to achieve best cache performance:\n- we prefetch the cacheline as soon as possible.\n- we ensure that TT clusters do not spread across two cachelines. If they did,\n  we would need to prefetch 2 cachelines, which could hurt cache performance.\n\nTherefore the true conditions to achieve this are:\n1/ start adress of TT is cache line aligned. void TranspositionTable::resize()\nenforces this.\n2/ TT cluster size should *divide* the cache line size. Currently, we pack 2\nclusters per cache lines. It used to be 1 before \"TT sardines\". Does not matter\nwhat the ratio is, all we want is to fit an integer number of clusters per cache\nline.\n\nNo functional change.\n\nResolves #506","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/328098d027e7c35625acbb28e42732137c02d0c1"},{"sha":"79f393084af73655c869af126281bb2a7c2cc396","author":{"email":"8ce396f43608b3b27b67158abb0b1885ca05027f@email","name":"mstembera"},"message":"Clean up RootMove less operator\n\nThis is used by std::stable_sort() to sort moves from highest score to lowest score.\n\n1) The comment is incorrect since highest to lowest means descending.\n2) It's more natural to implement a less operator using another less operator rather than a greater operator.\n\nNo functional change.\n\nResolves #504","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/79f393084af73655c869af126281bb2a7c2cc396"},{"sha":"388630ae285b3f9f0c8ee4f30e754bde6688c57c","author":{"email":"8ce396f43608b3b27b67158abb0b1885ca05027f@email","name":"mstembera"},"message":"Allow cross compilation of Windows binaries on a Linux system\n\nthat are PGO, LTO, and statically linked.\nCredit: pasquale....@gmail.com\n\nNo functional change\n\nResolves #505","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/388630ae285b3f9f0c8ee4f30e754bde6688c57c"},{"sha":"5339ab57d80b19de3cb664b62fd40b626bc1634b","author":{"email":"f7c86d500a996202165f30555a37a7f4889d3d0f@zoox.com","name":"Joona Kiiski"},"message":"Revert \"Allow cross compilation of Windows binaries on a Linux system\"\n\nThis reverts commit 388630ae285b3f9f0c8ee4f30e754bde6688c57c.\n\nConfuses fishtest build system","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/5339ab57d80b19de3cb664b62fd40b626bc1634b"},{"sha":"5a42427cb882f8adcfe65d41f4fabac5d2ac4a5b","author":{"email":"dc5888237d439b473359081fc99470407a7c956d@free.fr","name":"Stéphane Nicolet"},"message":"Introduce new Threats weights = {350, 256}\n\nRaise the midgame threats weight by 37%.\n\nPassed STC:\nLLR: 2.95 (-2.94,2.94) [0.00,4.00]\nTotal: 8165 W: 1675 L: 1487 D: 5003\n\nand LTC:\nLLR: 2.95 (-2.94,2.94) [0.00,4.00]\nTotal: 28181 W: 4141 L: 3912 D: 20128\n\nBench: 7824961\n\nResolves #512","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/5a42427cb882f8adcfe65d41f4fabac5d2ac4a5b"},{"sha":"5d077bb482c0203fa138097ece5a7aa6a46e9f2a","author":{"email":"8ce396f43608b3b27b67158abb0b1885ca05027f@email","name":"mstembera"},"message":"Proper Makefile for cross compiling 64 or 32 bit PGO + LTO + static Windows binaries under Linux.\n\nNo functional change\n\nResolves #511","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/5d077bb482c0203fa138097ece5a7aa6a46e9f2a"},{"sha":"52eac1e53512f4388bb310cb4d653ce18c9c4c63","author":{"email":"e7366a8c07bfdf2f7115ad219848d448a055b931@gmail.com","name":"Marco Costalba"},"message":"Simplify outpost code\n\nAlso inline defintions of SpaceMask and CenterBindMask.\n\nVerified from assembly that compiler computes the values\nat compile time, so it is also theoretical faster.\n\nWhile there factor out scale factor evaluation.\n\nNo functional change.","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/52eac1e53512f4388bb310cb4d653ce18c9c4c63"},{"sha":"8315620522dd268755f32be792802abb62f7366f","author":{"email":"5ff552e803e805da676442abcaad8a9a33140fb8@gmail.com","name":"absimaldata"},"message":"New Tuned Weights\n\nMore accurate evaluation weights\n\nPerformed better at STC\n\nLLR: 1.32 (-2.94,2.94) [0.00,4.00]\nTotal: 190043 W: 37433 L: 36675 D: 115935\n\nPassed LTC\n\nLLR: 2.95 (-2.94,2.94) [0.00,4.00]\nTotal: 30157 W: 4540 L: 4303 D: 21314\n\nBench: 9264977\n\nResolves #515","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/8315620522dd268755f32be792802abb62f7366f"},{"sha":"7904a7d930d4979fcd0bf13d48a6504f97f39a54","author":{"email":"8ce396f43608b3b27b67158abb0b1885ca05027f@email","name":"mstembera"},"message":"Fix MultiPv and Skill in SMP.\n\n7 threads, 5+0.1:\nLLR: 2.96 (-2.94,2.94) [-3.00,1.00]\nTotal: 55460 W: 9665 L: 9601 D: 36194\n\nNo functional change in normal playing mode","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/7904a7d930d4979fcd0bf13d48a6504f97f39a54"},{"sha":"69240a982d8c3a2d01fab04c284be43853ab2bc9","author":{"email":"d44294dabb5559d834f8f8d1c5d4fd75c165770e@home","name":"Leonid Pechenik"},"message":"Simplify time management and fix 'ponder on' bug\n\nSimplify time management code by removing hard stops for unchanging first root moves.\nSearch is now stopped earlier at the end iteration if it did not have fail-lows at root.\n\nThis simplification also fixes pondering bug. Ponder flag was true by default\nand cutechess-cli doesn't change it to false even though no pondering is possible.\nFix the issue by setting the default value of 'Ponder' flag to false.\n\n10+0.1:\nELO: 3.51 +-3.0 (95%) LOS: 99.0%\nTotal: 20000 W: 3898 L: 3696 D: 12406\n\n40+0.4:\nELO: 1.39 +-2.7 (95%) LOS: 84.7%\nTotal: 20000 W: 3104 L: 3024 D: 13872\n\n60+0.06:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 37231 W: 5333 L: 5236 D: 26662\n\nStopped run at 100+1:\nLLR: 1.09 (-2.94,2.94) [-3.00,1.00]\nTotal: 37253 W: 4862 L: 4856 D: 27535\n\nResolves #523\nFixes #510","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/69240a982d8c3a2d01fab04c284be43853ab2bc9"},{"sha":"9fac5774f414ec4a2e86c6b0306f07de427cd5db","author":{"email":"5bdcd3c0d4d24ae3e71b3b452a024c6324c7e4bb@multicim.com","name":"Alain SAVARD"},"message":"Threats retuned\n\nSTC:\n\nLLR: 2.96 (-2.94,2.94) [0.00,4.00]\nTotal: 45239 W: 8913 L: 8591 D: 27735\n\nLTC:\n\nLLR: 2.95 (-2.94,2.94) [0.00,4.00]\nTotal: 21046 W: 3200 L: 2989 D: 14857\n\nBench: 8012530\n\nResolves #526","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/9fac5774f414ec4a2e86c6b0306f07de427cd5db"},{"sha":"2c1797ab81957221266f7dd445845a1a525ccb9d","author":{"email":"8ce396f43608b3b27b67158abb0b1885ca05027f@email","name":"mstembera"},"message":"Fix easy move bug in SMP mode\n\nFix a bug where we could stop the search after only 10% of time used due to a matching easy move but later switch to a different move that was never pre-screened as easy due to SMP thread select.\n\nSTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 27227 W: 4910 L: 4800 D: 17517\n\nLTC:\nLLR: 2.96 (-2.94,2.94) [-3.00,1.00]\nTotal: 40368 W: 5826 L: 5733 D: 28809\n\nResolves #521","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/2c1797ab81957221266f7dd445845a1a525ccb9d"},{"sha":"38adb487ca37f276674d04e92dd3213f4d47cf72","author":{"email":"b0cd829153b63f387d516d753090e92e29a60ce6@wuerth-phoenix.com","name":"Guenther Demetz"},"message":"Distinct iteration paths for Lazy SMP threads\n\nSTC 5+0.1, threads 7\nLLR: 2.96 (-2.94,2.94) [0.00,5.00]\nTotal: 6026 W: 1047 L: 901 D: 4078\n\nLTC: 20+0.2, threads 7\nLLR: 2.95 (-2.94,2.94) [0.00,5.00]\nTotal: 19739 W: 2910 L: 2721 D: 14108\n\nSTC 5+0.1, threads 20\nLLR: 2.95 (-2.94,2.94) [0.00,5.00]\nTotal: 2493 W: 462 L: 331 D: 1700\n\nLTC 30+0.3, threads 20\nELO: 8.86 +-3.7 (95%) LOS: 100.0%\nTotal: 8000 W: 1076 L: 872 D: 6052\n\nBench: 8012530\n\nResolves #525","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/38adb487ca37f276674d04e92dd3213f4d47cf72"},{"sha":"5bbd94409955b3db88e43527922fae4840a9ecb2","author":{"email":"29dae7eb44030f3c8bd3eb62f4be118abbce1411@users.noreply.github.com","name":"loco-loco"},"message":"Remove unused field SearchStack::ttMove\n\nNo functional change\n\nResolves #533","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/5bbd94409955b3db88e43527922fae4840a9ecb2"},{"sha":"ed72a1e9ba37a9fa2674da8f46bb0597a1721c2d","author":{"email":"ace7f16dc79366a592c6b81c420853f4b5758c68@gmail.com","name":"VoyagerOne"},"message":"Remove killer move conditions from LMR\n\nSTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 8459 W: 1619 L: 1477 D: 5363\n\nLTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 32239 W: 4404 L: 4299 D: 23536\n\nBench: 7597031\n\nResolves #534","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/ed72a1e9ba37a9fa2674da8f46bb0597a1721c2d"},{"sha":"da34023cfcb856e95d8cbc0b80653ab0ee6af6d6","author":{"email":"5bdcd3c0d4d24ae3e71b3b452a024c6324c7e4bb@multicim.com","name":"Alain SAVARD"},"message":"New mobility bonus\n\nTuned the global mobility factor for each piece, as well as some +- delta,\n\nThe master mobility factor was {266,334} and tuning gave\n{267, 362} +S(-2,-2) for the Knight\n{249, 328} +S( 0,-2) for the Bishop\n{298, 353} +S(1,1) for the Rook\n{265, 358} +S(2,-1) for the Queen\n\nPassed STC\nLLR: 2.95 (-2.94,2.94) [0.00,4.00]\nTotal: 49402 W: 9367 L: 9037 D: 30998\n\nand LTC\nLLR: 2.97 (-2.94,2.94) [0.00,5.00]\nTotal: 26831 W: 3871 L: 3658 D: 19302\n\nBench: 8355485\n\nResolves #536","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/da34023cfcb856e95d8cbc0b80653ab0ee6af6d6"},{"sha":"e3c85c314d9ae6c1fc25655261c7a1afb77d1568","author":{"email":"702ae7d9a4d18417ce7fbdcc9534920f34d4e291@hotmail.com","name":"DU-jdto"},"message":"Remove another unnecessary Search::Stack field\n\nNo functional change\n\nResolves #535","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/e3c85c314d9ae6c1fc25655261c7a1afb77d1568"},{"sha":"1e8836d921b3b508e5d44d2fafab95230bdd03c6","author":{"email":"02e053f091e63bc15e7f2d0be44d553aca687a24@tut.by","name":"braich"},"message":"Fix compiling of 32 bit binary on 64-bit Windows\n\nTwo versions of mingw-w64 (targeting Win64 and Win32)\ncan be installed on Windows too.\n\nNo functional change\n\nResolves #532","distinct":false,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/1e8836d921b3b508e5d44d2fafab95230bdd03c6"},{"sha":"32a602948ca2b42d65805f39d2f57af85f632cfe","author":{"email":"f8b9c0cff2f545eac9a7d41c0869c56ba3ea7e96@googlemail.com","name":"joergoster"},"message":"Merge branch 'master' into stable_search","distinct":true,"url":"https://api.github.com/repos/joergoster/Stockfish/commits/32a602948ca2b42d65805f39d2f57af85f632cfe"}]}