Re: [computer-go] GPUs and go algorithms?

2007-12-07 Thread terry mcintyre
You may wish to look at the CUDA docs: 

http://developer.nvidia.com/object/cuda.html#documentation

and the Telsa GPU: http://www.nvidia.in/page/tesla_tech_specs.html
 
Terry McIntyre <[EMAIL PROTECTED]>
They mean to govern well; but they mean to govern. They promise to be kind 
masters; but they mean to be masters. -- Daniel Webster

- Original Message 
From: Darren Cook <[EMAIL PROTECTED]>
To: computer-go 
Sent: Thursday, December 6, 2007 5:07:50 PM
Subject: Re: [computer-go] GPUs and go algorithms?


Joshua Shriver wrote:
> I've been looking into GPGPU for several years now, there was even
 some buzz
> in the comp-chess stream but the downsides seemed to be to much.
 Think the
> big problem is the latency on the PCI/AGP bus. Though that might not
 be as
> much an issue now with PCI-x, etc.

Thanks. My question could've been rephrased as "Can a basic alpha-beta
searcher for chess be written to run on a GPU?". Can I take the above
 to
mean "Yes, but the overhead of calling it took too much time"? Or were
they putting some smaller part of the chess algorithm (e.g. leaf node
evaluation or move sorting) on the GPU? (In which case I can see how
communication overhead would drown out the performance gain.)

> For more info I'd refer you to this site which has been using GPU's
 for
> years.
> http://www.gpgpu.org/

Thanks, yes, that is a useful site. However I don't see anything
 related
to tree search.

Darren

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/






  

Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] GPUs and go algorithms?

2007-12-06 Thread Darren Cook
Joshua Shriver wrote:
> I've been looking into GPGPU for several years now, there was even some buzz
> in the comp-chess stream but the downsides seemed to be to much. Think the
> big problem is the latency on the PCI/AGP bus. Though that might not be as
> much an issue now with PCI-x, etc.

Thanks. My question could've been rephrased as "Can a basic alpha-beta
searcher for chess be written to run on a GPU?". Can I take the above to
mean "Yes, but the overhead of calling it took too much time"? Or were
they putting some smaller part of the chess algorithm (e.g. leaf node
evaluation or move sorting) on the GPU? (In which case I can see how
communication overhead would drown out the performance gain.)

> For more info I'd refer you to this site which has been using GPU's for
> years.
> http://www.gpgpu.org/

Thanks, yes, that is a useful site. However I don't see anything related
to tree search.

Darren

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] GPUs and go algorithms?

2007-12-06 Thread Joshua Shriver
I've been looking into GPGPU for several years now, there was even some buzz
in the comp-chess stream but the downsides seemed to be to much. Think the
big problem is the latency on the PCI/AGP bus. Though that might not be as
much an issue now with PCI-x, etc.

For more info I'd refer you to this site which has been using GPU's for
years.
http://www.gpgpu.org/

-Josh

On Dec 6, 2007 7:32 PM, Darren Cook <[EMAIL PROTECTED]> wrote:

> An interesting article on using GPUs for general purpose computation:
>
> http://www.linux-mag.com/microsites.php?site=business-class-hpc&sid=build&p=4543
>
> In (current mainstream) computer go there are two main CPU-bound
> algorithms: playouts (random, or incorporating logic or patterns) and
> tactical search. But the GPUs seem even more restricted in what they can
> do than the PS3 Cell processors (where the main restriction there was
> only a small amount of local memory). E.g. from the above article:
>* No stack or heap
>* No integer or bit-wise operations
>* No scatter operations (a[i]=b)
>* No reduction operations (max(), min(), sum())
>
> On the other hand this quote [1] from the Sh language page says it has
> for/if statements, which the latest GPUs support.
>
> Does anyone here both understood the above go algorithms *and* had
> experience with programming GPUs, and can confirm that they are not
> really useful?
>
> Darren
>
>
> [1]: From http://www.libsh.org/about.html
> Sh incorporates full language constructs for branching (e.g. for loops
> and if statements). Once GPUs are powerful enough to execute such
> constructs (which, to some extent, is true today) backends can be
> adjusted to compile such code to real hardware assembly. In the mean
> time our GPU simulator Sm implements various features expected to be in
> GPUs in the near future, such as a unified vertex and fragment
> instruction set.
>
>
> --
> Darren Cook
> http://dcook.org/mlsn/ (English-Japanese-German-Chinese free dictionary)
> http://dcook.org/work/ (About me and my work)
> http://dcook.org/work/charts/  (My flash charting demos)
> ___
> computer-go mailing list
> computer-go@computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

[computer-go] GPUs and go algorithms?

2007-12-06 Thread Darren Cook
An interesting article on using GPUs for general purpose computation:
http://www.linux-mag.com/microsites.php?site=business-class-hpc&sid=build&p=4543

In (current mainstream) computer go there are two main CPU-bound
algorithms: playouts (random, or incorporating logic or patterns) and
tactical search. But the GPUs seem even more restricted in what they can
do than the PS3 Cell processors (where the main restriction there was
only a small amount of local memory). E.g. from the above article:
* No stack or heap
* No integer or bit-wise operations
* No scatter operations (a[i]=b)
* No reduction operations (max(), min(), sum())

On the other hand this quote [1] from the Sh language page says it has
for/if statements, which the latest GPUs support.

Does anyone here both understood the above go algorithms *and* had
experience with programming GPUs, and can confirm that they are not
really useful?

Darren


[1]: From http://www.libsh.org/about.html
Sh incorporates full language constructs for branching (e.g. for loops
and if statements). Once GPUs are powerful enough to execute such
constructs (which, to some extent, is true today) backends can be
adjusted to compile such code to real hardware assembly. In the mean
time our GPU simulator Sm implements various features expected to be in
GPUs in the near future, such as a unified vertex and fragment
instruction set.


-- 
Darren Cook
http://dcook.org/mlsn/ (English-Japanese-German-Chinese free dictionary)
http://dcook.org/work/ (About me and my work)
http://dcook.org/work/charts/  (My flash charting demos)
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/