Batch file for auto tournament cutechess-cli

Questions and comments related to CCRL testing study
Post Reply
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Batch file for auto tournament cutechess-cli

Post by JorgeRuiz »

Hello, I am going to add here a specific configuration for cutechess-cli with a bath file that contains the tournament data, engines, etc. and that you just have to click and it starts running.
Exemple:

Code: Select all

@echo off

REM set openings to use
set opening=UHO_2024_8mvs_big_+080_+099

REM set the window title
title NNUE SSE3 180+2 League

REM cutechess-cli setup
@cutechess-cli.exe ^
  -event "NNUE SSE3 180+2 League" -site "HP Proliant DL360P Gen8 Server" ^
  -engine name="Alexandria-6.0.1" proto=uci cmd=Alexandria.exe dir=..\Engines\Alexandria\ ^
  -engine name="Arasan24.1" proto=uci cmd=arasanx-64.exe dir=..\Engines\Arasan option.OwnBook=false ^
  -engine name="Berserk 12" proto=uci cmd=berserk-12-x64-ssse3.exe dir=..\Engines\Berserk\ option.EvalFile="berserk-fb675dad41b4.nn" ^
  -engine name="Blackmarlin 9.0" proto=uci cmd=blackmarlin-windows-x86-64-v2.exe dir=..\Engines\Blackmarlin\  ^
  -engine name="Caissa 1.17" proto=uci cmd=caissa-1.17-x64-sse4-popcnt.exe dir=..\Engines\Caissa\ option.SyzygyProbeLimit=6 ^
  -engine name="carp-v3.0.1-win-x86_64-V2" proto=uci cmd=carp-v3.0.1-win-x86_64-V2.exe dir=..Engines\Carp ^
  -engine name="Clover 6.1.10" proto=uci cmd=Clover.6.1.10.exe dir=..\Engines\Clover\ ^
  -engine name="Dragon 3.3" proto=uci cmd=dragon-3.3-64bit.exe dir=..\Engines\Dragon\ ^
  -engine name="Ethereal 14.25 (NNUE)" proto=uci cmd=Ethereal-14.25-ssse3.exe dir=..\Engines\Ethereal\ option.EvalFile="ethy.v1425.std.nn" ^
  -engine name="Koivisto 9.0" proto=uci cmd=Koivisto_9.0-windows-sse2-pgo.exe dir=..\Engines\Koivisto\ ^
  -engine name="RubiChess 20240112 NN-c257b" proto=uci cmd=RubiChess-20240112_x86-64-modern.exe dir=..\Engines\Rubichess\ ^
  -engine name="Seer 2.8.0" proto=uci cmd=seer_v2.8_x64_ssse3_nopopcnt.exe dir=..\Engines\Seer\ ^
  -engine name="Stockfish 16.1" proto=uci cmd=stockfish-windows-x86-64-sse41-popcnt.exe dir=..\Engines\Stockfish16.1\ ^
  -engine name="Stormphrax 4.0.0" proto=uci cmd=stormphrax-4.0.0-sse41-popcnt.exe dir=..\Engines\Stormphrax\ ^
  -engine name="Viridithas 12.0.0" proto=uci cmd=viridithas-12.0.0-x86_64-win-v2.exe dir=..\Engines\Viridithas\ ^
  -tournament round-robin ^
  -each tc=30+2 option.Hash=512 option.Threads=4 ^
  -openings file=..\Openings\PGN\%opening%.pgn format=pgn order=random ^
  -maxmoves 250 -draw movenumber=40 movecount=5 score=10 -concurrency 8 -rounds 5 -games 2 ^
  -repeat 2 -recover -tb C:\Syzygy6 -tbpieces 6 ^
  -pgnout ..\Games\nnue_league_2024.pgn fi ^
  -ratinginterval 10
Script Without batch for exe into the path of you have cutechess:

Code: Select all

@echo off

rem :start

