What about having each MC thread queue up it's results and have another thread read the queue and update the tree... This is assuming that a the time to update the tree is long and the time to enqueue is very short.
Jeffrey Greenberg http://www.inventivity.com http://www.jeffrey-greenberg.com -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Drake Sent: Thursday, December 07, 2006 9:37 AM To: computer-go Subject: Re: Threads (was Re: [computer-go] experiments with D programming) Those of you with multithreaded UCT programs -- how do you do it? Doesn't UCT pretty much require updating a common data structure after each MC run? Peter Drake Assistant Professor of Computer Science Lewis & Clark College http://www.lclark.edu/~drake/ On Dec 7, 2006, at 9:17 AM, Peter Drake wrote: > In related news, I've just multithreaded my program and ... it's > slower than the single-thread version! I'm pretty sure that this > happened because I threaded it at too fine a scale; I'm incurring > the overhead of thread creation for each MC run. I'll have to do > some thinking about how to reorganize this. > > Peter Drake > Assistant Professor of Computer Science > Lewis & Clark College > http://www.lclark.edu/~drake/ _______________________________________________ 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/