cutechess-cli 0.6.0 released

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

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4367
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: cutechess-cli 0.6.0 released

Post by jdart »

The json file is the way to go IMO. Unfortunately the parser is not very informative if you get the syntax wrong.

Following is the one I use - it shows how to set up engines and some common options for UCI and winboard. I use some shell scripts to set up matches - the one that actually calls cutechess-cli gets passed in the name of the opponent and number of games through the command line, so most of the parameters can be specified once in that file.
[
{
"name": "Gaviota-0.86",
"command": "/home/jdart/chess/engines/gaviota-0.86-linux/gaviota-0.86-linux64",
"protocol": "xboard",
"workingDirectory": "/home/jdart/chess/engines/gaviota-0.86-linux"
},
{
"name": "EXchess-7.18",
"command": "/home/jdart/chess/engines/EXchess_v7.18/EXchess_v7.18b_linux64",
"protocol": "xboard",
"workingDirectory": "/home/jdart/chess/engines/EXchess_v7.18"
},
{
"name": "Crafty-23.5",
"command": "/home/jdart/chess/engines/crafty-23.5/crafty-numa-8core",
"protocol": "xboard",
"workingDirectory": "/home/jdart/chess/engines/crafty-23.5",
"initStrings": [ "memory 128", "cores 1" ]
},
{
"name": "Crafty-23.7",
"command": "/home/jdart/chess/engines/crafty-23.7/crafty",
"protocol": "xboard",
"workingDirectory": "/home/jdart/chess/engines/crafty-23.7",
"initStrings": [ "memory 128", "cores 1" ]
},
{
"name": "Fruit-2.3.1",
"command": "/home/jdart/chess/engines/fruit-2.3.1/Fruit-2-3-1-Linux",
"protocol": "uci",
"workingDirectory": "/home/jdart/chess/engines/fruit-2.3.1",
"initStrings": [ "setoption name Hash value 128" ]
},
{
"name": "Octochess-r5190",
"command": "/home/jdart/chess/engines/octochess-r5190/octochess-linux-sse4-r5190 --threa\
ds 1",
"protocol": "xboard",
"workingDirectory": "/home/jdart/chess/engines/octochess-r5190",
"initStrings": [ "memory 128" ]
},
{
"name": "MinkoChess-1.3",
"command": "/home/jdart/chess/engines/MinkoChess/bin/minkochess-linux",
"protocol": "uci",
"workingDirectory": "/home/jdart/chess/engines/MinkoChess/bin",
"initStrings": [ "setoption name Hash value 128", "setoption name Threads value 1"]
},
{
"name": "Glaurung-2.2",
"command": "/home/jdart/chess/engines/glaurung22/src/glaurung",
"protocol": "uci",
"workingDirectory": "/home/jdart/chess/engines/glaurung22/src",
"initStrings": [ "setoption name Hash value 128", "setoption name Threads value 1"]
}
]
phenri
Posts: 284
Joined: Tue Aug 13, 2013 9:44 am

Re: cutechess-cli 0.6.0 released

Post by phenri »

jdart wrote:The json file is the way to go IMO. Unfortunately the parser is not very informative if you get the syntax wrong.

Following is the one I use - it shows how to set up engines and some common options for UCI and winboard. I use some shell scripts to set up matches - the one that actually calls cutechess-cli gets passed in the name of the opponent and number of games through the command line, so most of the parameters can be specified once in that file.
Hi jdart
Thanks for the example of json file. Settings in initStrings is more readable indeed.

I use this site to debug, beautify or compress http://jsonlint.com/

On your exemple I get an error from this
"name": "Octochess-r5190", "command": "/home/jdart/chess/engines/octochess-r5190/octochess-linux-sse4-r5190 --threa\ds 1",

Code: Select all

[
    {
        "name": "Gaviota-0.86",
        "command": "/home/jdart/chess/engines/gaviota-0.86-linux/gaviota-0.86-linux64",
        "protocol": "xboard",
        "workingDirectory": "/home/jdart/chess/engines/gaviota-0.86-linux"
    },
    {
        "name": "EXchess-7.18",
        "command": "/home/jdart/chess/engines/EXchess_v7.18/EXchess_v7.18b_linux64",
        "protocol": "xboard",
        "workingDirectory": "/home/jdart/chess/engines/EXchess_v7.18"
    },
    {
        "name": "Crafty-23.5",
        "command": "/home/jdart/chess/engines/crafty-23.5/crafty-numa-8core",
        "protocol": "xboard",
        "workingDirectory": "/home/jdart/chess/engines/crafty-23.5",
        "initStrings": [
            "memory 128",
            "cores 1"
        ]
    },
    {
        "name": "Crafty-23.7",
        "command": "/home/jdart/chess/engines/crafty-23.7/crafty",
        "protocol": "xboard",
        "workingDirectory": "/home/jdart/chess/engines/crafty-23.7",
        "initStrings": [
            "memory 128",
            "cores 1"
        ]
    },
    {
        "name": "Fruit-2.3.1",
        "command": "/home/jdart/chess/engines/fruit-2.3.1/Fruit-2-3-1-Linux",
        "protocol": "uci",
        "workingDirectory": "/home/jdart/chess/engines/fruit-2.3.1",
        "initStrings": [
            "setoption name Hash value 128"
        ]
    },
    {
        "name": "Octochess-r5190",
        "command": "/home/jdart/chess/engines/octochess-r5190/octochess-linux-sse4-r5190 --threads 1",
        "protocol": "xboard",
        "workingDirectory": "/home/jdart/chess/engines/octochess-r5190",
        "initStrings": [
            "memory 128"
        ]
    },
    {
        "name": "MinkoChess-1.3",
        "command": "/home/jdart/chess/engines/MinkoChess/bin/minkochess-linux",
        "protocol": "uci",
        "workingDirectory": "/home/jdart/chess/engines/MinkoChess/bin",
        "initStrings": [
            "setoption name Hash value 128",
            "setoption name Threads value 1"
        ]
    },
    {
        "name": "Glaurung-2.2",
        "command": "/home/jdart/chess/engines/glaurung22/src/glaurung",
        "protocol": "uci",
        "workingDirectory": "/home/jdart/chess/engines/glaurung22/src",
        "initStrings": [
            "setoption name Hash value 128",
            "setoption name Threads value 1"
        ]
    }
]
jdart
Posts: 4367
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: cutechess-cli 0.6.0 released

