Yes it performed well for Hex8x8; i got a speed up of 60x compared to CPU when i tested it about 2 years ago on a not-so-modern GPU (128 cores IIRC). However, the playouts in Hex are much simpler than that of Go. For instance, I check for termination of game once when the board is completely full, i.e after all 64 stones are placed. This has allowed me to do only with two bitboards: empty_squares and white_stones_squares. It is weird that you don't even need to store black_stones. Also there are no captures to complicate matters.
I have a "chess" branch in the github repo that I experimented on, but it didn't work out well. First, chess is not suitable for monte-carlo search. Second, board representation requires more register/shared memory so it is difficult to make one thread do one playout by itself. Right now a warp (32 threads) get the same position from the MCTS tree, then each do their own playouts. There won't be lots of divergence as all they do is place a stone until board is completely full. I guess the memory limitation issue affects Go as well. GPU for Go is definitely harder than Hex8x8, which I handpicked for better performance. But I believe one should be able to get a good Go or Checkers engine using MCTS on the GPU. Daniel On Fri, Jun 26, 2015 at 6:29 AM, Darren Cook <dar...@dcook.org> wrote: > > It is not exactly Go, but i have a monte-carlo tree searcher on the GPU > for > > the game of Hex 8x8.... > > Here is a github link https://github.com/dshawul/GpuHex > > The engine looks to be just the middle 450 lines of code; quite compact! > So running playouts on a GPU worked out well? > > Would doing the same thing for go be just a matter of writing more lines > of code, or needing more memory on the GPU, or is there some more > fundamental difference between hex and go that makes the latter less > suitable? (e.g. in hex pieces are only added to the board, whereas in go > they can be removed and loops can happen - does that make GPU-ing > algorithms harder?) > > Darren > > _______________________________________________ > Computer-go mailing list > Computer-go@computer-go.org > http://computer-go.org/mailman/listinfo/computer-go >
_______________________________________________ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go