cutechess-cli -event "IJCCRL" -site %computername% -engine conf="caissa-1.17-x64-sse4-popcnt" -engine conf="dragon-3.3-64bit" -engine conf="Ethereal-14.25-ssse3" -engine conf="stockfish-windows-x86-64-sse41-popcnt" -engine conf="arasanx-64" -engine conf="berserk-12-x64-ssse3" -engine conf="blackmarlin-windows-x86-64-v2" -engine conf="carp-v3.0.1-win-x86_64-V2" -engine conf="Clover.6.1.10" -engine conf="Koivisto_9.0-windows-sse2-pgo" -engine conf="RubiChess-20240112_x86-64-modern" -engine conf="seer_v2.8_x64_ssse3_nopopcnt" -engine conf="stormphrax-4.0.0-sse41-popcnt" -engine conf="viridithas-12.0.0-x86_64-win-v2" -tournament round-robin -each option.Threads=4 option.Hash=256 option.SyzygyPath="C:\Syzygy6" option.SyzygyProbeLimit=6 tc=30+1 -maxmoves 200 -draw movenumber=40 movecount=5 score=10 -concurrency 8 -rounds 2 -games 2 -openings file=D:\Learnfarm\OpeningsToLearn\UHO_2024_8mvs_big_+080_+099.pgn format=pgn order=sequential policy=round -repeat 2  -recover -tb C:\Syzygy6 -pgnout D:\Learnfarm\OpeningsToLearn\games.pgn -ratinginterval 10
This would be the specific content of this file with these chess engines. In order not to go into details, say that in the control time you can specify, for example, frc 40\120 as a command. And in the folders you can add your books, suite, etc. whatever you want to use. I have been doing it with a concurrency of 8 and it does not exceed 10% ram usage. And there are no games lost due to time.

I hope it can be useful to you if someone uses or wants to use cutechess with commands, since it consumes much less resources and is very stable.

EDIT:
The folder with the scripts and correct configuration is the one I just added. The previous one was different and it doesn't work. Excuse me. I just edited it and uploaded everything again.

https://mega.nz/file/BicCCZyJ#4oZECVWAf ... m5iQpJuomE
I am not an expert in anything, I do not believe in anything, but everything is possible.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: Batch file for auto tournament cutechess-cli

Post by JorgeRuiz »

JorgeRuiz wrote: Thu Mar 21, 2024 5:39 pm Hello, I am going to add here a specific configuration for cutechess-cli with a bath file that contains the tournament data, engines, etc. and that you just have to click and it starts running.
Exemple:

Code: Select all

@echo off

REM set openings to use
set opening=UHO_2024_8mvs_big_+080_+099

REM set the window title
title NNUE SSE3 180+2 League

REM cutechess-cli setup
@cutechess-cli.exe ^
  -event "NNUE SSE3 180+2 League" -site "HP Proliant DL360P Gen8 Server" ^
  -engine name="Alexandria-6.0.1" proto=uci cmd=Alexandria.exe dir=..\Engines\Alexandria\ ^
  -engine name="Arasan24.1" proto=uci cmd=arasanx-64.exe dir=..\Engines\Arasan option.OwnBook=false ^
  -engine name="Berserk 12" proto=uci cmd=berserk-12-x64-ssse3.exe dir=..\Engines\Berserk\ option.EvalFile="berserk-fb675dad41b4.nn" ^
  -engine name="Blackmarlin 9.0" proto=uci cmd=blackmarlin-windows-x86-64-v2.exe dir=..\Engines\Blackmarlin\  ^
  -engine name="Caissa 1.17" proto=uci cmd=caissa-1.17-x64-sse4-popcnt.exe dir=..\Engines\Caissa\ option.SyzygyProbeLimit=6 ^
  -engine name="carp-v3.0.1-win-x86_64-V2" proto=uci cmd=carp-v3.0.1-win-x86_64-V2.exe dir=..Engines\Carp ^
  -engine name="Clover 6.1.10" proto=uci cmd=Clover.6.1.10.exe dir=..\Engines\Clover\ ^
  -engine name="Dragon 3.3" proto=uci cmd=dragon-3.3-64bit.exe dir=..\Engines\Dragon\ ^
  -engine name="Ethereal 14.25 (NNUE)" proto=uci cmd=Ethereal-14.25-ssse3.exe dir=..\Engines\Ethereal\ option.EvalFile="ethy.v1425.std.nn" ^
  -engine name="Koivisto 9.0" proto=uci cmd=Koivisto_9.0-windows-sse2-pgo.exe dir=..\Engines\Koivisto\ ^
  -engine name="RubiChess 20240112 NN-c257b" proto=uci cmd=RubiChess-20240112_x86-64-modern.exe dir=..\Engines\Rubichess\ ^
  -engine name="Seer 2.8.0" proto=uci cmd=seer_v2.8_x64_ssse3_nopopcnt.exe dir=..\Engines\Seer\ ^
  -engine name="Stockfish 16.1" proto=uci cmd=stockfish-windows-x86-64-sse41-popcnt.exe dir=..\Engines\Stockfish16.1\ ^
  -engine name="Stormphrax 4.0.0" proto=uci cmd=stormphrax-4.0.0-sse41-popcnt.exe dir=..\Engines\Stormphrax\ ^
  -engine name="Viridithas 12.0.0" proto=uci cmd=viridithas-12.0.0-x86_64-win-v2.exe dir=..\Engines\Viridithas\ ^
  -tournament round-robin ^
  -each tc=30+2 option.Hash=512 option.Threads=4 ^
  -openings file=..\Openings\PGN\%opening%.pgn format=pgn order=random ^
  -maxmoves 250 -draw movenumber=40 movecount=5 score=10 -concurrency 8 -rounds 5 -games 2 ^
  -repeat 2 -recover -tb C:\Syzygy6 -tbpieces 6 ^
  -pgnout ..\Games\nnue_league_2024.pgn fi ^
  -ratinginterval 10
