Super-powering computer go

For discussing go computing, software announcements, etc.
Post Reply
vash3g
Lives with ko
Posts: 277
Joined: Thu Apr 29, 2010 8:49 pm
Rank: 5k
GD Posts: 111
Has thanked: 41 times
Been thanked: 87 times

Super-powering computer go

Post by vash3g »

http://www.theregister.co.uk/2012/12/07 ... cking_rig/

Using 25 ATI GPU's this researcher can crack a 14 character hashed password in six minutes. Regular brute force methods will take 5.5 hours. Has any of this been applied to computer go at all? It's been a known fact for some years that using GPU's for processing does 5-6x the processing that regular CPU's can do. CUDA is the future, is anyone using it yet?
Decisions are made by those who show up.
and possibly those willing to attend secret meetings in ancient basements
speedchase
Lives in sente
Posts: 800
Joined: Sun Dec 04, 2011 4:36 pm
Rank: AGA 2kyu
GD Posts: 0
Universal go server handle: speedchase
Has thanked: 139 times
Been thanked: 122 times

Re: Super-powering computer go

Post by speedchase »

vash3g wrote:http://www.theregister.co.uk/2012/12/07 ... cking_rig/

Using 25 ATI GPU's this researcher can crack a 14 character hashed password in six minutes. Regular brute force methods will take 5.5 hours. Has any of this been applied to computer go at all? It's been a known fact for some years that using GPU's for processing does 5-6x the processing that regular CPU's can do. CUDA is the future, is anyone using it yet?
You completely misunderstood the article. 5.5 hours is how long it takes to break for a different type of hash, not a different to use a different method of cracking it. GPU's are for processing graphical information. Not so much useful for go related calculations, although with a good GPU, the virtual board the moves would be played on would look beautiful.
lovelove
Lives in gote
Posts: 604
Joined: Mon Nov 05, 2012 4:21 am
Rank: Tygem 5 Dan
GD Posts: 0
Location: Séoul, Corée
Has thanked: 88 times
Been thanked: 365 times

Re: Super-powering computer go

Post by lovelove »

speedchase wrote:
vash3g wrote:http://www.theregister.co.uk/2012/12/07 ... cking_rig/

Using 25 ATI GPU's this researcher can crack a 14 character hashed password in six minutes. Regular brute force methods will take 5.5 hours. Has any of this been applied to computer go at all? It's been a known fact for some years that using GPU's for processing does 5-6x the processing that regular CPU's can do. CUDA is the future, is anyone using it yet?
You completely misunderstood the article. 5.5 hours is how long it takes to break for a different type of hash, not a different to use a different method of cracking it. GPU's are for processing graphical information. Not so much useful for go related calculations, although with a good GPU, the virtual board the moves would be played on would look beautiful.
GPU processing are also used in non-graphic processing, for its fast speed.
Amsterdam, soon.
speedchase
Lives in sente
Posts: 800
Joined: Sun Dec 04, 2011 4:36 pm
Rank: AGA 2kyu
GD Posts: 0
Universal go server handle: speedchase
Has thanked: 139 times
Been thanked: 122 times

Re: Super-powering computer go

Post by speedchase »

lovelove wrote:
speedchase wrote:
vash3g wrote:http://www.theregister.co.uk/2012/12/07 ... cking_rig/

Using 25 ATI GPU's this researcher can crack a 14 character hashed password in six minutes. Regular brute force methods will take 5.5 hours. Has any of this been applied to computer go at all? It's been a known fact for some years that using GPU's for processing does 5-6x the processing that regular CPU's can do. CUDA is the future, is anyone using it yet?
You completely misunderstood the article. 5.5 hours is how long it takes to break for a different type of hash, not a different to use a different method of cracking it. GPU's are for processing graphical information. Not so much useful for go related calculations, although with a good GPU, the virtual board the moves would be played on would look beautiful.
GPU processing are also used in non-graphic processing, for its fast speed.
true, but their use outside of graphical processing is limited. How they could be applied to go playing algorithms is questionable, and it still doesn't solve the problem, it would just make a solution a little faster when it is found, if it could even do that.
kivi
Lives with ko
Posts: 159
Joined: Mon Mar 21, 2011 7:14 am
Rank: EGF 3d
GD Posts: 0
Has thanked: 5 times
Been thanked: 36 times

