Computer Chess Club Archives


Search

Terms

Messages

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

Author: Vincent Diepeveen

Date: 15:14:21 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.
>2)using more than one processor to generate the pseudo legal moves faster.
>
>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?

Noop you are wrong. You need to lock at least one of the processors
to wait for the results. Also your assumption is that evaluation
takes all system time, which in my case is true.

Another problem is that both processors must have the same position.
If a position would be in shared memory, and note that in DIEP this is NOT
the case, then that means that every array needs to get loaded from
main memory which is 100 times slower as getting it from L1, or around
20 times slower as getting it from L2 cache.

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

Very little.

>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?

I see parallellism as a way to speedup my program. I see not much
difference between a dual 800PIII and a PIII that runs 1.6Ghz,
except that there do not exist PIIIs at 1.6Ghz, so it is a way for me to
get faster as the speed of the fastest processor.

Obviously i use parallellism to search DEEPER, the question whether
searching deeper is the holy grail or not has nothing to do with
this question.

My assumption is that more and better knowledge is more important
as search, but that certain depth is needed before knowledge outweighs
search.

My assumption is that searching deeper WITH all that knowledge is
a second goal which one should try to get.

>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.