mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Remove "Max Threads per Split Point" UCI option
Experimental patch to verify if drop of nps in endgames at very long TC is due to this. Suggested by Ronald de Man. bench: 7451319
This commit is contained in:
parent
6e4b4c42ed
commit
a1a7bc84da
4 changed files with 6 additions and 10 deletions
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -166,7 +166,6 @@ struct ThreadPool : public std::vector<Thread*> {
|
|||
|
||||
bool sleepWhileIdle;
|
||||
Depth minimumSplitDepth;
|
||||
size_t maxThreadsPerSplitPoint;
|
||||
Mutex mutex;
|
||||
ConditionVariable sleepCondition;
|
||||
TimerThread* timer;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue