Cutechess-cli 0.5.0 for Linux available

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

Moderators: hgm, Rebel, chrisw

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

Cutechess-cli 0.5.0 for Linux available

Post by ilari »

Hello,

I'm spending the holidays at my parents' house, but I managed to hack away a little Christmas present for you guys - Cutechess-cli 0.5.0. I can't build packages for Windows or Mac OS here (you'll have to wait until next week), but Linux users are encouraged to try this new version.

What's new:
* Bugfix: repetitions are not played directly from opening books
* Negative numbers are not interpreted as parameter names
* New "restart" mode: by setting the restart mode the user can control whether or not an engine is restarted between games.
* Bugfix: set the UCI_Opponent option with correct syntax
* "infinite" is no longer combined with "depth" or "nodes" in UCI "go" command. Now the "go" command should be compatible with all UCI engines.
* Support for XBoard's "nps" command. The implementation was designed to work in combination with an infinite time control (which won't be sent to the engine). Using other time controls is not recommended. Also, the engine must support the "nps" command.
* The "cmd=" engine option accepts relative file paths
* Round-Robin tournaments with two or more engines.

Obviously the biggest feature is tournament support. To make it possible/sensible some options were
changed:

* The "-fcp" and "-scp" options were removed. The new "-engine" option
should be used instead - one "-engine" block for each participant.

* The "-both" option was renamed to "-each".

* The "-ratinginterval <n>" option can be used to display a rating list after every <n> games. By default the ratings are only displayed when the tournament finishes. It uses a simple algorithm that's not as good as BayesELO, but it's better than nothing.

* The "-games" option sets the number of games per encounter to <n>. It doesn't affect the number of tournament rounds.

* The "-rounds <n>" option sets the multiplier for the number of rounds to play to <n>.

* The glue script for CLOP was modified to work with the new option names. The script is included in the compressed package.

As always, the packages are available here:
http://koti.mbnet.fi/~ilaripih/bin/cute ... x32.tar.gz
http://koti.mbnet.fi/~ilaripih/bin/cute ... x64.tar.gz

Source code here:
http://repo.or.cz/w/sloppygui.git


Merry Christmas, Happy Holidays, or whatever!
mike angel
Posts: 50
Joined: Sun Jan 30, 2011 1:08 pm

Re: Cutechess-cli 0.5.0 for Linux available

Post by mike angel »

Thanx thats a nice gift ! - merry xmas and a peacefull new year

what about your plan to give it a gui for easy handling - will it come within next year?

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

Re: Cutechess-cli 0.5.0 for Linux available

Post by ilari »

mike angel wrote:Thanx thats a nice gift ! - merry xmas and a peacefull new year

what about your plan to give it a gui for easy handling - will it come within next year?

best mike
Thank you. The GUI will definitely come within 2012. I may even release a sneak peek alpha version before the end of this year if I manage to finish the tournament controls. There's already a lot one can do with the GUI, and every time you see new features for the CLI version, you can count on seeing the same features in the GUI because they both use the same Cutechess library. At this point it's mainly just a matter of creating new dialogs and widgets.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Cutechess-cli 0.5.0 for Linux available

Post by lucasart »

Very nice! Thanks a lot for that Ilari. The tournament feature is definitely great.

Just two little things:

1/ Is there a way to define things in a config file, rather than everything in one command line? Setting up a tournament in single command line, might be a bit painful.

2/ The concurrency option is now discarded, while it worked before. Example:

Code: Select all

lucas@megatron&#58;~/Downloads$ ./cutechess-cli/cutechess-cli.sh -each proto=uci tc=1&#58;0+1 -engine cmd=./greko82 -engine cmd=./simplex098 -concurrency 2
Started game 1 of 1 &#40;Simplex 0.9.8 vs UciEngine&#41;
only one game seems to be playing. And looking at the -debug confirms this.

Merry xmas
Lucas
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Cutechess-cli 0.5.0 for Linux available

Post by lucasart »

