Author: Vincent Diepeveen
Date: 12:35:01 09/03/03
Go up one level in this thread
On September 03, 2003 at 14:10:53, Robert Hyatt wrote: >On September 03, 2003 at 13:33:19, Gian-Carlo Pascutto wrote: > >>On September 03, 2003 at 13:22:50, Robert Hyatt wrote: >> >>>It is a _TINY_ part of the total time spent. So tiny, it can be ignored. >> >>Que? >> >>Maybe so on an SMP quad (as I stated), but surely not on a large NUMA system. >> >>If this isn't the issue, I'd expect my thing to run like the blazes >>on a NUMA box, but I doubt I'm that lucky. >> >>-- >>GCP > > >There are three things that have to be done by a thread: > >1. copy local data somewhere else for another thread to use (splitting in >crafty terminology). That happens once per "split". How many splits are done? > >Here is the data I provided in another thread here... > > SMP-> split=6266 stop=875 data=19/64 cpu=10:00 elap=2:39 > SMP-> split=3511 stop=440 data=16/64 cpu=5:20 elap=1:27 > SMP-> split=3768 stop=524 data=17/64 cpu=5:45 elap=1:33 > SMP-> split=1724 stop=275 data=13/64 cpu=3:59 elap=1:04 > SMP-> split=4894 stop=671 data=15/64 cpu=3:55 elap=1:03 > SMP-> split=2666 stop=420 data=15/64 cpu=3:51 elap=1:02 > SMP-> split=3412 stop=683 data=17/64 cpu=3:46 elap=1:00 > SMP-> split=3447 stop=476 data=15/64 cpu=3:55 elap=1:03 > SMP-> split=2985 stop=345 data=19/64 cpu=1:13 elap=19.53 > SMP-> split=11657 stop=1620 data=23/64 cpu=3:32 elap=58.12 > SMP-> split=1928 stop=292 data=17/64 cpu=3:24 elap=57.08 > SMP-> split=53912 stop=6999 data=30/64 cpu=32:06 elap=8:42 > SMP-> split=9997 stop=1209 data=23/64 cpu=3:31 elap=56.69 > SMP-> split=2966 stop=527 data=19/64 cpu=3:28 elap=55.49 > >Worst case was 54000 splits for a 9 minute long search. Using 4 processors. >More typical seems to be about 500 splits per minute of search. That is >not much time. 05:11 <nps censored> 0 0 487383460 (130) 14 (85565,1592299) 0.001 d2-d4 Ng8-f6 Ng1-f3 d7-d5 Bc1-f4 e7-e6 e2-e3 Bf8-d6 Bf1-e2 Nb8-c6 O-O Bd6xf4 e3xf4 O-O 1.59MLN splits / 311 seconds = 5119 splits a second Or that's 39 splits a second a processor. Of course in crafty you limit the number of splits bigtime by the conditions used. But the more splits a second the better the speedup according to my measurements. When i split dual 10 times a second a cpu, then the speedup is like 1.7 like crafty. When i let diep split 30 or 40 times a second then speedup is 1.9 to 2.0 Thank you, Vincent >2. Search. Here I only do local memory accesses, so there is just normal >tree search overhead, nothing related to NUMA. > >3. completion. Here I have to either copy a score/PV or just score back to >the parent thread data or set a "stop" flag to say my result is good enough, >no others are needed. Either of these is a trivial amount of non-local memory >traffic. > >If you do that right, NUMA should not hurt. The issue is going to become >how to use a large number of processors, which is much harder to do that >to use a small number as we are today.
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.