Skip to content

Parallel RL#225

Merged
QueensGambit merged 72 commits into
masterfrom
parallel_rl
Jan 12, 2026
Merged

Parallel RL#225
QueensGambit merged 72 commits into
masterfrom
parallel_rl

Conversation

@QueensGambit
Copy link
Copy Markdown
Owner

@QueensGambit QueensGambit commented Jan 9, 2026

This PR allows generating multiple games on a single GPU.
You need to set the variable Number_Parallel_Games (default: 8) to configure how many games you want to run in parallel. No change of Batch_Size is necessary, as it automatically increases the usual Batch_Size by times Number_Parallel_Games, i.e., times 8.
The individual parallel games are exported into separate files and later merged into a single file via Python.

The rlSettings->numberChunks is divided by searchSettings->numberParallelGames for each TrainDataExporter object. On the GPU, it uses a queue and a future.get() setup to handle the requests.

Generating one RL package on an Nvidia A100 takes 3 hours and 15 minutes by default. When using a parallelization of 8, it takes 1 hour and 15 minutes, resulting in an approximate threefold speed up.

Note, the parallel RL loop is not compatible with the Mixture of Experts (MoE) setup.
It also includes a small version of the A0 resnet.

Add option "Number Parallel Games"
Add ->get_local_batch_size()
Make NeuralNetAPIUser a member
Rename id to agentID
Make some variables to *
+ make condition variable as MCTSAgent member
@QueensGambit QueensGambit merged commit bb3b5b6 into master Jan 12, 2026
0 of 3 checks passed
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