HCE engines

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:

HCE engines

Post by JorgeRuiz »

I have three hp proliant dl360p gen 8 servers. But unfortunately, this generation comes supplied with double xeon ivy bridge and does not accept avx2 instructions. Only sse, modern, avx. Then looking at the list of ccrl engines and the conditions, my question is what is a reasonable list of HCE engines to run tournaments on cutechess-cli and what opening book do you recommend to run these tournaments?
On the other hand, in the following months I will increase to four servers, but this last one I will make sure is gen9, accepts a decent graphics for leela, and thus can meet the ccrl requirements, if accepted.
I add an example of a script used for cutechess-cli with which I do the tests:

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-modern" -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=512 option.SyzygyPath="C:\3-4-5;C:\Syzygy6"  tc=180+2 -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:\3-4-5;C:\Syzygy6 -pgnout D:\Learnfarm\OpeningsToLearn\games.pgn -ratinginterval 10

exit
As you can see, I am using Stephan's UHO_2024 suite. But I would change this for a balanced opening book that you can offer for HCE engines. Finally, can the HCE engines be run on cutechess-cli, with a script like the one I have published? Thanks in advance.

Jorge Ruiz
I am not an expert in anything, I do not believe in anything, but everything is possible.
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

Hi,

To my knowledge none of us use cutechess-cli so I don't think we can be too much help with that. Some of us do use CuteChess GUI though.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Ray wrote: Wed Mar 13, 2024 5:38 pm Hi,

To my knowledge none of us use cutechess-cli so I don't think we can be too much help with that. Some of us do use CuteChess GUI though.
and about the list of HCE engines? Regarding the graphical interface and the command version, the benefits are a lower consumption of resources compared to cutechess. In any case, I can use whatever gui most of you use, for testing with the HCE chess engines.
I am not an expert in anything, I do not believe in anything, but everything is possible.
User avatar
Graham Banks
Posts: 26916
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: HCE engines

Post by Graham Banks »

I'm not sure where to find a list of HCE-only engines, but will look around.
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

JorgeRuiz wrote: Wed Mar 13, 2024 6:21 pm Regarding the graphical interface and the command version, the benefits are a lower consumption of resources compared to cutechess.
True enough but CuteChessGUI is the lightest of all the GUIs and it isn't really a factor - and you can see the games if you want to. I've run up to concurrency of 20 with the GUI with no issues. But by all means use cli if that is your preference.
User avatar
Graham Banks
Posts: 26916
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: HCE engines

Post by Graham Banks »

https://docs.google.com/spreadsheets/d/ ... =288902851

Guenther's spreadsheet lists the date of each engine's last release.
This could be helpful in determining which engines are HCE.

With more recent engines, most are on github and will tell whether or not they're using NNUE.
Clicking on the engine name in our lists will give you the homepage link.
bastiball
Posts: 1946
Joined: Thu Aug 05, 2021 2:35 pm
Sign-up code: 10159
Location: Cavite, Philippines
Contact:

Re: HCE engines

Post by bastiball »

cutechess GUI is the best for frc :D
CCRL Testing Group
Guenther
Posts: 27
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: HCE engines

Post by Guenther »

Graham Banks wrote: Wed Mar 13, 2024 11:41 pm https://docs.google.com/spreadsheets/d/ ... =288902851

Guenther's spreadsheet lists the date of each engine's last release.
This could be helpful in determining which engines are HCE.

With more recent engines, most are on github and will tell whether or not they're using NNUE.
Clicking on the engine name in our lists will give you the homepage link.
Well, Guenthers list also tells the ones, who use NN/NNUE ;)
So actually everyone not using this is HCE.

But it seems the OP thinks any NN/NNUE will need AVX2? This is of course wrong and I would guess most of them also have compilations for AVX and still quite some even for SSSE3... but this is almost always clearly explained in the download sections of any program (at least in github)
bastiball
Posts: 1946
Joined: Thu Aug 05, 2021 2:35 pm
Sign-up code: 10159
Location: Cavite, Philippines
Contact:

Re: HCE engines

Post by bastiball »

Guenther wrote: Thu Mar 14, 2024 11:02 am
Graham Banks wrote: Wed Mar 13, 2024 11:41 pm https://docs.google.com/spreadsheets/d/ ... =288902851

