Author: Robert Hyatt
Date: 07:48:23 03/28/03
Go up one level in this thread
On March 27, 2003 at 17:33:44, Tom Kerrigan wrote: >On March 27, 2003 at 15:57:20, Bernardo Wesler wrote: > >>Hi all: I have never received a concrete answer about this amazing three (lets >>say) parameters regarding the "final' performance of an engine. >>Ram memory, hash table and processor speed. >>A concrete example and my non answered questions: >>PC pentium 4, 1.8 Ghz; ram 512; windows xp pro.; Chessbase GUI; blitz games 15 >>min per side; 4 man Tbs. >>The most hash table size I put, the less processor speed i get? I mean if i put >>64 mb hash table, does the processor run faster than if I put 388? and therefore >>i obtain a better result from the chess program? >>You realize that I definitively want to know if anybody can help me out (him by >>himself or referring me to issued articles)to find out the best settings between >>my hardware and a chess program in order to get the best results from it. >>Thank you very much. > >There was a thread recently about how the amount/speed of RAM you have does not >affect most chess programs. (Or at least it does not affect one of the more >memory intensive programs, Crafty, except in a bizarre case with Eugene's >Itaniums.) I didn't see this particular thread. Several ran a test a few years ago starting with a small (very small) hash table and going in several increments to a very large one. The typical middlegame speedup was about a factor of _two_. IE a hash table of (say) 16K entries vs a hash table of 16M entries. The NPS didn't change much at all, and actually goes down just a bit usually, but the time to depth can speed up by as much as 2x depending on how small you start at. > >Hash table size does not affect processor speed, but it can affect the NPS you >search (there's a difference). As soon as your hash table exceeds a few >megabytes, though, it will not affect your NPS. Increasing hash table size gives >you rapidly diminishing returns. I remember running tests where anything over 16 >or maybe 32MB only gave me a percent or so of benefit (in terms of times to >solutions, not NPS). But unless you need your memory for something else, you >might as well set your hash table to the maximum size possible before you start >thrashing (i.e., your hard drive going nuts because you don't have enough >physical memory and you have to use virtual memory). > The simple rule is that the hash table needs to be at _least_ large enough to hold the entire tree. Beyond that there are still gains due to the fact that the hash signatures are not uniformly distributed over the hash space, but are somewhat "clustered." Once you reach 2x-4x the total tree size, anything more is certainly wasted. It isn't quite as simple as just taking the raw NPS and multiplying by the target search time either, since some programs (Crafty is one, Junior is another) doesn't hash the entire search tree. I don't store any q-search, which means my "storable tree space" is much smaller than a program that does hash q-search. >Increasing processor speed (frequency) gives you ideal benefit, i.e., a 2GHz >processor will usually search twice as many NPS as a 1GHz processor. > >Basically, buy a fast processor and make your hash tables big. > >-Tom
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.