Script Without batch for exe into the path of you have cutechess:

Code: Select all

@echo off

rem :start

cutechess-cli -event "IJCCRL" -site %computername% -engine conf="caissa-1.17-x64-sse4-popcnt" -engine conf="dragon-3.3-64bit" -engine conf="Ethereal-14.25-ssse3" -engine conf="stockfish-windows-x86-64-sse41-popcnt" -engine conf="arasanx-64" -engine conf="berserk-12-x64-ssse3" -engine conf="blackmarlin-windows-x86-64-v2" -engine conf="carp-v3.0.1-win-x86_64-V2" -engine conf="Clover.6.1.10" -engine conf="Koivisto_9.0-windows-sse2-pgo" -engine conf="RubiChess-20240112_x86-64-modern" -engine conf="seer_v2.8_x64_ssse3_nopopcnt" -engine conf="stormphrax-4.0.0-sse41-popcnt" -engine conf="viridithas-12.0.0-x86_64-win-v2" -tournament round-robin -each option.Threads=4 option.Hash=256 option.SyzygyPath="C:\Syzygy6" option.SyzygyProbeLimit=6 tc=30+1 -maxmoves 200 -draw movenumber=40 movecount=5 score=10 -concurrency 8 -rounds 2 -games 2 -openings file=D:\Learnfarm\OpeningsToLearn\UHO_2024_8mvs_big_+080_+099.pgn format=pgn order=sequential policy=round -repeat 2  -recover -tb C:\Syzygy6 -pgnout D:\Learnfarm\OpeningsToLearn\games.pgn -ratinginterval 10
This would be the specific content of this file with these chess engines. In order not to go into details, say that in the control time you can specify, for example, frc 40\120 as a command. And in the folders you can add your books, suite, etc. whatever you want to use. I have been doing it with a concurrency of 8 and it does not exceed 10% ram usage. And there are no games lost due to time.

I hope it can be useful to you if someone uses or wants to use cutechess with commands, since it consumes much less resources and is very stable.

EDIT:
The folder with the scripts and correct configuration is the one I just added. The previous one was different and it doesn't work. Excuse me. I just edited it and uploaded everything again.

https://mega.nz/file/BicCCZyJ#4oZECVWAf ... m5iQpJuomE
Now I have generated everything again. And this time I leave you the cutechess suite created by Ibai Burgos, for your tests. You just have to create the chess engines again, after deleting the cutechess interface, and copy the json into the folder that you will see with the script name. For the process of creating the engines, eliminate the ownbook option in those that have it, as it would be unfair for the rest of the engines that do not have it. Then you change the suite that you will see, for yours and as it is configured, a round robin tournament will start with 21,000 games. With the same opening with changed colors. This is a huge advantage over the rest of the gui, since it consumes many fewer resources as I mentioned before, and you can run other guis if you wish. A cordial greeting, and this time yes, I hope it helps you.

Likewise, nothing needs to be added during the creation process of the uci engines other than the path of the tbs and the overhead. The rest is already configured in the scripts. Which you must configure according to the modality, be it frc, blitz or 40/15.
Suite generate by Ibai Burgos.

Download from here:
https://mega.nz/file/I2EGHKYS#NFiLysd2R ... aqERp9m2JM
I am not an expert in anything, I do not believe in anything, but everything is possible.
Ray
Posts: 22604
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: Batch file for auto tournament cutechess-cli

Post by Ray »

I'll take a look.

Problem is, you can't see any of the games can you? I only watch maybe one in a hundred, not sure, but I find it very important to see some of the games to make sure the engine is working as expected.

Cutechess GUI is very low overhead. I routinely use concurrency 12 on my Ryzen with no time losses or other problems, and ran several hundred games at concurrency 20 as an experiment also without any issues. You don't need to be worried about GUI overhead with Cutechess. Maybe at some point it might if you have big hardware, but from personal experience up to 20 is no problem.
Post Reply