From bc3b148d5712ef9ea00e74d3ff5aea10a4d3cabe Mon Sep 17 00:00:00 2001 From: Peter Zsifkovits Date: Tue, 4 Sep 2018 13:36:42 +0200 Subject: [PATCH 1/1] NUMA for 9 threads or more Enable numa machinery only for STRICTLY MORE than 8 threads. Reason for this change is that nowadays SMP tests are always done with 8 threads. That is a problem for multi-socket Windows machines running on fishtest. No functional change --- AUTHORS | 1 + src/thread.cpp | 2 +- src/tt.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index ba374479..04fc7d0f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -100,6 +100,7 @@ Pascal Romaret Pasquale Pigazzini (ppigazzini) Patrick Jansen (mibere) pellanda +Peter Zsifkovits (CoffeeOne) Ralph Stößer (Ralph Stoesser) Raminder Singh renouve diff --git a/src/thread.cpp b/src/thread.cpp index ed7c5f33..42c25968 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -98,7 +98,7 @@ void Thread::idle_loop() { // some Windows NUMA hardware, for instance in fishtest. To make it simple, // just check if running threads are below a threshold, in this case all this // NUMA machinery is not needed. - if (Options["Threads"] >= 8) + if (Options["Threads"] > 8) WinProcGroup::bindThisThread(idx); while (true) diff --git a/src/tt.cpp b/src/tt.cpp index 98d59365..4780e2d3 100644 --- a/src/tt.cpp +++ b/src/tt.cpp @@ -87,7 +87,7 @@ void TranspositionTable::clear() { threads.push_back(std::thread([this, idx]() { // Thread binding gives faster search on systems with a first-touch policy - if (Options["Threads"] >= 8) + if (Options["Threads"] > 8) WinProcGroup::bindThisThread(idx); // Each thread will zero its part of the hash table -- 2.39.2