Guenther's spreadsheet lists the date of each engine's last release.
This could be helpful in determining which engines are HCE.

With more recent engines, most are on github and will tell whether or not they're using NNUE.
Clicking on the engine name in our lists will give you the homepage link.
Well, Guenthers list also tells the ones, who use NN/NNUE ;)
So actually everyone not using this is HCE.

But it seems the OP thinks any NN/NNUE will need AVX2? This is of course wrong and I would guess most of them also have compilations for AVX and still quite some even for SSSE3... but this is almost always clearly explained in the download sections of any program (at least in github)
Yeah, avx2 is the recommendation of NNUE to work its best performance.
CCRL Testing Group
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Script for cutechess-cli in a hypothetical Gauntlet tournament with Rybka4.1 4 cpu (as I have seen in the last update) The book bin, polyglot, 12 depth 120+1 (1024 hash 256x 4cpu or 256hash). I think there is a colleague who uses cutechess-cli, in any case, let's see what you think:

Code: Select all

@echo off

rem :start

cutechess-cli -event "CCRL BLITZ 120+1 4 CPU" -site %computername% -engine conf="Rybka 4.1 4 CPU" -engine conf="Alexandria 4CPU" -engine conf="arasanx 24.1  4 CPU" -engine conf="caissa-1.17 4 CPU" -engine conf="combusken2.0 4 CPU" -engine conf="marvin 6.2.0 4 CPU" -engine conf="minic3.41 4 CPU" -engine conf="naum 4.6 4 CPU" -engine conf="nemorino 6.0 4 CPU" -engine conf="Vajolet2_2.8 4 CPU" -engine conf="Wasp6.50 4 CPU" -engine conf="Winter 3.0 4 CPU" -tournament gauntlet -each option.Threads=8 option.Hash=1024 option.SyzygyPath="C:\3-4-5;C:\Syzygy6"  tc=120+1 -maxmoves 200 -draw movenumber=40 movecount=5 score=10 -concurrency 8 -rounds 30 -games 2  -openings file=C:\OpeningsToLearn\PGN\Eman.bin format=pgn order=sequential policy=round -repeat 2  -recover -tb C:\3-4-5;C:\Syzygy6 -pgnout C:\Games\games.pgn -ratinginterval 10


This would be an example for blitz. Can be adapted to round-robin ko and gauntlet tournaments
Last edited by JorgeRuiz on Sun Mar 17, 2024 1:01 pm, edited 1 time in total.
I am not an expert in anything, I do not believe in anything, but everything is possible.
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

Is there a separate config file for each engine ? For example Rybka does not have a "threads" UCI parameter, it uses "Max CPUs". So passing a common parameter of "threads" to Rybka won't do anything. It will run one thread.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Ray wrote: Sun Mar 17, 2024 1:01 pm Is there a separate config file for each engine ? For example Rybka does not have a "threads" UCI parameter, it uses "Max CPUs". So passing a common parameter of "threads" to Rybka won't do anything. It will run one thread.

Code: Select all

