Author: Roberto Waldteufel
Date: 10:48:50 10/06/98
Go up one level in this thread
On October 06, 1998 at 13:21:57, Ernst A. Heinz wrote: >On October 06, 1998 at 11:55:01, Roberto Waldteufel wrote: >> >>Have you tried both methods for comparison and chosen method 2, or have you not >>tried method 1? I use method 1 and always have - I just assumed without testing >>that passing the whole board data structure on the stack would be too >expensive. >>Maybe I should have tested this out. Method 2 is cetainly easier to program >>because you never need to unmake any moves. The question really is whether it >is >>quicker to unmake moves or copy data. > >Let me again quote from my article about "How DarkThought Plays Chess". :-) > >****************************************************************************** > >Search Parametrization > >[...] > >Data Structures. > Because most computers exhibit different behaviour as for memory > performance and cache sensitivity, DARKTHOUGHT contains distinct > implementations of many data structures accessed during the search. > First and foremost, you may choose between a single global board > modified by corresponding make/unmake-move operations and > stacked local boards that require no unmake after but copying prior to > the make-move operation during node expansion. Similarly, stacked > local move lists as opposed to a single global move list may be > selected. Although they feature much higher memory consumption, > the localized data structures will simplify any future parallelization > attempts. Last but not least, there exist several variations of history > tables with the piece-to-square formulation [99] used by default. > >******************************************************************************* > >Right now, we use the stacked local boards in connection with a global move >list when running "DarkThought" on the Alpha-21164a. But on most any PC the >stacked local boards are no good at all. > >=Ernst= Hi Ernst, I suspected this to be the case with PC's, but hadn't really considered how the platform could affect the optimal method. I guess on an Alpha (or a Cray!) you have more bandwidth to play with, so stacked boards become more attractive. Alas I only have access to a single processor P II 333 machine, so I tend to limit my ideas to that architecture instead of taking a broader view. I like your idea to support both methods. That way the user can select the best settings for the platform at run time. Best wishes, Roberto
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.