Cutechess-cli: A command line tool for engine-engine matches

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Gian-Carlo Pascutto »

ilari wrote:
Gian-Carlo Pascutto wrote:Next up the wish-list: SMP support. I know you can launch separate instances, but the tournaments don't necessarily stop at the same time.
I've already planned support for concurrent tournament games, once tournaments have been implemented. If you wish I can add concurrency support for matches between two engines as well.
Given that tournaments can be run by starting the cli several times sequentially, that would actually be my preference.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by ilari »

Marc Lacrosse wrote:... and a little question :

When there is a blank space within the name of a UCI parameter, are quotes required, and if yes where ?

Example : uci option for number of threads is "Core Threads" for Hiarcs 12
in cutechess-cli command should it be :
uci.Core Threads=2 ,or
"uci.Core Threads=2" ,or
uci."Core Threads"=2 , or something else ?

A little word of explanation on this in the --help would be nice

Marc
Yes, quotes are required, but it doesn't matter much where you put them, as long as all spaces are inside quotes. These all work the same:

"uci.Core Threads=2"
"uci.Core Threads"=2
uci."Core Threads"=2
uci."Core Threads=2"

Even this works, although it looks stupid:

uci.Core" "Threads=2

If you forget the quotes Cutechess-cli will display an error message and won't even start.

Btw, you may want to use the "cpus=n" options instead. It will set concurrency to <n> on UCI engines that use one of the following option names:
"Threads", "MaxThreads", "Core Threads", or "Max CPUs". Those are all the variants I've seen.
Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Marc Lacrosse »

Marc Lacrosse wrote: I even wish you could allow for uci options encoding in the cfg file : simply allowing a variable number of lines for each engines in the form :
2\uci.Name=value
Hi Ilari!
What are the news ?

I come back with this former suggestion : a friend of mine just asked me to test some engine with no less than 28 (!) uci parameters changed from their default values to something else.
I will try to build this horrific command line but I fear that windows console will not accept this.
So I really think that having the opportunity of putting these uci parameters in a cfg file could be a real improvement.

Regards

Marc
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by ilari »

Marc Lacrosse wrote:Hi Ilari!
What are the news ?

I come back with this former suggestion : a friend of mine just asked me to test some engine with no less than 28 (!) uci parameters changed from their default values to something else.
I will try to build this horrific command line but I fear that windows console will not accept this.
So I really think that having the opportunity of putting these uci parameters in a cfg file could be a real improvement.

Regards

Marc
We're going through some pretty big changes - refactoring a lot of code, adding GUI stuff, important design choices, etc. We've decided to create an XML format for configuring Cute Chess (and also the engines), and the whole engine configuration system is going to be changed a lot. May take a while before I get to upload a new stable version of Cutechess-cli, but if you want to be on the bleeding edge you can always get a source code checkout from our repository: http://repo.or.cz/w/sloppygui.git
As you can see by browsing the commit list, the project is quite active.

The features you requested are on my TODO list, and they'll be implemented after the configuration problem is solved.
krazyken

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by krazyken »

ilari wrote:
Marc Lacrosse wrote:Hi Ilari!
What are the news ?

I come back with this former suggestion : a friend of mine just asked me to test some engine with no less than 28 (!) uci parameters changed from their default values to something else.
I will try to build this horrific command line but I fear that windows console will not accept this.
So I really think that having the opportunity of putting these uci parameters in a cfg file could be a real improvement.

Regards

Marc
We're going through some pretty big changes - refactoring a lot of code, adding GUI stuff, important design choices, etc. We've decided to create an XML format for configuring Cute Chess (and also the engines), and the whole engine configuration system is going to be changed a lot. May take a while before I get to upload a new stable version of Cutechess-cli, but if you want to be on the bleeding edge you can always get a source code checkout from our repository: http://repo.or.cz/w/sloppygui.git
As you can see by browsing the commit list, the project is quite active.

The features you requested are on my TODO list, and they'll be implemented after the configuration problem is solved.
I would think that really cool would be to have Cute Chess be able to read polyglot.ini files for configuring engines. It would be nice to not need multiple redundant config files for each engine. For now it would probably be easier in Marc's case to just run the engine via polyglot?
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by ilari »

krazyken wrote: I would think that really cool would be to have Cute Chess be able to read polyglot.ini files for configuring engines. It would be nice to not need multiple redundant config files for each engine.
Cool idea. I'll put it on my list of features to consider.
For now it would probably be easier in Marc's case to just run the engine via polyglot?
Could be, if the Xboard protocol's limitations (eg. time control options), and the slight computational overhead of Polyglot are not a problem to him.
Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Edsel Apostol »

ilari wrote:
krazyken wrote: I would think that really cool would be to have Cute Chess be able to read polyglot.ini files for configuring engines. It would be nice to not need multiple redundant config files for each engine.
Cool idea. I'll put it on my list of features to consider.
For now it would probably be easier in Marc's case to just run the engine via polyglot?
Could be, if the Xboard protocol's limitations (eg. time control options), and the slight computational overhead of Polyglot are not a problem to him.
Myabe what he meant was to run the engine using polyglot in cutechess. Is that possible?
Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Marc Lacrosse »

krazyken wrote: I would think that really cool would be to have Cute Chess be able to read polyglot.ini files for configuring engines. It would be nice to not need multiple redundant config files for each engine. For now it would probably be easier in Marc's case to just run the engine via polyglot?
As I use cutechess for ultrafast testing, this doesn't work (I suppose some time is needed for polyglot to transmit the moves from cutechess to engine and back).

Marc
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by ilari »

Edsel Apostol wrote:
ilari wrote: Could be, if the Xboard protocol's limitations (eg. time control options), and the slight computational overhead of Polyglot are not a problem to him.
Myabe what he meant was to run the engine using polyglot in cutechess. Is that possible?
Sure, but then the engine will play in Xboard mode, and UCI-only features like millisecond-precision time increments or node limit for search can't be used.
Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Marc Lacrosse »

ilari wrote:
Edsel Apostol wrote:
ilari wrote: Could be, if the Xboard protocol's limitations (eg. time control options), and the slight computational overhead of Polyglot are not a problem to him.
Myabe what he meant was to run the engine using polyglot in cutechess. Is that possible?
Sure, but then the engine will play in Xboard mode, and UCI-only features like millisecond-precision time increments or node limit for search can't be used.
There are versions of Polyglot by Michel Vanden Bergh that act as UCI-to-UCI adaptors (those from 1.4wUCIb7 up).
see here :
http://alpha.uhasselt.be/Research/Algeb ... t-release/

Marc