Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Questions about using more than one processor?

Author: Robert Hyatt

Date: 19:17:36 04/16/01

Go up one level in this thread


On April 16, 2001 at 17:28:15, Uri Blass wrote:

>I think it is possible to do deterministic programs that use more than one
>processor by using more than one processor only to do things faster.
>
>Examples:
>
>1)using more than one processor to calculate the evaluation function faster.

If your evaluation uses 50% of total time, then you can get a max speedup
of 2 with an infinite number of processors, assuming that an infinite number
of processors could drive the evaluation time to zero.  Not very good...



>2)using more than one processor to generate the pseudo legal moves faster.

This is probably less than 10% of the total time.  Again, it won't work.




>
>I guess that it is more simple to do it than using more than one processor for
>the search when one of the disadvantages is the fact that the program is only
>for x processors when the programmer decides about x in the design decision.
>
>Here is example of using  two proccesors to calculate
>x1+x2+....x64 (The evaluation function may have a number of this type)
>
>step 1:proccesor 1 calculates y=x1+x2+....x32
>step 2:proccesor 2 calculates z=x33+x34....+x64 at the same time of step 1
>step 3:processor 2 gives z to processor 1
>step 4:processor 1 caluclates y+z
>
>This is only for 2 processors but by the same idea it is possible to change a
>program to be only for 8 processors if 8 processors are going to be used against
>kramnik.
>
>I have some questions about it
>
>1)Am I right to assume that writing a program only for x processors by this way
>is more simple then using more than one processor in the regular way?

possibly.  But far worse performance, unless your program spends 99% of the
time in the evaluation function.  Not normal.  Crafty is at 50% and it seems
to be higher than most...



>2)What is the speed improvement that it is possible to get by using more than
>one processor only to calculate things faster.

speedup is limited by the sequential (non-parallel) time.  If this is 50%
of total time then you can _never_ go more than 2x faster.



>3)Did programmers try to use more than one processor in order to calculate a
>more complex evaluation function and not in order to search deeper?

no...

First, it is impractical.

Second, second-order search terms make this impossible... as all the first order
terms have to be done before any of the second order terms.  In crafty, I need
all the second-order terms before any third-order stuff can be computed.  There
is too much inter-dependence to make it easy to calculate chunks in parallel.



>
>Uri



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.