diff --git a/polyglot.ini b/polyglot.ini index b851a33a..4e825f3c 100644 --- a/polyglot.ini +++ b/polyglot.ini @@ -30,7 +30,6 @@ Space = 100 Aggressiveness = 100 Cowardice = 100 Min Split Depth = 0 -Max Threads per Split Point = 5 Threads = 1 Idle Threads Sleep = true Hash = 128 diff --git a/src/thread.cpp b/src/thread.cpp index 9e96be6e..60c0ce71 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -88,7 +88,7 @@ Thread::Thread() /* : splitPoints() */ { // Value-initialization bug in MSVC maxPly = splitPointsSize = 0; activeSplitPoint = NULL; activePosition = NULL; - idx = Threads.size(); + idx = Threads.size(); // Starts from 0 } @@ -213,9 +213,8 @@ void ThreadPool::exit() { void ThreadPool::read_uci_options() { - maxThreadsPerSplitPoint = Options["Max Threads per Split Point"]; - minimumSplitDepth = Options["Min Split Depth"] * ONE_PLY; - size_t requested = Options["Threads"]; + minimumSplitDepth = Options["Min Split Depth"] * ONE_PLY; + size_t requested = Options["Threads"]; assert(requested > 0); @@ -297,12 +296,12 @@ void Thread::split(Position& pos, const Stack* ss, Value alpha, Value beta, Valu activeSplitPoint = &sp; activePosition = NULL; - size_t slavesCnt = 1; // This thread is always included + int slavesCnt = 1; // This thread is always included Thread* slave; - while ( (slave = Threads.available_slave(this)) != NULL - && ++slavesCnt <= Threads.maxThreadsPerSplitPoint && !Fake) + while (!Fake && (slave = Threads.available_slave(this)) != NULL) { + ++slavesCnt; sp.slavesMask |= 1ULL << slave->idx; slave->activeSplitPoint = &sp; slave->searching = true; // Slave leaves idle_loop() diff --git a/src/thread.h b/src/thread.h index c9152b22..ddeb4902 100644 --- a/src/thread.h +++ b/src/thread.h @@ -166,7 +166,6 @@ struct ThreadPool : public std::vector { bool sleepWhileIdle; Depth minimumSplitDepth; - size_t maxThreadsPerSplitPoint; Mutex mutex; ConditionVariable sleepCondition; TimerThread* timer; diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 68a57bd5..eefacb22 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -70,7 +70,6 @@ void init(OptionsMap& o) { o["Aggressiveness"] = Option(100, 0, 200, on_eval); o["Cowardice"] = Option(100, 0, 200, on_eval); o["Min Split Depth"] = Option(0, 0, 12, on_threads); - o["Max Threads per Split Point"] = Option(5, 4, 8, on_threads); o["Threads"] = Option(1, 1, MAX_THREADS, on_threads); o["Idle Threads Sleep"] = Option(true); o["Hash"] = Option(32, 1, 16384, on_hash_size);