cutechess-cli 0.6.0 released

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

Moderators: hgm, Rebel, chrisw

User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: cutechess-cli 0.6.0 released

Post by Laskos »

ilari wrote:Kai and Ferdinand,

Can you both try running your matches with the version I made for the Stockfish testing framework, and then report back with your results? The binary package is hosted at http://koti.mbnet.fi/~ilaripih/bin/cute ... -win32.zip
The version number may say "0.5.1-SF" but it has the same features as 0.6.0.

Thanks!
Same, with the same command line, stalled after 2,600 games without any warning, CPU usage 0%, with hanging engines. EPD 800 positions, random.

Code: Select all

C:\cutechess-cli>cutechess-cli -engine conf="Hou" tc=2.5+0.05 -engine conf="Ryb" tc=5+0.1 -engine conf="Ko" tc=5+0.1 -engine conf="SF" tc=7.5+0.15 -concurrency 7 -draw movenumber=50 movecount=50 score=20 -resign movecount=5 score=900 -games 1 -rounds 1000 -repeat -openings file=endgame.epd format=epd order=random -pgnout End5.pgn -ratinginterval 1
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: cutechess-cli 0.6.0 released

Post by ilari »

Laskos wrote:
ilari wrote:Kai and Ferdinand,

Can you both try running your matches with the version I made for the Stockfish testing framework, and then report back with your results? The binary package is hosted at http://koti.mbnet.fi/~ilaripih/bin/cute ... -win32.zip
The version number may say "0.5.1-SF" but it has the same features as 0.6.0.

Thanks!
Same, with the same command line, stalled after 2,600 games without any warning, CPU usage 0%, with hanging engines. EPD 800 positions, random.

Code: Select all

C:\cutechess-cli>cutechess-cli -engine conf="Hou" tc=2.5+0.05 -engine conf="Ryb" tc=5+0.1 -engine conf="Ko" tc=5+0.1 -engine conf="SF" tc=7.5+0.15 -concurrency 7 -draw movenumber=50 movecount=50 score=20 -resign movecount=5 score=900 -games 1 -rounds 1000 -repeat -openings file=endgame.epd format=epd order=random -pgnout End5.pgn -ratinginterval 1
Thanks, I managed to reproduce it myself. Hoping to fix it soon...

BTW, this problem only affects the Windows version, so Linux and Mac users need not worry. Windows users should stick to 0.5.1 until an update is released.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: cutechess-cli 0.6.0 released

Post by Ferdy »

ilari wrote:Kai and Ferdinand,

Can you both try running your matches with the version I made for the Stockfish testing framework, and then report back with your results? The binary package is hosted at http://koti.mbnet.fi/~ilaripih/bin/cute ... -win32.zip
The version number may say "0.5.1-SF" but it has the same features as 0.6.0.

Thanks!
I tried to run with debug and this is worser, I only managed to finish 200 games.

Last part of debug from first CLI, all 100 games completed.

Code: Select all