Post by jdart »

I think the error you see is from the forum software splitting the line - in reality the quoted string does not span a line.

--Jon
yolin
Posts: 30
Joined: Thu Mar 30, 2006 6:12 pm

Re: cutechess-cli 0.6.0 released

Post by yolin »

Was this problem ever solved? I have exactly the same problem with the latest version running on Windows; hanging engines without warning or error.

Any work-around? Thanks a lot!
User avatar
Guenther
Posts: 4607
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: cutechess-cli 0.6.0 released

Post by Guenther »

After a very long hiatus I started fiddling around with CuteChess-Cli yesterday and finally had all running with a working engines.json file.

I never used more than concurrency 3 and later even went down to 2, because I met problems with terminated pipes and even app crashes.
All this did not help and the culprit seems to be a crashing QT4core.dll which is delivered with CuteChess-Cli.
I have not yet googled up the problem and looked for solutions, because I thought it might be faster here.

The system is a Quad Core with WIN XP SP3 (edit: 32bit) plus current updates.
I should mention that I used Winamp radio streaming during this...
and sometimes also the taskmanager at high frequency resolution for checking resources and hanging programs.
I already tried the alternative 0.60 version from the Stockfish frame testing, but no difference.

Guenther

Code: Select all

Ereignistyp:	Fehler
Ereignisquelle:	Application Error
Ereigniskategorie:	Keine
Ereigniskennung:	1000
Datum:		18.12.2013
Zeit:		14:54:27
Benutzer:		Nicht zutreffend
Computer:	CAPPUCCINO
Beschreibung:
Fehlgeschlagene Anwendung cutechess-cli.exe, Version 0.0.0.0, fehlgeschlagenes Modul qtcore4.dll, Version 4.8.1.0, Fehleradresse 0x0000e006.
User avatar
Steve Maughan
Posts: 1221
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: cutechess-cli 0.6.0 released

Post by Steve Maughan »

Hi Guenther,

Interesting!

I have used CuteChess-Cli quite a lot when developing Maverick. I also had some problems with terminated pipes and app crashes when playing games at high speed (e.g. game in 10 secs). I assumed it was a problem with Maverick's UCI code, although Maverick seems to be rock solid stable when playing using other GUIs.

I'll be interested to see if you find anything,

Steve
http://www.chessprogramming.net - Maverick Chess Engine
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: cutechess-cli 0.6.0 released

Post by brianr »

It was reported a while back that version 060 does not seem to work well under Windows.
I have run into this with Winboard engines at very fast time controls, and particularly with concurrency greater than 1 under both Vista and Win7.

For some reason, the Stockfish/Fishtest worker jobs run just fine, but those are generally slower time controls, and Stockfish is UCI.

I simply went back to version 051, although keep in mind that the commands are slightly different.

Another option is Winboard's tournament manager, which is very reliable at any time control.
However, manual edits of the .trn file must be done for sub-second time controls.
For extremely fast times, the noGUI option should be used.
Multiple instances can easily be launched also, especially if the .trn file is associated with Winboard.
User avatar
Guenther
Posts: 4607
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: cutechess-cli 0.6.0 released

Post by Guenther »

brianr wrote:It was reported a while back that version 060 does not seem to work well under Windows.
I have run into this with Winboard engines at very fast time controls, and particularly with concurrency greater than 1 under both Vista and Win7.

For some reason, the Stockfish/Fishtest worker jobs run just fine, but those are generally slower time controls, and Stockfish is UCI.

I simply went back to version 051, although keep in mind that the commands are slightly different.

Another option is Winboard's tournament manager, which is very reliable at any time control.
However, manual edits of the .trn file must be done for sub-second time controls.
For extremely fast times, the noGUI option should be used.
Multiple instances can easily be launched also, especially if the .trn file is associated with Winboard.
Hi Brian and Steve,

No solution found, probably there is none and I followed the advice found
already in this thread by Ilari and switched back to 0.51 which wasn't too easy to find anymore BTW.
This version seems to behave well and stable, except from occasional error messages:

Code: Select all

QObject::killTimers: timers cannot be stopped from another thread
but yet the games run further and nothing hangs so far and already 6 times more games played than before at best case.

Of course I know WB very well and will always use it(RWBC!) but I wanted to do something new and different for a while.

Guenther
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: cutechess-cli 0.6.0 released

Post by hgm »

brianr wrote:However, manual edits of the .trn file must be done for sub-second time controls.
I have hardly had time to work on WinBoard these past months, so please remind me: Is the problem here that the increment is not saved as a float, or that the fraction cannot be entered in the dialog?
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: cutechess-cli 0.6.0 released

Post by brianr »

I think it is the faction entry.