I also noticed that cutechess-cli can now be used for fixed nodes testing, as follows

Code: Select all

lucas@megatron&#58;~/Downloads$ ./cutechess-cli/cutechess-cli.sh -each proto=uci tc=1&#58;0+1 nodes=200000 -engine cmd=./greko82 -engine cmd=./simplex098
Much appreciated ! Testing in fixed nodes is especially useful to engine developpers, as you certainly know.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Cutechess-cli 0.5.0 for Linux available

Post by lucasart »

lucasart wrote:I also noticed that cutechess-cli can now be used for fixed nodes testing, as follows

Code: Select all

lucas@megatron&#58;~/Downloads$ ./cutechess-cli/cutechess-cli.sh -each proto=uci tc=1&#58;0+1 nodes=200000 -engine cmd=./greko82 -engine cmd=./simplex098
Much appreciated ! Testing in fixed nodes is especially useful to engine developpers, as you certainly know.
Sorry I meant

Code: Select all

lucas@megatron&#58;~/Downloads$ ./cutechess-cli/cutechess-cli.sh -each proto=uci tc=inf nodes=200000 -engine cmd=./greko82 -engine cmd=./simplex098
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cutechess-cli 0.5.0 for Linux available

Post by ilari »

lucasart wrote:Very nice! Thanks a lot for that Ilari. The tournament feature is definitely great.

Just two little things:

1/ Is there a way to define things in a config file, rather than everything in one command line? Setting up a tournament in single command line, might be a bit painful.

2/ The concurrency option is now discarded, while it worked before. Example:

Code: Select all

lucas@megatron&#58;~/Downloads$ ./cutechess-cli/cutechess-cli.sh -each proto=uci tc=1&#58;0+1 -engine cmd=./greko82 -engine cmd=./simplex098 -concurrency 2
Started game 1 of 1 &#40;Simplex 0.9.8 vs UciEngine&#41;
only one game seems to be playing. And looking at the -debug confirms this.

Merry xmas
Lucas
Thanks Lucas. The concurrency feature should still work, but you didn't seem to set a "-rounds" or "-games" value, which means that with two engines you're going to get only one game. Try this:

Code: Select all

./cutechess-cli/cutechess-cli.sh -each proto=uci tc=1&#58;0+1 -engine cmd=./greko82 -engine cmd=./simplex098 -concurrency 2 -rounds 4
That should play 4 games, 2 in parallel.

And about the config file: I'm planning to add JSON import and export support to the tournament class, so you could just pass a JSON file to cutechess-cli. And of course you can always use the engines.json file to set up your engines.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Cutechess-cli 0.5.0 for Linux available

Post by lucasart »

ilari wrote:The concurrency feature should still work, but you didn't seem to set a "-rounds" or "-games" value
Oops, my mistake, sorry!

For the JSON file. Do you have an example of such a file, so I can figure out how to do them? And when you call cutechess-cli, how do you ask to use a JSON file ?

You might want to add a few examples of JSON files in the readme file
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cutechess-cli 0.5.0 for Linux available

Post by ilari »

lucasart wrote:For the JSON file. Do you have an example of such a file, so I can figure out how to do them? And when you call cutechess-cli, how do you ask to use a JSON file ?

You might want to add a few examples of JSON files in the readme file
As of now only the engine configuration can be put into a JSON file (engines.json). So what you're asking for is not possible yet, but will be in the next version.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Cutechess-cli 0.5.0 for Linux available

Post by lucasart »

ilari wrote:
lucasart wrote:For the JSON file. Do you have an example of such a file, so I can figure out how to do them? And when you call cutechess-cli, how do you ask to use a JSON file ?

You might want to add a few examples of JSON files in the readme file
As of now only the engine configuration can be put into a JSON file (engines.json). So what you're asking for is not possible yet, but will be in the next version.
No, I wasn't asking for a new feature. Just wanted to know how to write a JSON file. Should it be called engines.json and be in the current directory ? Do you know where I can find an example of such a file ?