Poker-AI.org
http://poker-ai.org/phpbb/

parallelize mccfr
http://poker-ai.org/phpbb/viewtopic.php?f=24&t=3411
Page 1 of 1

Author:  llllllllll [ Fri Mar 12, 2021 5:27 pm ]
Post subject:  parallelize mccfr

Entire games with hierarchical abstraction can be parallelized fairly straightforwardly. The first round runs one thread, and when it reaches the second round, each thread samples chance from a different 'public bucket' (and weighs the values), ensuring that no threads share the same infoset on a future street.

However, I can not find such a simple way to parallelize single street subgames with mccfr. Here are some ideas that I've had:

1) Preventing threads from sampling the same hand - I believe this could undersample hands that you are more likely to have. It may work with a uniform distribution of hands.

2) Allowing race conditions - I've found one thread on this forum from a decade ago that had tried this unsuccessfully.

3) Using locks - This seems expensive and unlikely to give much speedup.

4) Using an iterative algorithm - I've implemented vector form cfr both recursively and iteratively, but the sampling in external sampling mccfr makes it much more suitable to recursion.

5) Parallelizing getting ev for each action - I've never used nested parallelism. I'm guessing there is some overhead even when using threadpools, but this is the best solution I've come up with.

I've tried to download Amax's river solver, but the link seems to be dead.

Does anyone have any experience or ideas?

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/