Use std::abs over abs closes https://github.com/official-stockfish/Stockfish/pull/4926 closes https://github.com/official-stockfish/Stockfish/pull/4909 No functional change Co-Authored-By: fffelix-huang <72808219+fffelix-huang@users.noreply.github.com>
Add loongarch64 support Adding support for LoongArch64 architecture. Tested on Loongson 3A6000 EVB Board. Since Loongson's SIMD extended instruction set ([LSX](https://gcc.gnu.org/onlinedocs/gcc/LoongArch-SX-Vector-Intrinsics.html), [LASX](https://gcc.gnu.org/onlinedocs/gcc/LoongArch-ASX-Vector-Intrinsics.html)) is already supported by GCC, more optimizations are being developed. Here's the benchmark result for Loongson 3A6000 (4c8t, 2.5Ghz) without SIMD optimizations. ``` Total time (ms) : 17903 Nodes searched : 1244386 Nodes/second : 69507 ``` closes https://github.com/official-stockfish/Stockfish/pull/4913 No functional change
Skip futility pruning if ttMove has bad history Passed STC: LLR: 2.96 (-2.94,2.94) <0.00,2.00> Total: 52416 W: 13465 L: 13128 D: 25823 Ptnml(0-2): 128, 6024, 13604, 6287, 165 https://tests.stockfishchess.org/tests/view/651fadd4ac577114367277bf Passed LTC: LLR: 2.94 (-2.94,2.94) <0.50,2.50> Total: 87348 W: 22234 L: 21818 D: 43296 Ptnml(0-2): 38, 9240, 24698, 9664, 34 https://tests.stockfishchess.org/tests/view/65201932ac57711436728218 closes https://github.com/official-stockfish/Stockfish/pull/4825 bench: 1246560
Increment minor section number from 3.7.1 to 3.8.1. Pext has nothing to do with git commit sha/date, so separate the two sub-sections. closes https://github.com/official-stockfish/Stockfish/pull/4785 No functional change
Update links to fishtest Fishtest has moved to https://github.com/official-stockfish/fishtest/ closes https://github.com/official-stockfish/Stockfish/pull/4758 No functional change
Fix dead link to compression algorithm in tbprobe closes https://github.com/official-stockfish/Stockfish/pull/4746 No functional change
Remove the unused enum ScaleFactor closes https://github.com/official-stockfish/Stockfish/pull/4740 No functional change
Remove Zobrist::noPawns Zobrist::noPawns is no longer used. closes https://github.com/official-stockfish/Stockfish/pull/4344 no functional change
Unused code cleanup closes https://github.com/official-stockfish/Stockfish/pull/4696 No functional change
remove evalType from bench no longer used closes https://github.com/official-stockfish/Stockfish/pull/4694 No functional change
simplified gives check castling tested verifying perft and bench is unchanged on a larger set of epds for both standard and FRC chess. Passed non-regression STC: https://tests.stockfishchess.org/tests/live_elo/648587be65ffe077ca123d78 LLR: 2.95 (-2.94,2.94) <-1.75,0.25> Total: 153632 W: 41015 L: 40928 D: 71689 Ptnml(0-2): 377, 16077, 43816, 16174, 372 closes https://github.com/official-stockfish/Stockfish/pull/4628 No functional change
Update default net to nn-a3d1bfca1672.nnue faster permutation of master net weights Activation data taken from https://drive.google.com/drive/folders/1Ec9YuuRx4N03GPnVPoQOW70eucOKngQe?usp=sharing Permutation found using https://github.com/Ergodice/nnue-pytorch/blob/836387a0e5e690431d404158c46648710f13904d/ftperm.py See also https://github.com/glinscott/nnue-pytorch/pull/254 The algorithm greedily selects 2- and 3-cycles that can be permuted to increase the number of runs of zeroes. The percent of zero runs from the master net increased from 68.46 to 70.11 from 2-cycles and only increased to 70.32 when considering 3-cycles. Interestingly, allowing both halves of L1 to intermix when creating zero runs can give another 0.5% zero-run density increase with this method. Measured speedup: ``` CPU: 16 x AMD Ryzen 9 3950X 16-Core Processor Result of 50 runs base (./stockfish.master ) = 1561556 +/- 5439 test (./stockfish.patch ) = 1575788 +/- 5427 diff = +14231 +/- 2636 speedup = +0.0091 P(speedup > 0) = 1.0000 ``` closes https://github.com/official-stockfish/Stockfish/pull/4640 No functional change
Remove setting of static to none if in check in qsearch Small simplification Passed non-regression STC: https://tests.stockfishchess.org/tests/view/6487924d713491385c8034ae LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 59616 W: 15885 L: 15703 D: 28028 Ptnml(0-2): 144, 6130, 17086, 6296, 152 closes https://github.com/official-stockfish/Stockfish/pull/4618 No functional change.
Fix for MSVC compilation. MSVC needs two more explicit casts to compile new affine_transform_sparse_input. See https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_castsi256_ps and https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps closes https://github.com/official-stockfish/Stockfish/pull/4616 No functional change
Use block sparse input for the first layer. Use block sparse input for the first fully connected layer on architectures with at least SSSE3. Depending on the CPU architecture, this yields a speedup of up to 10%, e.g. ``` Result of 100 runs of 'bench 16 1 13 default depth NNUE' base (...ockfish-base) = 959345 +/- 7477 test (...ckfish-patch) = 1054340 +/- 9640 diff = +94995 +/- 3999 speedup = +0.0990 P(speedup > 0) = 1.0000 CPU: 8 x AMD Ryzen 7 5700U with Radeon Graphics Hyperthreading: on ``` Passed STC: https://tests.stockfishchess.org/tests/view/6485aa0965ffe077ca12409c LLR: 2.93 (-2.94,2.94) <0.00,2.00> Total: 8864 W: 2479 L: 2223 D: 4162 Ptnml(0-2): 13, 829, 2504, 1061, 25 This commit includes a net with reordered weights, to increase the likelihood of block sparse inputs, but otherwise equivalent to the previous master net (nn-ea57bea57e32.nnue). Activation data collected with https://github.com/AndrovT/Stockfish/tree/log-activations, running bench 16 1 13 varied_1000.epd depth NNUE on this data. Net parameters permuted with https://gist.github.com/AndrovT/9e3fbaebb7082734dc84d27e02094cb3. closes https://github.com/official-stockfish/Stockfish/pull/4612 No functional change
Removed quadratic term in optimism Remove term which is quadratic in optimism in the eval. Simplifies and should also remove the bias towards side to move making the eval better for analysis. STC: https://tests.stockfishchess.org/tests/view/6470a9d8c29e0d4352b0bca5 LLR: 2.94 (-2.94,2.94) <-1.75,0.25> Total: 154432 W: 41127 L: 41040 D: 72265 Ptnml(0-2): 380, 17094, 42190, 17163, 389 LTC: https://tests.stockfishchess.org/tests/view/6471e9b3e549d9cf2fb219ef LLR: 2.94 (-2.94,2.94) <-1.75,0.25> Total: 127926 W: 34474 L: 34369 D: 59083 Ptnml(0-2): 43, 12505, 38776, 12582, 57 closes https://github.com/official-stockfish/Stockfish/pull/4590 Bench: 2541211
Remove ss->ttHit condition where ttValue != VALUE_NONE Simplification is done at 3 separate places in the code. Thanks to peregrineshahin for helping me find 2 of such places. (See original PR #4584) Passed non-regression test LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 120256 W: 32204 L: 32085 D: 55967 Ptnml(0-2): 292, 12473, 34483, 12584, 296 https://tests.stockfishchess.org/tests/view/646f045968661bfd984325e3 closes https://github.com/official-stockfish/Stockfish/pull/4587 No functional change
Update AUTHORS Improved some comments in the AUTHORS file, sort contributors closes https://github.com/official-stockfish/Stockfish/pull/4520 No functional change
Small cleanups remove some unneeded assignments, typos, incorrect comments, add authors entry. closes https://github.com/official-stockfish/Stockfish/pull/4417 no functional change
Clarify the description of the x86-64-vnni256 and x86-64-avxvnni architectures Now it is clearly explained that "x86-64-vnni256" requires full support of AVX512-VNNI, but only 256-bit operands are used. closes https://github.com/official-stockfish/Stockfish/pull/4427 No functional change