717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58;  95     0      3     109102 d4e4 c7a8 &#40;1.0&#41;
717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58;  96     0      3     109135 d4e4 c7a8 &#40;1.0&#41;
717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58;  97     0      3     118048 d4e4 c7a8 &#40;1.0&#41;
717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58;  98     0      3     128420 d4e4 c7a8 &#40;1.0&#41;
717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58;  99     0      3     138739 d4e4 c7a8 &#40;1.0&#41;
717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58; 100     0      3     149445 d4e4 c7a8 &#40;1.0&#41;
717353 <Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58; move d4e4
717353 >RedQueen_v1.1.3_64BIT&#40;9&#41;&#58; position fen r2qrbk1/1ppb1ppp/p1np1n2/4p3/B2PP3/P1P2N2/1P1N1PPP/R1BQR1K1 w - - 0 1 moves d4d5 c6e7 a4b3 b7b5 d2f1 e7g6 d1d3 g6f4 c1f4 e5f4 f1d2 f6g4 a3a4 d8f6 b3c2 f6h6 c3c4 b5b4 a4a5 f8e7 c2a4 d7a4 a1a4 e7h4 e1f1 a8b8 d3b3 h4f2 f1f2 g4f2 g1f2 f7f5 e4f5 e8e3 b3c2 h6h5 b2b3 e3e7 h2h3 g8h8 d2f1 b8b7 f3d4 h5f7 d4c6 e7e8 f2g1 f7f6 a4b4 b7b4 c6b4 f6d4 c2f2 d4c3 b4c6 c3b3 f2f4 b3c3 f1g3 c3e3 f4e3 e8e3 g1h2 e3c3 c6b4 c3c4 b4a6 c7c6 f5f6 g7f6 d5c6 c4c6 a6b8 c6c8 b8d7 c8a8 g3f5 d6d5 g2g4 d5d4 d7b6 a8a5 f5d4 a5a6 b6c8 h8g7 h2g3 g7f7 d4b5 a6a1 c8d6 f7e6 d6c4 e6d5 c4d2 a1c1 b5d4 c1a1 d4c2 a1c1 c2e3 d5e5 d2f1 e5e4 g3f2 c1c3 f1g3 e4e5 f2f3 c3a3 g3f1 a3a2 f1d2 e5d4 d2b3 d4c3 b3c1 a2a3 f3f2 a3a1 c1e2 c3d3 f2f3 a1a5 e2g3 d3d4 f3f4 a5a4 e3f1 d4d3 f4f5 a4a6 g3e4 d3e2 f1g3 e2f3 e4c5 a6a1 g3e4 f3g2 e4f6 g2h3 g4g5 a1a5 f6d7 h3g3 f5e6 g3f4 e6f6 f4g4 d7e5 g4f4 c5e6 f4e4 e5d7 e4d5 d7f8 a5a6 f6f5 a6a7 e6f4 d5c5 f5e5 c5c4 f4h5 a7f7 f8e6 f7b7 h5f6 b7e7 f6e4 e7a7 e4d6 c4b4 e6f4 a7a2 e5d4 a2d2 f4d3 b4b3 d6f5 d2d1 f5e3 d1d2 d4e4 d2h2 d3c5 b3c3 e3d5 c3c4 c5e6 h2f2 d5e3 c4b4 e4d3 b4b5 e3g4 f2f7 d3d4 f7d7 d4e4 d7f7 e4d5 b5b4 d5e5 b4c3 g4f6 c3c4 e5f5 c4b4 e6d8 f7g7 d8c6 b4b3 c6b8 b3c2 b8d7 g7f7 f5f4 c2b3 d7e5 f7e7 f4f5 b3c2 f6d7 e7e8 e5c6 e8g8 c6d4 c2c3 d4e6 g8a8 e6f8 a8a5 f5g4 a5a7 d7f6 c3c4 f8h7 a7g7 g4f5 c4d3 h7f8 g7g5 f5g5 d3c4 f8d7 c4c3 f6e4 c3d4 g5f4 d4d3 d7e5 d3d4 e5f3 d4d5 e4f6 d5e6 f4g5 e6d6 g5g6 d6e6 f3d4 e6e5 d4f5 e5f4 f6d5 f4e4 d5b4 e4e5 g6g5 e5e4 g5g4 e4e5 b4c2 e5e6 c2e3 e6d7 g4g3 d7c6 g3f4 c6c5 f4e5 c5b4 e5d4 b4b3 e3d5 b3c2 f5e3 c2d2 e3c4 d2e2 d4e4 e2f2 d5e3 f2e1 e3c2 e1f2 c2d4 f2g3 c4e3 g3f2 e3f5 f2e1 e4e3 e1d1 e3d3 d1e1 d4c2 e1f2 d3d2 f2f3 c2e3 f3e4 d2e2 e4f4 f5e7 f4e5 e7c6 e5e4 e2f2 e4f4 e3c2 f4e4 c2d4 e4f4 d4e6 f4e4 e6c7 e4f4 f2g2 f4e4 g2g3 e4e3 g3g4 e3e4 g4g5 e4f3 c6b4 f3e4 g5f6 e4d4 b4a2 d4e4
717353 >RedQueen_v1.1.3_64BIT&#40;9&#41;&#58; isready
717353 >Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58; force
717353 >Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58; result 1/2-1/2 &#123;Draw by adjudication&#125;
717353 >Deuterium_v12.01.30.1070_64BIT&#40;104&#41;&#58; quit
717369 <RedQueen_v1.1.3_64BIT&#40;9&#41;&#58; readyok
Finished game 98 &#40;RedQueen_v1.1.3_64BIT vs Deuterium_v12.01.30.1070_64BIT&#41;&#58; 1/2-1/2 &#123;Draw by adjudication&#125;
Score of Deuterium_v12.01.30.1070_64BIT vs RedQueen_v1.1.3_64BIT&#58; 30 - 34 - 36  &#91;0.480&#93; 100
ELO difference&#58; -14
Finished match
717416 >RedQueen_v1.1.3_64BIT&#40;9&#41;&#58; quit
717416 >RedQueen_v1.1.3_64BIT&#40;6&#41;&#58; quit
717416 >RedQueen_v1.1.3_64BIT&#40;5&#41;&#58; quit
717416 >RedQueen_v1.1.3_64BIT&#40;2&#41;&#58; quit
717416 >RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; quit
717416 >RedQueen_v1.1.3_64BIT&#40;1&#41;&#58; quit
717416 >RedQueen_v1.1.3_64BIT&#40;10&#41;&#58; quit
Last part of debug from second CLI, all 100 games completed.

