Windows tool to run engine matches

Discussion of chess software programming and technical issues.

Moderator: Ras

Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Windows tool to run engine matches

Post by Sergei S. Markoff »

Which tool/shell is the best?
CB shell can't provide ultra-fast time controls.
Arena goes wrong after 2048 games.
May be you can suggest some simple command-line tool?..
The Force Be With You!
User avatar
hgm
Posts: 28480
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Windows tool to run engine matches

Post by hgm »

I always use WinBoard. I don't know what you consider 'ultra-fast', but for less than 1 sec per move it will of course be important to switch off time-consuming GUI actions like move animation and engine-output update, and for less than 50 msec/move even updating the board for for the new piece location only becomes too time-consuming, and one should run in -noGUI mode. Then engine-engine communication lag was something like 2.5ms, for UCI engines via Polyglot (and less than 1 ms for WB engines), on a 1.3GHz Celeron.

Going faster than 16 ms/move can lead to unexpected behavior anyway, as most engines use a clock that ticks at this rate for their timing decisions.
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Windows tool to run engine matches

Post by Sergei S. Markoff »

hgm wrote:I always use WinBoard. I don't know what you consider 'ultra-fast', but for less than 1 sec per move it will of course be important to switch off time-consuming GUI actions like move animation and engine-output update, and for less than 50 msec/move even updating the board for for the new piece location only becomes too time-consuming, and one should run in -noGUI mode. Then engine-engine communication lag was something like 2.5ms, for UCI engines via Polyglot (and less than 1 ms for WB engines), on a 1.3GHz Celeron.

Going faster than 16 ms/move can lead to unexpected behavior anyway, as most engines use a clock that ticks at this rate for their timing decisions.
Well, it's probably worth to try. Is it possible to run match using command line? I.e. I have two engine executables and it should be great to be able to do something like "play.bat smarthink2074.exe smarthink2073.exe startpositions.epd -game_time:10s -games:10000" ?
The Force Be With You!
Modern Times
Posts: 3831
Joined: Thu Jun 07, 2012 11:02 pm

Re: Windows tool to run engine matches

Post by Modern Times »

Have you looked at cutechess cli ?
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Windows tool to run engine matches

Post by Sergei S. Markoff »

Modern Times wrote:Have you looked at cutechess cli ?
Well, looks to be exactly what I need. Thanks!
The Force Be With You!
User avatar
hgm
Posts: 28480
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Windows tool to run engine matches

Post by hgm »

Sergei S. Markoff wrote:Well, it's probably worth to try. Is it possible to run match using command line? I.e. I have two engine executables and it should be great to be able to do something like "play.bat smarthink2074.exe smarthink2073.exe startpositions.epd -game_time:10s -games:10000" ?
Sure.

winboard -fcp smarthink2074.exe -scp smarthink2073.exe -lpf startpositions.epd -tc 0:10 -inc 0 -mg 1000 -noGUI

would do it (assuming smarthink is a WB engine; otherwise you would have to add -fUCI -sUCI).
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Windows tool to run engine matches

Post by Sergei S. Markoff »

hgm wrote:
Sergei S. Markoff wrote:Well, it's probably worth to try. Is it possible to run match using command line? I.e. I have two engine executables and it should be great to be able to do something like "play.bat smarthink2074.exe smarthink2073.exe startpositions.epd -game_time:10s -games:10000" ?
Sure.

winboard -fcp smarthink2074.exe -scp smarthink2073.exe -lpf startpositions.epd -tc 0:10 -inc 0 -mg 1000 -noGUI

would do it (assuming smarthink is a WB engine; otherwise you would have to add -fUCI -sUCI).
I will try. Thanks!
The Force Be With You!
lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Windows tool to run engine matches

Post by lucasart »

hgm wrote:
Sergei S. Markoff wrote:Well, it's probably worth to try. Is it possible to run match using command line? I.e. I have two engine executables and it should be great to be able to do something like "play.bat smarthink2074.exe smarthink2073.exe startpositions.epd -game_time:10s -games:10000" ?
Sure.

winboard -fcp smarthink2074.exe -scp smarthink2073.exe -lpf startpositions.epd -tc 0:10 -inc 0 -mg 1000 -noGUI

would do it (assuming smarthink is a WB engine; otherwise you would have to add -fUCI -sUCI).
Can you play concurrent games that way?

This is one of the main advantages of cutechess-cli, besides reliability and low latency. If you have an N CPU machine, the best use of your CPU time is to play N-1 games in parallel.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
hgm
Posts: 28480
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Windows tool to run engine matches

Post by hgm »

lucasart wrote:Can you play concurrent games that way?
That depends on what you mean by "that way":

* with winBoard/XBoard: of course
* with the same command: no, you would need another command

To use the concurrency you would need to create a tourney file containing the tourney parameters (which is easiest done interactively, from the Tournament dialog), and then use the command

winboard -mm -tf TOURNEYFILE -noGUI

as many times times as you want concurrent processes to run on that tourney. You can kill or add worker processes any time you like.
phenri
Posts: 284
Joined: Tue Aug 13, 2013 9:44 am

Re: Windows tool to run engine matches

Post by phenri »

Image

Image

I must be the only idiot on this forum who have already tried your GUI a hundred times without success.
hgm wrote:(which is easiest done interactively, from the Tournament dialog)
You only have this secret...