Re: [computer-go] GPUs and go algorithms?
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?
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?
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?
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/