Code: Select all

669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; info depth 17 seldepth 30
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; info depth 17 score cp -1833 time 359 nodes 644765 nps 644765 pv d8c8 d4e5 e6g4 f2h4 g4h3 h4g5 h3g4 e5f6 c8b8 d6d7 b8c7 f6e7 g4h5 d7d8Q c7c6 d8d7 c6c5 g5e3 c5b4 d7d4 b4b3 d4d5 b3c3
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; info nodes 644765 time 359 nps 644765 hashfull 455
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; info depth 17 seldepth 30
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; info depth 17 score cp -1833 time 359 nodes 644765 nps 644765 pv d8c8 d4e5 e6g4 f2h4 g4h3 h4g5 h3g4 e5f6 c8b8 d6d7 b8c7 f6e7 g4h5 d7d8Q c7c6 d8d7 c6c5 g5e3 c5b4 d7d4 b4b3 d4d5 b3c3
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; info nodes 644765 time 359 nps 644765 hashfull 455
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; bestmove d8c8 ponder d4e5
669651 >Deuterium_v13.1.31.84_64BIT&#40;106&#41;&#58; force
669651 >Deuterium_v13.1.31.84_64BIT&#40;106&#41;&#58; d8c8
669651 >Deuterium_v13.1.31.84_64BIT&#40;106&#41;&#58; result 1-0 &#123;White wins by adjudication&#125;
669651 >Deuterium_v13.1.31.84_64BIT&#40;106&#41;&#58; quit
669651 >RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; isready
669651 <RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; readyok
Finished game 99 &#40;Deuterium_v13.1.31.84_64BIT vs RedQueen_v1.1.3_64BIT&#41;&#58; 1-0 &#123;White wins by adjudication&#125;
Score of Deuterium_v13.1.31.84_64BIT vs RedQueen_v1.1.3_64BIT&#58; 43 - 36 - 21  &#91;0.535&#93; 100
ELO difference&#58; 24
Finished match
669667 >RedQueen_v1.1.3_64BIT&#40;2&#41;&#58; quit
669667 >RedQueen_v1.1.3_64BIT&#40;5&#41;&#58; quit
669667 >RedQueen_v1.1.3_64BIT&#40;10&#41;&#58; quit
669667 >RedQueen_v1.1.3_64BIT&#40;6&#41;&#58; quit
669667 >RedQueen_v1.1.3_64BIT&#40;1&#41;&#58; quit
669667 >RedQueen_v1.1.3_64BIT&#40;13&#41;&#58; quit
669667 >RedQueen_v1.1.3_64BIT&#40;54&#41;&#58; quit
From console:

Code: Select all

C&#58;\MyFiles\Chess\engines\cutechess-cli-sf-win32\cutechess-cli>cutechess-cli -eng
ine conf=Deuterium_v12.01.30.1070_64BIT tc=40/15 trust -engine conf=RedQueen_v1.
1.3_64BIT tc=40/15 trust -games 100 -openings file=.\opn\set1-3000pos-opening.pgn form
at=pgn order=sequential plies=60 start=1 -repeat -recover -concurrency 7 -pgnout
 .\games\g1-set1-3000pos-sf-tc40in15s.pgn -draw movenumber=80 movecount=5 score=
