If You have cluster/PC with 100 CPUs...

Discussion of chess software programming and technical issues.

Moderator: Ras

Jouni
Posts: 3651
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

If You have cluster/PC with 100 CPUs...

Post by Jouni »

... can You do this: Analyze all possible moves with one/two CPU by playing about 20 moves against strong opponent (another engine?) with 1/20 of allowed time and then pick the move with highest score in endposition.
Can this give stronger play than 100 CPU SMP search may be?!

Jouni
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: If You have cluster/PC with 100 CPUs...

Post by bob »

Jouni wrote:... can You do this: Analyze all possible moves with one/two CPU by playing about 20 moves against strong opponent (another engine?) with 1/20 of allowed time and then pick the move with highest score in endposition.
Can this give stronger play than 100 CPU SMP search may be?!

Jouni
No. The reason is pretty simple. You spend way too much effort on moves you will never play, while an alpha/beta search using SMP will spend all its time on the move it will play... And go a lot deeper with more correctness...
FlavusSnow
Posts: 89
Joined: Thu Apr 01, 2010 5:28 am
Location: Omaha, NE

Re: If You have cluster/PC with 100 CPUs...

Post by FlavusSnow »

I haven't done a formal analysis or ran any 1,000,000 game models, but I would guess that the ELO gain going from 4 ply search depth to a 6 ply search depth is higher than going from 22 ply search depth to 24 ply search depth. Or at a minimum, the ELO gain per time is much much higher because going from 4 to 6 ply takes so much less time than going from 22 to 24 ply depth.

Either way, its pretty obvious that we're dealing with diminishing returns. So at some point I would think it is more wasteful to go one ply deeper than it would be to search extra nodes in order to get better information.

One of the ideas that I fancy is using multi-pv searches near the root node (first couple of ply) and use that information to extend the search on those few nodes identified as the top two or three moves. Effectively this would extend the search near the PV...a proven way to increase strength, but as some would criticize, a multi-pv search wastes time searching nodes that you don't need to search. But my 16 core machine needs something to waste its CPU time on because there is very little ELO gain going from 8 to 16 cores with current algorithms.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: If You have cluster/PC with 100 CPUs...

Post by bob »

FlavusSnow wrote:I haven't done a formal analysis or ran any 1,000,000 game models, but I would guess that the ELO gain going from 4 ply search depth to a 6 ply search depth is higher than going from 22 ply search depth to 24 ply search depth. Or at a minimum, the ELO gain per time is much much higher because going from 4 to 6 ply takes so much less time than going from 22 to 24 ply depth.

Either way, its pretty obvious that we're dealing with diminishing returns. So at some point I would think it is more wasteful to go one ply deeper than it would be to search extra nodes in order to get better information.

One of the ideas that I fancy is using multi-pv searches near the root node (first couple of ply) and use that information to extend the search on those few nodes identified as the top two or three moves. Effectively this would extend the search near the PV...a proven way to increase strength, but as some would criticize, a multi-pv search wastes time searching nodes that you don't need to search. But my 16 core machine needs something to waste its CPU time on because there is very little ELO gain going from 8 to 16 cores with current algorithms.
How do you search "extra nodes to get better information" if you don't go any deeper?
Jouni
Posts: 3651
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Re: If You have cluster/PC with 100 CPUs...

Post by Jouni »

I still feel, that with lots of CPUs there must be alternative way to use them by playing games may be something like IDEA in Aquarium GUI! E.g. when analysing difficult corr game I trust more 40/60' games than infinite analysis for same time...

Jouni
User avatar
hgm
Posts: 28387
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: If You have cluster/PC with 100 CPUs...

Post by hgm »

The only reports I have seen about this is that the Elo gain per ply is indeed independent on the search depth. So there seem to be no diminishing returns.

But if a Monte-Carlo approach helps or not depends on if the dominant error is tactical or strategic. Searching a few ply deeper will not make the engine rethink its evaluation assumptions. When playing out the game until mate does make it will at some point have to face reality, though. (E.g. compare the Queens vs Knights position, where Rybka, Stockfish and Crafty all think they are at +8.00 or higher, and subsequently are totally slaughtered by an engine with an inferior search, when the game progresses.)
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: If You have cluster/PC with 100 CPUs...

Post by wgarvin »

Jouni wrote:I still feel, that with lots of CPUs there must be alternative way to use them by playing games may be something like IDEA in Aquarium GUI! E.g. when analysing difficult corr game I trust more 40/60' games than infinite analysis for same time...

Jouni
If you have lots of CPUs, it might be interesting to occasionally sometimes a couple of them to doing something like a Proof-Number search for specific goals (mate of course, but maybe also things like get ahead by X amount of material, etc.) I imagine it is hard to scale a regular search across 100 CPUs anyway, so dedicating a couple of them to special purposes might be okay.

The real question is, what can you do with a couple of CPUs that would actually help more than just participating in the main search?
Mark
Posts: 216
Joined: Thu Mar 09, 2006 9:54 pm

Re: If You have cluster/PC with 100 CPUs...

Post by Mark »

hgm wrote:The only reports I have seen about this is that the Elo gain per ply is indeed independent on the search depth. So there seem to be no diminishing returns.
This seems counter-intuitive to me. I would think going from 5 ply to 6 ply would be a larger elo increase than going from 20 ply to 21 ply, for example. I didn't search for them, but I remember seeing tests that showed there were diminishing returns.
User avatar
hgm
Posts: 28387
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: If You have cluster/PC with 100 CPUs...

Post by hgm »

The data I have seen were explained better by a constant increase per ply after an initial drop-off at 2-3-4 ply. That very low depths behave differently should not come as a surprise, as some reduction techniques (such as LMR) only take effect above a certain depth, So before that depth, the plies are not as 'thin' as above it.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: If You have cluster/PC with 100 CPUs...

Post by bob »

Jouni wrote:I still feel, that with lots of CPUs there must be alternative way to use them by playing games may be something like IDEA in Aquarium GUI! E.g. when analysing difficult corr game I trust more 40/60' games than infinite analysis for same time...

Jouni
Think about this:

You are going to build a house. You have 200 people ready to work. Do you want to send groups of workers off to build different houses, then you pick the best one? Or do you want all working on your one house to make it better???

When you search different root moves with different processors you are guaranteeing that most of that effort is wasted, until the first move is searched and you get a bound.