From ebc563059c5fc103ca6d79edb04bb6d5f182eaf5 Mon Sep 17 00:00:00 2001 From: Joost VandeVondele Date: Tue, 6 Jun 2017 09:48:57 +0200 Subject: [PATCH] Call TT.new_search() earlier. TT.new_search() was being called by mainThread in Thread::search(). However, mainThread is the last to start searching, and helper threads could reach a measured rootDepth 10 (on 64 cores) before mainThread increments the TT generation. Fixed by moving the call to MaintThread::search() before helper threads start searching. No functional change. Closes #1134 --- src/search.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index aafbf80f..8f3c4552 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -244,6 +244,7 @@ void MainThread::search() { Color us = rootPos.side_to_move(); Time.init(Limits, us, rootPos.game_ply()); + TT.new_search(); int contempt = Options["Contempt"] * PawnValueEg / 100; // From centipawns DrawValue[ us] = VALUE_DRAW - Value(contempt); @@ -347,7 +348,6 @@ void Thread::search() { EasyMove.clear(); mainThread->easyMovePlayed = mainThread->failedLow = false; mainThread->bestMoveChanges = 0; - TT.new_search(); } size_t multiPV = Options["MultiPV"]; -- 2.39.2