10 -resign movecount=5 score=900 -wait 5 -debug  1>n1.deb
Warning&#58; EngineProcess&#58; pipe reader was terminated
Warning&#58; EngineProcess&#58; pipe reader was terminated
Warning&#58; EngineProcess&#58; pipe reader was terminated

C&#58;\MyFiles\Chess\engines\cutechess-cli-sf-win32\cutechess-cli>cutechess-cli -eng
ine conf=Deuterium_v13.1.31.84_64BIT tc=40/15 trust -engine conf=RedQueen_v1.1.3
_64BIT tc=40/15 trust -games 100 -openings file=.\opn\set1-3000pos-opening.pgn format=
pgn order=sequential plies=60 start=1 -repeat -recover -concurrency 7 -pgnout .\
games\g1-set1-3000pos-sf-tc40in15s.pgn -draw movenumber=80 movecount=5 score=10
-resign movecount=5 score=900 -wait 5 -debug  1>n2.deb
Warning&#58; EngineProcess&#58; pipe reader was terminated
Warning&#58; EngineProcess&#58; pipe reader was terminated
Warning&#58; EngineProcess&#58; pipe reader was terminated
Warning&#58; EngineProcess&#58; pipe reader was terminated
Warning&#58; EngineProcess&#58; pipe reader was terminated
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: cutechess-cli 0.6.0 released

Post by Ferdy »

While console was still opened, I checked the task manager and executed to end the process of one cutechess-cli there. After that my third CLI was run and the match continued, engines were running again.
Joerg Oster
Posts: 937
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany

Re: cutechess-cli 0.6.0 released

Post by Joerg Oster »

Hi Ilari,

I think there is a problem when using the engine option 'whitepov' together with -resign option. I have many, many games wrongly adjudicated as a win for the losing side, when the winning side was playing with the black pieces.
I need the 'whitepov' option to get an appropriate eval graph in scid.

Best, Joerg.
Jörg Oster
Mincho Georgiev
Posts: 454
Joined: Sat Apr 04, 2009 6:44 pm
Location: Bulgaria

Re: cutechess-cli 0.6.0 released

Post by Mincho Georgiev »

Ilari, sorry if this is a dumb question, but there's only one feature that still makes me use Chessbase over cutechess-cli.
Is it possible to create a tournament /gauntlet or 1vs1 match/ that will stack and in case for example of a power failure will continue from where it ends - i.e. from game No.100 out of 10000 for example.
The way Chessbase is doing that is by reserving all the 10000 games like empty slots and then just fills every single one on game end.
If tournament gets interrupted, it continues from the last game that have no recorded result.
Thanks!
User avatar
hgm
Posts: 27800
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 »

Indeed, that is how WinBoard does it too. This 'result string' is stored in the tourney file with the other tourney parameters, and agents playing on the tourney simply pick the first game from it that doesn't have a result and is not marked as 'in progress'. So you can start and stop playing agents at any time. When a tourney was interrupted, you just restart WinBoard on the same tourney file (by double-clicking the latter), and it will resume where it left off. (The game that was interrupted would have to be replayed, though.)

There is one snag, though. If you would really exit by a power failure, the 'in progress' markers are not cleared. (They would be if you would shutdown WinBoard under program control, even when you do it through the window close button). I guess I really should provide a button 'Replay ongoing games' that you could use to remove all 'in progress' markers, to be used only for recovering from such a fatal crash. (Currently the only way to do that is edit the tourney file, to replace the * results by spaces.)
Tom Likens
Posts: 303
Joined: Sat Apr 28, 2012 6:18 pm
Location: Austin, TX

Re: cutechess-cli 0.6.0 released

Post by Tom Likens »

Hello Ilari,

Thanks for releasing this, but I'm seeing a problem that I also saw in the previous version. Basically, when I run a gauntlet with multiple opponents, cutechess-cli seems to lose the connection between the output PGN file and the games. The latest example was today when I kicked off a gauntlet of 34,000 games against five opponents. I killed it after 5300 games because the pgn file only contained the first 4703 games and no new games were being added.

