Precisely: I'm getting almost optimal use of my dual-core processor.
Peter Drake
Assistant Professor of Computer Science
Lewis & Clark College
http://www.lclark.edu/~drake/
On Dec 7, 2006, at 10:47 AM, Don Dailey wrote:
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/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/