Re: Super-powering computer go

Post by kivi »

MCTS is an embarrassingly parallel algorithm. So it is easy to move it to GPUs. Bots on KGS are already running on multi-core, or even clusters, afaik.

But I kinda remember a statement about Zen, that it doesn't benefit much from more computational power after it is able to do N playouts per move. E.g., if the computer is weak, and it can do N/2 playouts then it is 1-2 stones weaker than usual, but if it can do 10xN playouts it is not really stronger. I am not sure where I read this, or if this is true - does anybody know?
User avatar
Phelan
Gosei
Posts: 1449
Joined: Tue Apr 20, 2010 3:15 pm
Rank: KGS 6k
GD Posts: 892
Has thanked: 1550 times
Been thanked: 140 times

Re: Super-powering computer go

Post by Phelan »

kivi wrote:MCTS is an embarrassingly parallel algorithm. So it is easy to move it to GPUs. Bots on KGS are already running on multi-core, or even clusters, afaik.

But I kinda remember a statement about Zen, that it doesn't benefit much from more computational power after it is able to do N playouts per move. E.g., if the computer is weak, and it can do N/2 playouts then it is 1-2 stones weaker than usual, but if it can do 10xN playouts it is not really stronger. I am not sure where I read this, or if this is true - does anybody know?
I also remember something like this being posted somewhere in the forum. Not sure if it was Mike Novack or if it was Remi Coulon that talked about it, but I think it was one of them.
a1h1 [1d]: You just need to curse the gods and defend.
Good Go = Shape.
Associação Portuguesa de Go
badukJr
Lives with ko
Posts: 289
Joined: Sat Jan 07, 2012 1:00 pm
Rank: 100
GD Posts: 100
Has thanked: 7 times
Been thanked: 42 times

Re: Super-powering computer go

Post by badukJr »

speedchase wrote:
lovelove wrote:
speedchase wrote: You completely misunderstood the article. 5.5 hours is how long it takes to break for a different type of hash, not a different to use a different method of cracking it. GPU's are for processing graphical information. Not so much useful for go related calculations, although with a good GPU, the virtual board the moves would be played on would look beautiful.
GPU processing are also used in non-graphic processing, for its fast speed.
true, but their use outside of graphical processing is limited. How they could be applied to go playing algorithms is questionable, and it still doesn't solve the problem, it would just make a solution a little faster when it is found, if it could even do that.
I use GPUs to solve complex computational problems. They are not only for graphics.
Check out:
http://www.nvidia.com/object/cuda_home_new.html

That said, it would be non trivial to adapt the code for a many code GPU for bots, and as people stated the payoff would be questionable at best. The advantage of keeping the code for general CPU hardware is that its very portable.
macelee
Lives in sente
Posts: 928
Joined: Mon Dec 31, 2012 1:46 pm
Rank: 5 dan
GD Posts: 0
KGS: macelee
Location: UK
Has thanked: 72 times
Been thanked: 480 times
Contact:

Re: Super-powering computer go

Post by macelee »

GPUs can do floating point calculations incredibly fast. The raw power is there. The difficulty is always how to harness that power. It is still rather difficult to port many scientific algorithms to GPU. I imagine Go applications are more challenging.
User avatar
Samura
Dies in gote
Posts: 57
Joined: Wed Oct 03, 2012 3:06 pm
Rank: KGS 14 kyu
GD Posts: 0
KGS: Samura
Location: Porto Alegre, Brazil
Has thanked: 70 times
Been thanked: 17 times

Re: Super-powering computer go

Post by Samura »

Phelan wrote:
kivi wrote:MCTS is an embarrassingly parallel algorithm. So it is easy to move it to GPUs. Bots on KGS are already running on multi-core, or even clusters, afaik.

But I kinda remember a statement about Zen, that it doesn't benefit much from more computational power after it is able to do N playouts per move. E.g., if the computer is weak, and it can do N/2 playouts then it is 1-2 stones weaker than usual, but if it can do 10xN playouts it is not really stronger. I am not sure where I read this, or if this is true - does anybody know?
I also remember something like this being posted somewhere in the forum. Not sure if it was Mike Novack or if it was Remi Coulon that talked about it, but I think it was one of them.
Yes, Remi said one time that at certain point you start to get diminished returns for the increase of computational power.

As I understood, there is just so much you can do with a certain evaluation function. It's not enough for a program to have the reading of a 20 dan if it doesn't "know" how to distinguish better positions from worse ones.
User avatar
emeraldemon
Gosei
Posts: 1744
Joined: Sun May 02, 2010 1:33 pm
GD Posts: 0
KGS: greendemon
Tygem: greendemon
DGS: smaragdaemon
OGS: emeraldemon
Has thanked: 697 times
Been thanked: 287 times

Re: Super-powering computer go

Post by emeraldemon »

A GPU is what we call a SIMD processor: Single Instruction, Multiple Data. So instead of saying "add register 1 to register 2", it says "Add all the elements in this vector to all the elements in that vector". The key is that you can only take advantage of SIMD hardware if you want to do the exact same floating point operation to lots of numbers (I think newer GPUs can do ok on integers as well, I don't know very much about that). In addition, there's usually a significant cost associated with moving numbers to and from the GPU, so your task needs to do lots of these lock-step computations to take full advantage of the GPU's speed.

I don't know a lot about the details of Monte Carlo algorithms, but I'm not at all sure that GPUs would be able to speed up their progress. At a high level it is very parallel, but GPUs require a very specific kind of parallelism to be most effective.
User avatar
daniel_the_smith
Gosei
Posts: 2116
Joined: Wed Apr 21, 2010 8:51 am
Rank: 2d AGA
GD Posts: 1193
KGS: lavalamp
Tygem: imapenguin
IGS: lavalamp
OGS: daniel_the_smith
Location: Silicon Valley
Has thanked: 152 times
Been thanked: 330 times
Contact:

Re: Super-powering computer go

Post by daniel_the_smith »

I've got half a working go bot and I've written a very small amount of GPU code previously for something unrelated. It would be incredibly annoying to write code that did playouts in a form that could run on a GPU. I think it'd be possible. You'd lose some time transferring data into and out of the GPU, and also you have to batch up a bunch of playouts (but maybe you could do that while the GPU was running).

(PS @emeraldemon, GPUs do have SIMD for doing vector math but the parallelism comes (approximately) from breaking the rectangular or cubic work area into smaller units and executing each on its own core.)
That which can be destroyed by the truth should be.
--
My (sadly neglected, but not forgotten) project: http://dailyjoseki.com
Rémi
Lives with ko
Posts: 170
Joined: Sat Jan 14, 2012 4:11 pm
Rank: KGS 4 kyu
GD Posts: 0
Has thanked: 32 times
Been thanked: 119 times
Contact:

Re: Super-powering computer go

Post by Rémi »

vash3g wrote:http://www.theregister.co.uk/2012/12/07 ... cking_rig/

Using 25 ATI GPU's this researcher can crack a 14 character hashed password in six minutes. Regular brute force methods will take 5.5 hours. Has any of this been applied to computer go at all? It's been a known fact for some years that using GPU's for processing does 5-6x the processing that regular CPU's can do. CUDA is the future, is anyone using it yet?
The topic of using GPUs for programs comes up from time to time in the computer-go mailing list.

http://www.mail-archive.com/computer-go ... 12474.html
http://www.mail-archive.com/computer-go ... 05577.html

So far, no strong program came out of these efforts. It seems difficult to take advantage of those processors efficiently for Monte-Carlo Go. GPUs are efficient only for certain types of calculations.

Rémi
Post Reply