David,

In single thread UCT, a playout selects optimal move depends on the 
result of previous playout.  This gives best performance.  With 
multi-threaded UCT (assuming N threads), a playout cannot use 
previous result but (N - 1) earlier playout, or has to ignore the 
results of last (N - 1) playouts, which causes worse performance.

By my old experiments using GGMC Go on 9x9 board, one more thread 
causes -10 Elo rating but this number should depend on the performance 
and/or the implementation of the program, the board size, and so on.

Hideki

David Fotland: <033001cac02b$d86c66b0$894534...@com>:
>Has anyone tried the following experiment:
>
>Against a standard opponent (not the same program), compare scaling in time
>vs scaling in cores.
>
>For example run one core for X playouts against the opponent, then run four
>cores, each with X/4 playouts against the same opponent, and run one core
>with X/4 playouts.
>
>Now we can compare the difference between four times as much time on one
>core to four times as many cores.  Most engines, including Many Faces, scale
>number of playouts linearly with number of cores, but for Many Faces, one
>core is quite a bit stronger than four cores when running the same number of
>playouts.
>
>When playing against Gnugo level 10 19x19, 8K playouts wins 87%.  32K
>playouts on one core wins 97%, but 32 playouts on four cores (8K each) only
>wins 94%.
>
>I'm curious if other programs scale strength better with more cores.  
>
>David
>
>_______________________________________________
>Computer-go mailing list
>[email protected]
>http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
--
[email protected] (Kato)
_______________________________________________
Computer-go mailing list
[email protected]
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Reply via email to