Skip to content

Child Search Threads#160

Merged
QueensGambit merged 30 commits intomasterfrom
single_descent
Nov 1, 2021
Merged

Child Search Threads#160
QueensGambit merged 30 commits intomasterfrom
single_descent

Conversation

@QueensGambit
Copy link
Owner

This PR adds the option to allocate multiple threads for a single mini-batch.

The new coresponding UCI-option is called ChildThreads (default: 4) and allows using higher batch sizes more effectively.

It also adds the option to distribute multiple visits in a single select statement for future usage.

Performance

  • TC: 7s + 0.1s
  • Opening suite: Unbalanced_Human_Openings_V3/UHO_V3_+150_+159/UHO_V3_8mvs_big_+140_+169.epd
Score of ClassicAra 0.9.6 - Refactor (Threads 2, ChildThreads 4, BSize 64) vs
 ClassicAra 0.9.5.post Master (Threads 2, BSize 16): 64 - 26 - 72 [0.617]
Elo difference: 83.0 +/- 40.2, LOS: 100.0 %, DrawRatio: 44.4 %

162 of 1000 games finished.

QueensGambit and others added 30 commits October 12, 2021 00:00
added split_budget_across_nodes()
refactoring: create_new_node(), handle_returns()
added typedef Budget
added handle_single_split()
added StateObj* currentState parameter
added "Trajectory& trajectoryBuffer" to get_new_child_to_evaluate()
added debug comments
deactived "d->noVisitIdx == 1" condition
changed initSize to 2
cleanup and asserts
added NONE_IDX in constants.h
added NeuralNetData to SearchThread
removed run_search_thread()
added run_backup_values()
added run_create_mini_batch()
added UCI-Option ChildThreads
increased default Batch_Size to 64
changed get_policy_output_length() into get_nb_policy_values()

Score of ClassicAra 0.9.6 - Refactor (Threads 2, ChildThreads 4, BSize
64) vs ClassicAra 0.9.5.post Master (Threads 2, BSize 16): 64 - 26 - 72
[0.617]
Elo difference: 83.0 +/- 40.2, LOS: 100.0 %, DrawRatio: 44.4 %

162 of 1000 games finished.
added another test case for first_and_second_max()
@QueensGambit QueensGambit merged commit 82004ed into master Nov 1, 2021
@QueensGambit QueensGambit deleted the single_descent branch November 1, 2021 15:47
QueensGambit added a commit that referenced this pull request Nov 1, 2021
implemented reset_stats(), get_tb_hits(), get_avg_depth(),
get_max_depth()
re-added get_policy_output_length()
fixed logging.info() problem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant