Super-powering computer go
-
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
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?
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
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
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.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?
-
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
GPU processing are also used in non-graphic processing, for its fast speed.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.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?
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
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.lovelove wrote:GPU processing are also used in non-graphic processing, for its fast speed.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.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?
-
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
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?
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?
- 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
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.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?
-
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
I use GPUs to solve complex computational problems. They are not only for graphics.speedchase wrote: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.lovelove wrote:GPU processing are also used in non-graphic processing, for its fast speed.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.
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
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.
- 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
Yes, Remi said one time that at certain point you start to get diminished returns for the increase of computational power.Phelan wrote: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.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?
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.
- 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
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.
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.
- 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
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.)
(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
--
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
The topic of using GPUs for programs comes up from time to time in the computer-go mailing list.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?
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