uci
id name Rybka 4.1 4 CPU
id author Vasik Rajlich
option name UCI_Query type button
option name System Query type button
option name Hash type spin min 2 max 4096 default 32
option name Log Dir type string default <empty>
option name Log type check default false
option name xLog type check default false
option name Random type spin min 0 max 4095 default 0
option name CPU Usage type spin min 1 max 100 default 100
option name NalimovPath type string default <empty>
option name NalimovCache type spin min 1 max 256 default 1
option name NalimovProbeFrequency type spin min 0 max 256 default 36
option name Main Process Priority type combo default Inherit var Normal var BelowNormal var Low var Inherit
option name Use Large Pages type check default false
option name Always Score Main Move type check default false
option name Display Upperbounds type check default false
option name Preserve Analysis type check default false
option name Clear Hash type button
option name Hash File type string default <empty>
option name Save Hash type button
option name Load Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 256
option name MultiPV_cp type spin default 20000 min 0 max 20000
option name TC Buffer type spin default 3 min 0 max 120
option name TC Normal Move Time type spin default 80 min 1 max 10000
option name TC Max Move Time type spin default 100 min 1 max 10000
option name White Pawn millipawns type spin default 0 min -10000 max 10000
option name Black Pawn millipawns type spin default 0 min -10000 max 10000
option name White Knight millipawns type spin default 0 min -10000 max 10000
option name Black Knight millipawns type spin default 0 min -10000 max 10000
option name White Light Squared Bishop millipawns type spin default 0 min -10000 max 10000
option name White Dark Squared Bishop millipawns type spin default 0 min -10000 max 10000
option name Black Light Squared Bishop millipawns type spin default 0 min -10000 max 10000
option name Black Dark Squared Bishop millipawns type spin default 0 min -10000 max 10000
option name White Rook millipawns type spin default 0 min -10000 max 10000
option name Black Rook millipawns type spin default 0 min -10000 max 10000
option name White Queen millipawns type spin default 0 min -10000 max 10000
option name Black Queen millipawns type spin default 0 min -10000 max 10000
option name Score Offset millipawns type spin default 0 min -10000 max 10000
option name Rook Endgame Penalty millipawns type spin default 0 min -10000 max 10000
option name Bishops Are Opposite Colored Penalty millipawns type spin default 0 min -10000 max 10000
option name Opposite Colored Bishops Endgame Penalty millipawns type spin default 0 min -10000 max 10000
option name Rook Endgame Scaling type spin default 100 min 0 max 1000
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1200 min 1200 max 2400
uciok
I was testing the command and exactly. Then, in order not to make it more complex, due to the old engines, I will use the graphical interface although I see that since it does not have the UCi option for the number of threads, it will only use one. Curious, I think that with another gui you can change the number of threads that Rybka 4.1 uses?

EDIT: I remember now, sorry. This engine is from many years ago. I imagine the Deep Rybka version is the one that supports the most CPUs. The single version, that is, this one, 4.1, if the threads option does not appear in the uci command, it will use only one.
I am not an expert in anything, I do not believe in anything, but everything is possible.
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

Yes "Rybka" is 1 thread only. But Deep Rybka does not have a UCI parameter for threads either. The parameter is "Max CPUs". Old engine as you say. But with cutechess cli you must surely be able to specify options for individual engines as well as options common for all. If you use it properly then that is fine - it is used by many people just not any in CCRL.

Look at what TCEC or CCC do. Last time I looked they gave the cli scripts they use so you can learn from those.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Ray wrote: Sun Mar 17, 2024 5:25 pm Yes "Rybka" is 1 thread only. But Deep Rybka does not have a UCI parameter for threads either. The parameter is "Max CPUs". Old engine as you say. But with cutechess cli you must surely be able to specify options for individual engines as well as options common for all. If you use it properly then that is fine - it is used by many people just not any in CCRL.

Look at what TCEC or CCC do. Last time I looked they gave the cli scripts they use so you can learn from those.
It's true, Deep Rybka uses the uci CPU MAX parameter not threads. I have added 4 in cutechess interface and am trying a gauntlet 120+1 256 hash book depth=12. Both in the taskmanager and in the program that I use to monitor the use of hardware resources, btop4win, use 4 threads. See Screenshot:
Image
In the management of hashes, since in this test, Deeprybka is the reference engine, I note that it uses 9MB per thread. On the other hand, its more modern opponent does come close to the assigned hash usage, that is, 256mb. But the question I have now, I have looked in the subforums, is the opening book that you recommend. Well, I understand that it must be the same book for all the tests, although I may be wrong about this, but since it is about settling the distance between engines, I understand it this way.

Code: Select all

Rank Name                          Elo     +/-   Games   Score    Draw 
   0 Deep Rybka 4.1  4 CPU        -271      83      69   17.4%   26.1% 
   1 minic3.41 4 CPU               inf     nan       6  100.0%    0.0% 
   2 caissa 1.17 4 CPU             inf     nan       6  100.0%    0.0% 
   3 Alexandria 6.0.1 4 CPU        470     nan       8   93.8%   12.5% 
   4 arasanx 24.1 4 CPU            446     nan       7   92.9%   14.3% 
   5 Winter_3.0 4 CPU              417     nan       6   91.7%   16.7% 
   6 Wasp650 4 CPU                 417     nan       6   91.7%   16.7% 
   7 combusken2.0 4 CPU            417     nan       6   91.7%   16.7% 
   8 nemorino 6.0 4 CPU            280     nan       6   83.3%   33.3% 
   9 marvin 6.2.0 4 CPU            191     238       6   75.0%   50.0% 
  10 Vajolet2_2.8 4 CPU             58     110       6   58.3%   83.3% 
  11 naum 4.6 4 CPU               -191     238       6   25.0%   50.0% 

