My understandings is that light playout should implement Bruegmann's
original proposal, which is Go rule plus basic patterns that avoid self-eye
filling. Our FPGA implementation does this while cutting 2 corners, (1)ko
violations are not checked; (2)suicides are allowed. We have tested in
software,and found no significant difference in MC's ability to evaluate
board positions with or without these 2 corners.  I wonder what corners did
libego cut?

Gathering pieces of information in this thread, it seems that the light
playout implementation on CPU is between 90k-170k/core on the latest
hardware i7 3.2 GHz.

(1) libego: 40k/GHz  -> 40k x 3.2= 130k @ 3.2GHz
(2) libego: 130k @ 2.5GHz -> 170k @ 3.2GHz
(3) Mark boon's implementation: 70k @ 2.6 -> 90k @ 3.2GHz

Thanks for the responses.
Fuming

On Sat, Jun 12, 2010 at 2:52 AM, Mark Boon <[email protected]> wrote:

> On Thu, Jun 10, 2010 at 11:09 PM, Erik van der Werf
> <[email protected]> wrote:
> > Lukasz Lew's libego used to have the fastest light playouts. IIRC some
> > years ago it already got over 100k playouts per second for 9x9 on one
> > core. I guess it should now be possible to get over 200k light
> > playouts per second. Others on this list may have more accurate
> > numbers.
>
> Cores didn't really get much faster recently, so what makes you think
> it could be twice as fast now?
>
> A while ago I took a peek at his code, but I found it hard to
> understand. In a logical sense I saw some places that seem sub-optimal
> from an algorithmic point of view. But I figured the numbers speak for
> themselves. At the time it was reported it did something like 40K
> playouts per Ghz. But I didn't manage to verify this as I never got
> his code to compile. It's probably a bit too Linux specific in its
> setup. The main reason I didn't look into it further (apart from lack
> of time) is that AFAIK it doesn't keep liberties. But I think it does
> keep a few other useful things.
>
> People refer to 'light' playouts but may mean different things. I like
> to at least make the distinction between playouts that keeps correct
> liberty counts and playouts with pseudo liberties. In my personal
> code, pseudo liberties is only marginally faster than real liberties
> so I find it highly preferable to keep real liberties so it can be
> used by a tactical module. But I didn't spend nearly as much time as
> Lukasz trying to optimize it.
>
> The other thing that needs care when touting playout speeds is whether
> this is purely measuring playouts, or playouts while building a MCTS
> tree (or hashtable).
>
> My Java implementation of light playouts with liberties does something
> like 30K-35K per second on one core. I think it's similar on a 2.6Ghz
> i5 as on an older 2.8Ghz. The same code directly translated to C is
> about twice as fast.
>
> Mark
> _______________________________________________
> Computer-go mailing list
> [email protected]
> http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
>
_______________________________________________
Computer-go mailing list
[email protected]
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Reply via email to