|
with computer
systems becoming so incredibly powerful...fast processors, multiple
CPUs, multiple cores, loads of RAM, etc., the average nodes per
second that can be realized by chess engines is growing
if given
several critical pieces of information (nodes per second, time per
move, and hash table entry size), an optimal hash size (amount
of memory allocated for the hash table) for can be
calculated as follows:
time per
move (secs) * nodes per sec * hash entry size (in bytes)
for ex:
if time per
move = 60 sec, nps = 700,000, and hash table entry = 16 bytes
(16 bytes being typical for many chess engines)
then:
60 secs x
700,000 nps x 16 bytes = 640 MB
using cyclone's dynamic hash feature requires some specific information:
the search speed (in nodes per
second) that it can expect to achieve on the system it will be
running on, and the time control (in seconds per move) for the game
it will be playing
an easy way to determine this for
the system currently being used, is to run Cyclone from the command
prompt, and type 'go xxx" (xxx can be anything)...occasionally the
NPS achieved will be displayed in the UCI info line
enter this NPS value for the system
Cyclone is running on, as the 'nodes per second' configuration
parameter via your GUI's UCI option configuration screen (in Arena, choose
engines, cyclone, configure)
then, enter the seconds per move for the time control being used as
the 'seconds per move' parameter
for ex: if the time control is
40/4, that is 6 seconds per move. you should enter 6 as the 'seconds
per move' parameter via your GUI's UCI option configuration screen
cyclone will then calculate and set
the optimal hash size for the speed of the machine and the game
being played (calculated to the nearest power of 2 value)
|