SPRT: llr 0 (0.0%), lbound -inf, ubound inf
69 of 440 games finished.
Regarding the scripts, thank you for your recommendation, since I have all the possible ones that appear in the cutechess-cli github and it is possible to use a bin book, you just have to change -pgn opening, etc. to -book Mode. But I will look at TCEC and ask at Openbench, too, who are always very willing to help. Since looking at the interface and the command version, the command version is much better due to its number of configuration options and resource use. Regarding the book, I await your response and Graham has told me about the latest version of Chessgui, as I also understand that I must use what you use. To avoid distortions between test benches. Thank you in advance and good morning from Terrassa, Barcelona. A big hug to all of you.

Jorge Ruiz Centelles
I am not an expert in anything, I do not believe in anything, but everything is possible.
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

I'm not the best person to advise for books. I hardly ever run standard chess matches.

You can use whatever GUI you want. It is personal preference. Use what you are comfortable with.

Graham is the only one who uses ChessGUI. I used to but haven't for many years now. Arena is widely used, as is Chessbase GUI, and CuteChess GUI as well as Shredder GUI.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Ray wrote: Tue Mar 19, 2024 7:04 am I'm not the best person to advise for books. I hardly ever run standard chess matches.

You can use whatever GUI you want. It is personal preference. Use what you are comfortable with.

Graham is the only one who uses ChessGUI. I used to but haven't for many years now. Arena is widely used, as is Chessbase GUI, and CuteChess GUI as well as Shredder GUI.
I have Fritz19, 18, in fact since I came back from retirement, I bought everything I needed to catch up a couple of years ago. But to make a gauntlet in fritz19 gui, for example, I don't know which option is the most suitable. Regarding the book or suite, Graham can probably direct me. Anyway, I'm going to search the forum, and in this way, I'll try this server as well, but with chessbase since I'm very comfortable with said gui. Thanks for your reply.
I am not an expert in anything, I do not believe in anything, but everything is possible.
User avatar
Gabor Szots
Posts: 12848
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: HCE engines

Post by Gabor Szots »

I attach most of the books I use regularly. I'm going to delete the file after a couple of days because it is huge.

EDIT: File deleted.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Gabor Szots wrote: Tue Mar 19, 2024 1:13 pm I attach most of the books I use regularly. I'm going to delete the file after a couple of days because it is huge.
Thank you!!. It's a great help.
I am not an expert in anything, I do not believe in anything, but everything is possible.
bastiball
Posts: 1946
Joined: Thu Aug 05, 2021 2:35 pm
Sign-up code: 10159
Location: Cavite, Philippines
Contact:

Re: HCE engines

Post by bastiball »

CCRL Testing Group
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

In terms of GUIs, if you want to use concurrency, then I think you just have three choices - CuteChess cli or GUI, or Banksia.
User avatar
JorgeRuiz
Posts: 15
Joined: Mon Mar 11, 2024 10:42 pm
Sign-up code: 10159
Contact:

Re: HCE engines

Post by JorgeRuiz »

Ray wrote: Tue Mar 19, 2024 4:42 pm In terms of GUIs, if you want to use concurrency, then I think you just have three choices - CuteChess cli or GUI, or Banksia.
Taking into account the conditions of the tournaments, I have already tried with up to 8 participants with cutechess-cli. With the books and suites you have shared, I think I can now run a script without problems. With banksia, I have not tried using concurrency greater than one. Thank you for your comments and recommendations.
I am not an expert in anything, I do not believe in anything, but everything is possible.
bastiball
Posts: 1946
Joined: Thu Aug 05, 2021 2:35 pm
Sign-up code: 10159
Location: Cavite, Philippines
Contact:

Re: HCE engines

Post by bastiball »

Ray wrote: Tue Mar 19, 2024 4:42 pm In terms of GUIs, if you want to use concurrency, then I think you just have three choices - CuteChess cli or GUI, or Banksia.
This is the only GUI I use :D
CCRL Testing Group
Ray
Posts: 22606
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: HCE engines

Post by Ray »

I'm not a fan of Banksia, it seems to be buggy. Basti is an expert on it.

If you get CuteChess cli working that is great - but do look at some of the games in the pgn to make sure that all seems well.
Post Reply