It would be an ideal tool to test changes in engines (same allocation in memory and hash).

Moderator: Ras
Hi Joerg,Joerg Oster wrote:do you want to play against the same engine?
Simply start the same engine twice.
It's completely normal that a match between two identical engines can seem lopsided for several games or even a hundred games. It's just luck, which will even out if you play enough games. I don't see how using the same engine process to play both sides would help.lech wrote:Hi Joerg,Joerg Oster wrote:do you want to play against the same engine?
Simply start the same engine twice.
Sometimes one of two loaded engines can play very weak by several (or more) games.
I think that it is much better to use only one allocation of memory (smaller error bar ?).
Of course the only one engine plays in two versions of some fragment of code.
It needs to add a code to distingush the versions.
best
Marek
An engine is not a dice (rather Rubik's cube).ilari wrote:It's completely normal that a match between two identical engines can seem lopsided for several games or even a hundred games. It's just luck, which will even out if you play enough games. I don't see how using the same engine process to play both sides would help.lech wrote:Hi Joerg,Joerg Oster wrote:do you want to play against the same engine?
Simply start the same engine twice.
Sometimes one of two loaded engines can play very weak by several (or more) games.
I think that it is much better to use only one allocation of memory (smaller error bar ?).
Of course the only one engine plays in two versions of some fragment of code.
It needs to add a code to distingush the versions.
best
Marek
You need to program this into "your" engine. When the ucinewgame command is received, you need to clear the hash table. How do you expect cutechess-cli to clear your hash table for you ? cutechess-cli and your engine are separate processes, and cutechess-cli doesn't even know the adress in memory to clear, and even if it knew and tried to write on it, it would trigger a segmentation fault.lech wrote: To get less random results it would be good to clear hash before each game. Can I do it?
What about reloading the engine? Of course this is not an option for bullet. Or sending clear hash command if it's UCI?lucasart wrote:How do you expect cutechess-cli to clear your hash table for you ?
That's what I do in my engine. Although I defined an UCI option for that called AutoClearHash=true/false. If the option is true then ucinewgame clears the hash, otherwise it does nothing.mar wrote:Or sending clear hash command if it's UCI?
AFAK "Clear Hash" is an UCI (protocol) option and I can't understand why cutechess-cli is not able to send it?lucasart wrote:How do you expect cutechess-cli to clear your hash table for you ?lech wrote: To get less random results it would be good to clear hash before each game. Can I do it?
I always clear hash whenever I receive ucinewgame, but I think that isn't mandatory.lucasart wrote: That's what I do in my engine. Although I defined an UCI option for that called AutoClearHash=true/false. If the option is true then ucinewgame clears the hash, otherwise it does nothing.
Is the "Clear Hash" (button) really specified by the UCI protocol ? If it is, then yes, cutechess-cli could send it.