Code: Select all

==================================================================
             Total played&#58; 4703 &#40;unique games&#58; 4702&#41;
             Note, only unique games are scored.
==================================================================
              Player  Wins  Losses  Draws  Score        Percent
==================================================================
 Djinn 0.990.3 LINUX  1912  1148    1642   2733.0/4702  &#40;58.12%)
           Fruit 2.1  407   368     401    607.5/1176  &#40;51.66%)
       Ruffian 2.1.0  353   441     381    543.5/1175  &#40;46.26%)
   Djinn 0.979 LINUX  199   462     515    456.5/1176  &#40;38.82%)
        Yace 0.99.50  189   641     345    361.5/1175  &#40;30.77%)
and when I killed it:

Code: Select all

Finished game 5324 &#40;Djinn 0.990.3 LINUX vs Yace 0.99.50&#41;&#58; * &#123;No result&#125;
Finished game 5328 &#40;Yace 0.99.50 vs Djinn 0.990.3 LINUX&#41;&#58; * &#123;No result&#125;
Finished game 5327 &#40;Djinn 0.979 LINUX vs Djinn 0.990.3 LINUX&#41;&#58; * &#123;No result&#125;
Finished game 5326 &#40;Ruffian 2.1.0 vs Djinn 0.990.3 LINUX&#41;&#58; * &#123;No result&#125;
Finished game 5330 &#40;Djinn 0.990.3 LINUX vs Ruffian 2.1.0&#41;&#58; * &#123;No result&#125;
Rank Name                        ELO   Games   Score   Draws
   1 Djinn 0.990.3 LINUX          59    5322     58%     35%
   2 Fruit 2.1                    14    1330     52%     34%
   3 Ruffian 2.1.0               -31    1331     46%     33%
   4 Djinn 0.979 LINUX           -84    1331     38%     44%
   5 Yace 0.99.50               -142    1330     31%     29%
Finished match
I invoke it with the following command, (with the appropriate variables filled in of course):

Code: Select all

cutechess-cli.sh \
-engine conf="Djinn 0.$&#123;version&#125; $os" \
-engine conf="Fruit 2.1" \
-engine conf="Ruffian 2.1.0" \
-engine conf="Djinn 0.979 LINUX" \
-engine conf="Yace 0.99.50" \
-each tc=0/$&#123;tc&#125;+$&#123;inc&#125; -tournament gauntlet \
-openings file=$$.epd format=epd -concurrency $cpu \
-repeat -rounds $rounds -pgnout $&#123;pgn&#125; min
This is an 8-core machine and I'm using all 8 cores (which is perhaps the problem). Anyway, any help or insight would be useful.

thanks,
--tom
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: cutechess-cli 0.6.0 released

Post by Adam Hair »

Tom Likens wrote:Hello Ilari,

Thanks for releasing this, but I'm seeing a problem that I also saw in the previous version. Basically, when I run a gauntlet with multiple opponents, cutechess-cli seems to lose the connection between the output PGN file and the games. The latest example was today when I kicked off a gauntlet of 34,000 games against five opponents. I killed it after 5300 games because the pgn file only contained the first 4703 games and no new games were being added.
I had that problem before. It went away when I quit using all 4 cores of my computer and started using 3 cores.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: cutechess-cli 0.6.0 released

Post by ilari »

Tom Likens wrote:Hello Ilari,

Thanks for releasing this, but I'm seeing a problem that I also saw in the previous version. Basically, when I run a gauntlet with multiple opponents, cutechess-cli seems to lose the connection between the output PGN file and the games. The latest example was today when I kicked off a gauntlet of 34,000 games against five opponents. I killed it after 5300 games because the pgn file only contained the first 4703 games and no new games were being added.
Cutechess-cli saves games in the PGN in the same order they were created, so if game #1 stalls or just takes a really long time, and games 2 - 10 finish in the meantime, the PGN file will still be empty because it's waiting for game #1 to finish. When game #1 finally finishes, games 1 to 10 are all written in the file at the same time.

In your test you were running 8 games concurrently, but when you killed the match I can only see 5 "Finished game..." lines. I think there should be 8.