On Thu, 2006-12-07 at 10:24 -0800, Peter Drake wrote: > Got it -- now I'm getting just under 10,000 games per second! Whee!
Hold on, I thought the non-threaded version was doing 5,000? What exactly did you change? Or are you just using 2 processors more efficiently to get 10,000 games? - Don > (FWIW, I actually don't have the UCT part in there yet -- these are > purely random games.) > > Peter Drake > Assistant Professor of Computer Science > Lewis & Clark College > http://www.lclark.edu/~drake/ > > > > > On Dec 7, 2006, at 10:07 AM, Peter Drake wrote: > > > Aha! Now I get it. You only have to look at the tree during the > > opening part of the run. Once you've fallen off and are making > > purely random moves, you can let someone else use the tree. > > > > Thanks! > > > > Peter Drake > > Assistant Professor of Computer Science > > Lewis & Clark College > > http://www.lclark.edu/~drake/ > > > > > > > > > > On Dec 7, 2006, at 9:59 AM, [EMAIL PROTECTED] wrote: > > > >>> The problem is that a single MC run takes about 1/5 of a > >>> millisecond, > >>> so it's not worth the overhead of putting it off into another > >>> thread. > >> Creating a thread for each MC simulation is clearly very costy. > >> > >>> I need some way to tell a thread to do many runs, then somehow > >>> incorporate the multiple runs back into my search tree. I believe > >>> others are already doing this and I'm curious how. > >> Yes we do that in MoGo. > >> > >> I try to explain the algorithm here: > >> > >> 3 methods: > >> DescendTheTreeUsingUCT > >> MCSimulation > >> UpdateTheTree > >> > >> At the beginning of a genmove, we create n threads > >> (n==nbProcessors), then > >> each thread calls the method "think" which is: > >> > >> think { > >> while (time left) { > >> mutex.lock() > >> DescendTheTreeUsingUCT > >> mutex.unlock() > >> MCSimulation > >> mutex.lock() > >> UpdateTheTree > >> mutex.unlock() > >> } > >> } > >> > >> Each thread has his own data for all except tree (for exemple we > >> keep the > >> current sequence, ...). > >> > >> Is it cleared that way ? > >> > >> _______________________________________________ > >> computer-go mailing list > >> computer-go@computer-go.org > >> http://www.computer-go.org/mailman/listinfo/computer-go/ > > _______________________________________________ > > computer-go mailing list > > computer-go@computer-go.org > > http://www.computer-go.org/mailman/listinfo/computer-go/ > _______________________________________________ > computer-go mailing list > computer-go@computer-go.org > http://www.computer-go.org/mailman/listinfo/computer-go/ _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/