[Pachi] Questions after succeeded to compile Pachi by VC2012 on Windows
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. */
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
6) Would you kindly to check my VC2012 conversion in source forge?
pthreadVSE2.dll is used for VC2012.
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...
More information about the Pachi