Moderator: Andres Valverde
Edsel Apostol wrote:Hi Olivier,
The hash size seems ok. What I'm going to suggest is concerning the time control.
Would it be possible to replace the time control into an incremental one (Fischer time control)?
For group A: 40m + 40s, for group B: 30m + 30s, and for the other: 20m + 20s.
I think this time control is more logical compared to X moves in Y minutes.
Edsel Apostol
Ron Murawski wrote:Hi Olivier,
I always enjoy your tournaments! Keep on playing!
"Default main hashtables size : 128Mb"
This seems sufficient.
What is your maximum allowable size for pawn hash?
(If you make my engine's pawn hash too big, it slows down!)
What is your maximum allowable size for eval hash?
(My engine does not have this, but too big slows things down!)
Is there a size limit for:
main hash + pawn hash + eval hash
Who determines size of pawn hash and eval hash?
Ron
H.G.Muller wrote:I think there should be a limit on total memory footprint only. It is up to the engine to decide how it will use the available space: main hash, pawn hash, EGTB cache, eval cache, move-generator tables, material tables, program code...
H.G.Muller wrote:Well, that might have consequences for uMax!
uMax is one of the engines that has non-standard hash size, as it uses 12-byte, rather than 16-byte entries. So it is running now with 96MB hash, to respect the 128MB limit.
But main hash is the only table uMax uses, it has no Pawn hash, no table bases, etc. The main hash could be doubled to 192MB, and as the code itself is much less than 8MB, this would still fit within the 200MB limit.
So uMax could be run with argument 24 to double its hash size.
Olivier Deville wrote:Ron Murawski wrote:Hi Olivier,
I always enjoy your tournaments! Keep on playing!
"Default main hashtables size : 128Mb"
This seems sufficient.
What is your maximum allowable size for pawn hash?
(If you make my engine's pawn hash too big, it slows down!)
What is your maximum allowable size for eval hash?
(My engine does not have this, but too big slows things down!)
Is there a size limit for:
main hash + pawn hash + eval hash
Who determines size of pawn hash and eval hash?
Ron
Hi Ron !
When engines have some more hash settings, I usually set them accordingly to the instructions given by the readme file (for instance : 4 or 8 or 16Mb for pawnhash). Horizon's pawnhash is set to 16Mb here actually.
Olivier
Olivier Deville wrote:Thanks to all for the feedback on the Winboard Forum and CCC, on the chat and by e-mail.
Here is my new proposal :
In order to not discourage authors who are working on "not-so-strong" engines, lower divisions will keep using 128Mb of main hash, plus some more Mb for pawn hash and eval hash when settable, plus 32Mb hash for egtb/egbb cache when implemented. Some engines use other standards for main hash (eg 96Mb). I'll try to set them up in the fairest way possible.
The engines that play in upper divisions will be given more memory.
We'll start with the upcoming A group by giving the engines 1024Mb of main hash. We could do the following for ChessWar XIII :
- Group A (40/40) : 1024Mb of main hash
- Group B (40/30) : 512Mb of main hash
- Groups C and D (40/20) : 256Mb of main hash
- Groups E and F, Promotion (40/20) : 128Mb of main hash
+ some more Mb for the other tables when settable
I have one question : does it make sense to give more hash than the usual 32Mb for the egtb/egbb cache ? (64Mb, 128Mb, 256Mb...)
Olivier
Ron Murawski wrote:Olivier Deville wrote:Thanks to all for the feedback on the Winboard Forum and CCC, on the chat and by e-mail.
Here is my new proposal :
In order to not discourage authors who are working on "not-so-strong" engines, lower divisions will keep using 128Mb of main hash, plus some more Mb for pawn hash and eval hash when settable, plus 32Mb hash for egtb/egbb cache when implemented. Some engines use other standards for main hash (eg 96Mb). I'll try to set them up in the fairest way possible.
The engines that play in upper divisions will be given more memory.
We'll start with the upcoming A group by giving the engines 1024Mb of main hash. We could do the following for ChessWar XIII :
- Group A (40/40) : 1024Mb of main hash
- Group B (40/30) : 512Mb of main hash
- Groups C and D (40/20) : 256Mb of main hash
- Groups E and F, Promotion (40/20) : 128Mb of main hash
+ some more Mb for the other tables when settable
I have one question : does it make sense to give more hash than the usual 32Mb for the egtb/egbb cache ? (64Mb, 128Mb, 256Mb...)
Olivier
Hi Olivier,
If the egtb hash is set very large then, the first time the egtbs are accessed, the engine will slow down noticeably as the large memory cache fills up from disk. An engine's search depth can lose several ply while this happens. Once the egtb cache is full there will be a noticeable speedup because most subsequent accesses will be from main memory, not from disk.
For very very small egtb settings it is the opposite: the first access is not nearly as long but subsequent accesses take longer as small portions of the disk files get transferred into memory as needed.
I would guess that smaller egtb settings [ie: 1 to 4 MB] would yield fairer tournament outcomes because no very long delays get introduced for any of the engines and search depth will remain somewhat stable. But many engines have a fixed-size egtb cache of unknown size. [My own engine was once fixed at 2 MB.] It's very difficult to determine fairness! I am interested in other people's opinions which size is 'best'.
You say: "plus some more Mb for pawn hash and eval hash when settable"
I think you need numbers. Here are your choices:Fix maximum limits for each type of hash OR
Ron
Combine main hash plus other hashes to add up to a maximum number.
Return to Programming and Technical Discussions
Users browsing this forum: No registered users and 45 guests