Checkpoint

Summary

Currently, we have completed the serialization MCTS and CPU parallelized MCTS, starting implementing GPU parallelized MCTS. We spent a lot of time on integrating with Fuego (a open source Go software), so we a little bit behind the proposed schedule. Since we are getting more familiar with Fuego code base, the proposed goal can still be achieved. Checkout the revised schedule on the proposal tab.

Now we are using Fuego as our Go related software, so we are not care about how to play Go and check win and loss of a game, our main focus is on implementing parallelized MCTS on CPU and GPU. We think we are on the right track and all deliverables on the proposal can be finished. For the additional UI part, we found a really good software, GoGUI, that is compatible with Fuego. Following is our goal list:

The final deliverables on parallelism competition will be a demo that shows how our parallelized MCTS AI competing against other AI. And graphs show speedup between different parallelism implementations.

We have a preliminary result for CPU based parallelized implementation. For given 10 seconds, the serialization MCTS can run 97 simulations while CPU parallelized implementation with 6 threads (GHC machines have 6 CPU cores) can run 487 simulations. It is 5X speedup.

Reference

[1] Rocki, Kamil, and Reiji Suda. "Parallel Monte Carlo Tree Search on GPU." SCAI. 2011.