Added EnableTranspositionTable UCI option to enable/disable transposition table.

This commit is contained in:
nodchip
2020-09-10 20:54:47 +09:00
parent 59402d4a6d
commit ac6e6f73f2
3 changed files with 21 additions and 1 deletions

View File

@@ -28,6 +28,10 @@
TranspositionTable TT; // Our global transposition table
#ifdef EVAL_LEARN
bool TranspositionTable::enable_transposition_table = true;
#endif
/// TTEntry::save() populates the TTEntry with a new node's data, possibly
/// overwriting an old position. Update is not atomic and can be racy.
@@ -116,6 +120,13 @@ void TranspositionTable::clear() {
TTEntry* TranspositionTable::probe(const Key key, bool& found) const {
#ifdef EVAL_LEARN
if (!enable_transposition_table) {
found = false;
return first_entry(0);
}
#endif
TTEntry* const tte = first_entry(key);
const uint16_t key16 = (uint16_t)key; // Use the low 16 bits as key inside the cluster

View File

@@ -84,6 +84,10 @@ public:
return &table[mul_hi64(key, clusterCount)].entry[0];
}
#ifdef EVAL_LEARN
static bool enable_transposition_table;
#endif
private:
friend struct TTEntry;

View File

@@ -44,7 +44,10 @@ void on_use_NNUE(const Option& ) { Eval::init_NNUE(); }
void on_eval_file(const Option& ) { Eval::init_NNUE(); }
#ifdef EVAL_LEARN
void on_prune_at_shallow_depth_on_pv_node(const Option& o) {
Search::prune_at_shallow_depth_on_pv_node = o;
Search::prune_at_shallow_depth_on_pv_node = o;
}
void on_enable_transposition_table(const Option& o) {
TranspositionTable::enable_transposition_table = o;
}
#endif
@@ -102,6 +105,8 @@ void init(OptionsMap& o) {
o["EvalSaveDir"] << Option("evalsave");
// Prune at shallow depth on PV nodes. Setting this value to true gains elo in shallow search.
o["PruneAtShallowDepthOnPvNode"] << Option(false, on_prune_at_shallow_depth_on_pv_node);
// Enable transposition table.
o["EnableTranspositionTable"] << Option(true, on_enable_transposition_table);
#endif
}