From fb18caae7a7906a6c9a0579c43021221c663965a Mon Sep 17 00:00:00 2001 From: Disservin Date: Wed, 5 Jun 2024 18:31:11 +0200 Subject: [PATCH 1/2] Update clang-format to version 18 clang-format-18 is available in ubuntu noble(24.04), if you are on a version lower than that you can use the update script from llvm. https://apt.llvm.org/ Windows users should be able to download and use clang-format from their release builds https://github.com/llvm/llvm-project/releases or get the latest from msys2 https://packages.msys2.org/package/mingw-w64-x86_64-clang. macOS users can resort to "brew install clang-format". closes https://github.com/official-stockfish/Stockfish/pull/5365 No functional change --- .github/workflows/clang-format.yml | 6 +++--- CONTRIBUTING.md | 2 +- src/Makefile | 4 ++-- src/search.cpp | 10 +++++----- src/thread.cpp | 2 +- src/tune.cpp | 3 +-- 6 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml index e20e0d5d6..630edbf93 100644 --- a/.github/workflows/clang-format.yml +++ b/.github/workflows/clang-format.yml @@ -25,7 +25,7 @@ jobs: id: clang-format continue-on-error: true with: - clang-format-version: "17" + clang-format-version: "18" exclude-regex: "incbin" - name: Comment on PR @@ -33,9 +33,9 @@ jobs: uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # @v2.5.0 with: message: | - clang-format 17 needs to be run on this PR. + clang-format 18 needs to be run on this PR. If you do not have clang-format installed, the maintainer will run it when merging. - For the exact version please see https://packages.ubuntu.com/mantic/clang-format-17. + For the exact version please see https://packages.ubuntu.com/noble/clang-format-18. _(execution **${{ github.run_id }}** / attempt **${{ github.run_attempt }}**)_ comment_tag: execution diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cf9cecda2..caffc916e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -59,7 +59,7 @@ discussion._ Changes to Stockfish C++ code should respect our coding style defined by [.clang-format](.clang-format). You can format your changes by running -`make format`. This requires clang-format version 17 to be installed on your system. +`make format`. This requires clang-format version 18 to be installed on your system. ## Navigate diff --git a/src/Makefile b/src/Makefile index 29c4f879d..742fd1958 100644 --- a/src/Makefile +++ b/src/Makefile @@ -153,8 +153,8 @@ dotprod = no arm_version = 0 STRIP = strip -ifneq ($(shell which clang-format-17 2> /dev/null),) - CLANG-FORMAT = clang-format-17 +ifneq ($(shell which clang-format-18 2> /dev/null),) + CLANG-FORMAT = clang-format-18 else CLANG-FORMAT = clang-format endif diff --git a/src/search.cpp b/src/search.cpp index 15cc2d8fe..2cbc76774 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -579,9 +579,10 @@ Value Search::Worker::search( // Step 2. Check for aborted search and immediate draw if (threads.stop.load(std::memory_order_relaxed) || pos.is_draw(ss->ply) || ss->ply >= MAX_PLY) - return (ss->ply >= MAX_PLY && !ss->inCheck) ? evaluate( - networks[numaAccessToken], pos, refreshTable, thisThread->optimism[us]) - : value_draw(thisThread->nodes); + return (ss->ply >= MAX_PLY && !ss->inCheck) + ? evaluate(networks[numaAccessToken], pos, refreshTable, + thisThread->optimism[us]) + : value_draw(thisThread->nodes); // Step 3. Mate distance pruning. Even if we mate at the next move our score // would be at best mate_in(ss->ply + 1), but if alpha is already bigger because @@ -775,8 +776,7 @@ Value Search::Worker::search( // Step 8. Futility pruning: child node (~40 Elo) // The depth condition is important for mate finding. - if (!ss->ttPv && depth < 13 - && eval - futilityMargin - (ss - 1)->statScore / 263 >= beta + if (!ss->ttPv && depth < 13 && eval - futilityMargin - (ss - 1)->statScore / 263 >= beta && eval >= beta && eval < VALUE_TB_WIN_IN_MAX_PLY && (!ttMove || ttCapture)) return beta > VALUE_TB_LOSS_IN_MAX_PLY ? beta + (eval - beta) / 3 : eval; diff --git a/src/thread.cpp b/src/thread.cpp index 0a33422ac..4acb9854b 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -179,7 +179,7 @@ void ThreadPool::set(const NumaConfig& numaConfig, const size_t threadId = threads.size(); const NumaIndex numaId = doBindThreads ? boundThreadToNumaNode[threadId] : 0; auto manager = threadId == 0 ? std::unique_ptr( - std::make_unique(updateContext)) + std::make_unique(updateContext)) : std::make_unique(); // When not binding threads we want to force all access to happen diff --git a/src/tune.cpp b/src/tune.cpp index 3e5ebe5e6..f377e59ec 100644 --- a/src/tune.cpp +++ b/src/tune.cpp @@ -118,7 +118,6 @@ void Tune::Entry::read_option() { namespace Stockfish { -void Tune::read_results() { /* ...insert your values here... */ -} +void Tune::read_results() { /* ...insert your values here... */ } } // namespace Stockfish From 5688b188cc8560e107815c83a7084220fddebdb9 Mon Sep 17 00:00:00 2001 From: cj5716 <125858804+cj5716@users.noreply.github.com> Date: Fri, 31 May 2024 21:55:39 +0800 Subject: [PATCH 2/2] Simplify evaluation constants Passed STC (<0, 2> by accident): LLR: 2.95 (-2.94,2.94) <0.00,2.00> Total: 346016 W: 89529 L: 88756 D: 167731 Ptnml(0-2): 1012, 41074, 88027, 41919, 976 https://tests.stockfishchess.org/tests/view/6659d6ecf426908fcc6b6929 Passed LTC: LLR: 2.96 (-2.94,2.94) <-1.75,0.25> Total: 89862 W: 22887 L: 22734 D: 44241 Ptnml(0-2): 45, 9999, 24694, 10144, 49 https://tests.stockfishchess.org/tests/view/665a6ebb062b2c3cf814fde8 Passed LTC (Rebased): LLR: 2.94 (-2.94,2.94) <-1.75,0.25> Total: 325500 W: 82734 L: 82826 D: 159940 Ptnml(0-2): 193, 36409, 89665, 36263, 220 https://tests.stockfishchess.org/tests/view/665bd39f44e8416a9cdc1909 closes https://github.com/official-stockfish/Stockfish/pull/5361 Bench 961982 --- src/evaluate.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index afba6363b..fdf35eb17 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -83,10 +83,8 @@ Value Eval::evaluate(const Eval::NNUE::Networks& networks, optimism += optimism * nnueComplexity / 470; nnue -= nnue * nnueComplexity / 20000; - int material = 300 * pos.count() + 350 * pos.count() + 400 * pos.count() - + 640 * pos.count() + 1200 * pos.count(); - - v = (nnue * (34300 + material) + optimism * (4400 + material)) / 36672; + int material = 600 * pos.count() + pos.non_pawn_material(); + v = (nnue * (68600 + material) + optimism * (8800 + material)) / 73344; // Damp down the evaluation linearly when shuffling v -= v * pos.rule50_count() / 212;