Memory command

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Memory command

Postby Miguel A. Ballicora » 17 Sep 2009, 22:02

Working on implementing the new WB/XB features in Gaviota, I observed that in the new version 4.4.0 in the "general settings" dialog there is "Hash memory" and "TB cache memory". What is the memory command supposed to send? whatever number correspond to Hash memory? The addition of both? How is the TB cache supposed to be set up in the engine?

The question from the engine perspective is, what do I do with the number I get with "memory", do I reserve some of it for TB cache or not?

Miguel
User avatar
Miguel A. Ballicora
 
Posts: 160
Joined: 03 Aug 2005, 02:24
Location: Chicago, IL, USA

Re: Memory command

Postby Michel » 18 Sep 2009, 05:14

The question from the engine perspective is, what do I do with the number I get with "memory", do I reserve some of it for TB cache or not?


"memory" sets an upper bound for the total amount of memory used by the engine. So it includes TB cache.
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: Memory command

Postby Miguel A. Ballicora » 18 Sep 2009, 06:22

Michel wrote:
The question from the engine perspective is, what do I do with the number I get with "memory", do I reserve some of it for TB cache or not?


"memory" sets an upper bound for the total amount of memory used by the engine. So it includes TB cache.


Yes, that is what I understand from the protocol. Looking at what gaviota receives, now I see that XB apparently combines the cache with the hash and sends the sum. In that respect, it is clear what the engine should do. So, my question about the protocol is now answered. However, the implementation of XB seems weird. The user will select, say, 64 MB hash and 4 MB cache. But, the engine receives 68 MB and the does whatever the it wants with it. Why making the user to specify a number that later the engine does not even know about it? Would not be simpler to just ask for the total memory?

Miguel
User avatar
Miguel A. Ballicora
 
Posts: 160
Joined: 03 Aug 2005, 02:24
Location: Chicago, IL, USA

Re: Memory command

Postby Michel » 18 Sep 2009, 06:52

ut, the engine receives 68 MB and the does whatever the it wants with it. Why making the user to specify a number that later the engine does not even know about it? Would not be simpler to just ask for the total memory?


I think in principle this is meant for polyglot. Polyglot has to know the EGTBcache size.

However at least in XB this does not seem to work. The EGTBcache size is not sent to PG so the setting has no effect and PG simply uses the engine default.

EDIT: Correction. PG uses the value of NalimovCache in the Engine settings dialog, which defaults to the engine default if you have not modified it in some way.

In fact I now notice a bug in PG. Setting NalimovCache should trigger sending a new value for Hash (if a memory command was sent) which currently does not happen.
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 42 guests