Not logged inRybka Chess Community Forum
Up Topic The Rybka Lounge / Computer Chess / CUDA and chess engines
- - By albitex (***) Date 2008-06-15 01:14 Edited 2008-06-15 01:36
CUDA is the new programming environment of NVidia.
With it we can exploit to the best the GPU.
It allows the management of the parallelism computing.
Could we use the GPU for chess engines work?
The problem is that to use the programming language CUDA, is not easy.
But I think that exploiting at the most CPU and GPU of our PC, we could still increase the power of Rybka.  
Parent - - By Sesse (****) Date 2008-06-15 04:49
This (can we use CUDA, PS3, etc.) is rapidly becoming a FAQ. To sum it up: Probably not, since

1. Floating-point performance is not very relevant for a chess engine, which works a lot more on bit-fiddling, branches and random memory access,
2. The type of parallelism that is the heart of the massive performance you can get from such solutions is less useful for a chess engine, where there are many interdependencies between the calculations.

/* Steinar */
Parent - - By M ANSARI (*****) Date 2008-06-15 07:49
Do you think something could be written to make use of an endgame module instead of chess engine?  I mean an endgame module that would look at bitbase information for win loss or draw position and then use quick search through the bitbase tree to find the fastest win.  This way there would be no need to load all EGTB and would allow the main computer to run faster since it won't have EGTB performance hit ... yet would still benefit from them.
Parent - - By Vasik Rajlich (Silver) Date 2008-06-15 10:12
This is a lot of work for a marginal benefit.

Parent - - By albitex (***) Date 2008-06-16 00:35 Edited 2008-06-16 00:45
Well, according to your declarations and those of Larry, it seems that today the only thing that we can do for increasing the power of Rybka on our computers, both that to have CPU more powerful.
But I have some doubts, on the strength relationship between power of the CPU and elo of the engine.
You remember that a few weeks ago', I had written a post in this forum, in which did I publish the resulted of a tournament among engines performed on my PC ? 
Well, the result caught me, because Rybka single core, had gotten a better score of the version MP. Subsequently I realized me, to have been wrong to plan the start database of the tournament, distorting the final result. ((I wrote the excuses for this error in the forum).  But in these days, I am analyzing a variation of an opening (with the method Random).
Well, I am always getting the same result or Rybka single core it seems stronger than the version MP. This time I have not used a database with  starts  positions. I have planned the opening book, so that only is played  the variations of the opening that it interests me. The computational depth is 12 moves.
Now, I still have to end the tour, I have played only 200 games till now. I want to reach 1000. But now it is glimpse already, that Rybka single core is stronger than its brother MP.
Rybka MP, obviously reaches the depth of 12 moveses, in once of 1/2 or 2/3 of the time employed by Rybka s.c. (it is faster). But the final result of the games, seems not to be influenced by this.
Now this is a partial result, I still have to end the tour. When I will have made the whole 1000 games I will publish the definitive result.
In conclusion: it seems that using dualcore instead that one, I have an advantage only in blitz games. While in long time games, I don't have substantial advantages,  rather...

Parent - By Vasik Rajlich (Silver) Date 2008-06-18 08:39
For fixed-depth games, the multi-processor version will be only very slightly stronger than the single-processor version. Your result is easily within the error bars.

Parent - - By gala.martin (**) Date 2008-06-18 14:19
Hi, I can guess you do not speak english, but you use a translator instead. Still, it seems to be a good translator. May I ask you which one?
Parent - - By albitex (***) Date 2008-06-20 20:42
yes, I use a translator. It is: "RealTranslatorPlus" of the: EXA media .
It is simple and light . Besides it can be used also as comforts and practical text editors.  However I advise you to study the English . . If I had followed from boy, my father's suggestion, today  I would communicate in the forums, very more easily.
Parent - By gala.martin (**) Date 2008-06-21 09:45
Thanks. I can speak (a bit of) English myself. An English translator is not needed :-) But I like translators, and I would need a good hindi one
Parent - - By iapx Date 2009-07-17 20:17
I am actually working on an open-source implementation of a Chess Engine in CUDA, and think it may take a great place, not as the *BEST* Chess Engine, as there is major drawback in CUDA that disable real chess knowledge to be implemeted (lack of registers, that is), but as a brute-force engine. See my CudaChess blog
Parent - By Vasik Rajlich (Silver) Date 2009-07-18 06:16
Cool - I am glad that someone is tackling this. Good luck!

Parent - - By stephanie (**) Date 2009-07-18 06:29
Where can I download this CUDA chess engine

Future GPUs or cGPUs have some CPU like properties eg.GT300 or larabee, maybe one day it will be possible to port normal chess engine to run into GPU without affecting critical parts of the code. At least GPU have some use to chess, Chessbase already implemented GPU optimization on their database program maybe fritz 12 will be the first one to use GPU for chess engine who knows. Maybe the last hope for any weaker non-rybka chess engine there to gain some interest, that is use GPU as a resource else they will just have to beat rybka strength on CPU arena. It might be a good improvement but I doubt rybka or aquarium will implement GPU optimizations on their programs though.
Parent - - By smatovic Date 2012-02-21 19:31
Where can I download this CUDA chess engine

I guess Mr. Cuda Chess changed his focus from chess to parallel programming in general.

But there is an OpenCL Chess Engine in progress:

The Negamaxed version looks promising,
but it is hard to implement an efficient parallel AlphaBeta Pruning solution across thousands of threads!

For those who think GPUs do only floating point operations -> thats wrong, they can do all necessary 32 or 64 bit integer operations a chess engine needs,
Nvidia and AMD just decided to publish only the FLOP values in their papers instead of F/MAD/MUL operations stuff.

Parent - - By Geomusic (*****) Date 2012-02-24 08:25
IN-PROGRESS for like the past 3 years LOL
Parent - By smatovic Date 2012-02-24 12:36 germany they like to say "Gut Ding will Weile haben" -> "good things need time".

Up Topic The Rybka Lounge / Computer Chess / CUDA and chess engines

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill