[Pachi] Questions after succeeded to compile Pachi by VC2012 on Windows

Yang, Jian Jian.Yang at amd.com
Tue Jul 30 05:28:32 CEST 2013

Hi, Pachi Team
After 30 hours' work,  pachi is converted  to VC2012 and compiled and run correctly under windows 7.  I have several questions to begin my next investigation:

1)      I can not find the macro definition for INFINITY.

Copy the comments from struct ucb1_policy

  /* First Play Urgency - if set to less than infinity (the MoGo paper

  * above reports 1.0 as the best), new branches are explored only

  * if none of the existing ones has higher urgency than fpu. */

  floating_t fpu;

so I used

#define FLOAT_INFINITY (1.1f)

Who can tell me the correct macro of FLOAT_INFINITY?

2)      I tried official Windows Build and my build.   The both level is about Tom-11K to Tom-12K on my Laptop (4 core CPU) .  I did not use KGS before

Tom 9D ==  Amateur 7D to  Professional 9D

Tom 8D ==  Amateur 5D to  Amateur 6D

Tom 7D ==  Amateur 5D entry level

Tom 6D == Amateur 4D

Tom 11K == Amateur 10K

Is it normal level for Pachi without fbook & spatial dictionary?

3)      I also did performance  profiling of Pachi.  Pachi is limited by UCB, board,  and patter operations.

Is it same with your profiling result?

4)      From memory profiling, the major memory allocation is tree_init. It will malloc 1GB to 1.5GB.

Is it right?  How many tree_node/board for 1.5GB?

5)      I am investigating how to use GPU to accelerate computer go games.  I spent 1 week on Fuego. But Feugo is based on boost and very hard to do data parallel. So I spent another week to convert Pachi to VC2012.

Have you investigate GPU accelerating before?

For example, 1 high-eng GPU has 4K processors and 6GB memory.   My several small algorithms of data processing shows 100x to 200x speed-up with intel I7 8-Cores. 1000x faster than Intel i7 single core.

I believe that the memory size of struct board could be compressed to ½ .

But I am not sure 6GB is enough to play 2K moves at the  same time.

The possible pseudo code  (potential error is out of memory for so many tree_node?)

While Time available

      UCT generate 4000-8000 Random move

     Emulate 4000-8000 random at once

     Evaluate tree

While end

6)      Would you kindly to check my VC2012 conversion in source forge?

pthreadVSE2.dll is used  for VC2012.


Jian Yang
Performance Veification & Analysis
Sr. Mgr ASIC/Layout Design Engineer
AMD Technology & Engineering IPE GFX
Shanghai Design Center
O: +(0086) 21 6115 8113

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rover.ms.mff.cuni.cz/pipermail/pachi/attachments/20130730/33ce004a/attachment.html>

More information about the Pachi mailing list