CPU v. GPU for chess engines GPUs are better at certain types of calculations, e.g. generating bitcoins and performing climate simulations.

Would chess engines benefit if they calculated with GPUs instead of CPUs?

Maybe some knowledgeable person can highlight the differences between the two and enlighten us as to whether GPUs are (un)suitable for the type of calculations that chess engines execute.
EDIT:

Few other points raised in http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=32317.


GPU not so good for recursion
GPU not so good for floating
GPU might work better for new machine-learning approach, but not the traditional engine algorithms


Original:

@Maxwell86 has already given excellent links and resources. Pay attention to the zeta-chess engine. It's a GPU chess engine. Unfortunately, GPU has not proven its usefulness in chess programming. In fact, the zeta chess engine project went absolutely nowhere.

GPU works very well on floating calculations and algorithms that can be paralleled. This requires independence. But if we look at a typical min-max (or alpha-beta) tree (used by every chess engine )



The right branch depends on the left branch. In particular, if we can get a cutoff (fail-high), we wouldn't even need to search the remaining nodes. Unfortunately, this is not something that a GPU can do efficiently. It's possible to write a GPU program for alpha-beta, but the GPU threads (known as kernels) will need to be paused to wait. Unlike a CPU, a GPU kennel can't just switch to something else ( a process known as thread-switch or even process-switch).

Our existing algorithm and engine knowledge was derived for the CPU world. The entire algorithm would need to be reinvestigated for the GPU. Unfortunately, there is not much interest and research on it.