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.