ProDeo
Would you like to react to this message? Create an account in a few clicks or log in to continue.
ProDeo

Computer Chess
 
HomeHome  CalendarCalendar  Latest imagesLatest images  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log in  

 

 Multithreading broken in Rebel

Go down 
2 posters
AuthorMessage
pohl4711

pohl4711


Posts : 160
Join date : 2022-03-01
Location : Berlin

Multithreading broken in Rebel Empty
PostSubject: Multithreading broken in Rebel   Multithreading broken in Rebel EmptyThu Oct 10, 2024 6:39 am

I wanted Rebel Extreme to participate in my Super 3 Tournament as a "Guest star"
https://www.sp-cc.de/super3_tournament.htm

This tournament is running on a 8c/16t AMD Ryzen machine

For this, I looked in the Multithreading and in Rebel it is complete broken, IMHO.

Problem 1 (not big): setting Threads in Command-mode (setoption name threads value X) is without any effect

Problem 2 (not big): Limitation to 64 Threads, makes it impossible to participate in TCEC or on chesscom-tournaments (250 Threads would be needed, all other engines are fine with that...)

Problem 3 (big): When running Rebel Extreme in cutechessGUI, setting the threads works, but:
a) more than 8 Threads have no effect, all other engines allow 14 Threads without problems
b) Even running on only 8 Threads does not work properly:
When Stockfish (or Komodo etc.) gets 8 Threads, it calculates around 5.5x more nodes compared to singlethread-mode and the Windows Task Manager shows CPU loads of around 60-65%
When Rebel Extreme gets 8 Threads, it calculates only around 3x more nodes compared to singlethread-mode and the Windows Task Manager shows CPU loads of only around 35% (!!!)

It is really sad, that a basic-function like Multithreading, which work in dozens and dozens of engines, is so bad implemented in Rebel.
Please try to fix this ASAP.

(I tried also to set this strange parameter RelaxThreadLimit=true in the engines.json file of cutechessGUI - no effect)

Or (just an idea), try to connect with an author of a strong engine (perhaps Stockfish itself?) and offer the Rebel Extreme net as a second net for this engine. Could be switched on/off easily by an UCI-command (RebelExtremeNet=true/false).
I know, that Gabe (discord, author of the Top-Engine Obsidian) is very interested in aggressive play, because he helps the Patricia-author in development. Offering him the Rebel Extreme net for using (to make Obsidian play aggressive as an option), could be an idea...
Back to top Go down
https://www.sp-cc.de
Admin
Admin
Admin


Posts : 2608
Join date : 2020-11-17
Location : Netherlands

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptySat Oct 12, 2024 8:47 am

Add poweruser to the command line and threads to the number of cores and you get 50% in the taskbar, example -

ccc -concurrency 1 -tournament gauntlet -engine name=Rebel-Extreme cmd="Rebel-Extreme.exe poweruser" proto=uci option.Hash=128 option.Threads=16
Back to top Go down
http://rebel13.nl/
pohl4711

pohl4711


Posts : 160
Join date : 2022-03-01
Location : Berlin

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptySun Oct 13, 2024 6:23 am

Admin wrote:
Add poweruser to the command line and threads to the number of cores and you get 50% in the taskbar, example -

ccc -concurrency 1 -tournament gauntlet -engine name=Rebel-Extreme cmd="Rebel-Extreme.exe poweruser" proto=uci option.Hash=128 option.Threads=16

OK, Thanks, Ed, this helps. Now, at least 8 Threads are used and the CPU-load fits to that.
Nonetheless, this limitation to the number of physical cores makes no sense to me. No other engine does it and in the big engine-tournaments (TCEC and chesscom), the engines get nearly as much threads as 2x physical cores, just like in my Super3 tournament.
Back to top Go down
https://www.sp-cc.de
Admin
Admin
Admin


Posts : 2608
Join date : 2020-11-17
Location : Netherlands

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptySun Oct 13, 2024 9:35 am

pohl4711 wrote:
Admin wrote:
Add poweruser to the command line and threads to the number of cores and you get 50% in the taskbar, example -

ccc -concurrency 1 -tournament gauntlet -engine name=Rebel-Extreme cmd="Rebel-Extreme.exe poweruser" proto=uci option.Hash=128 option.Threads=16

OK, Thanks, Ed, this helps. Now, at least 8 Threads are used and the CPU-load fits to that.
Nonetheless, this limitation to the number of physical cores makes no sense to me. No other engine does it and in the big engine-tournaments (TCEC and chesscom), the engines get nearly as much threads as 2x physical cores, just like in my Super3 tournament.

Now that superuser in on probably RelaxThreadLimit might work to get more threads but it comes with a warning from Chris, from the documentation -

Code:
For Power Users

    Windows and some UI's can become unstable if threads are set too high, use at your own risk
    setoption name RelaxThreadLimit value N (set yourself as a power user)

I never tried it. I seldom play with more than one thread.
Back to top Go down
http://rebel13.nl/
pohl4711

pohl4711


Posts : 160
Join date : 2022-03-01
Location : Berlin

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptySun Oct 13, 2024 1:41 pm

Admin wrote:

Now that superuser in on probably RelaxThreadLimit might work to get more threads but it comes with a warning from Chris, from the documentation -

Code:
For Power Users

    Windows and some UI's can become unstable if threads are set too high, use at your own risk
    setoption name RelaxThreadLimit value N (set yourself as a power user)

I never tried it. I seldom play with more than one thread.

Sadly, adding RelaxThreadLimit and setting it higher than 8 has no effect on my machine.
Back to top Go down
https://www.sp-cc.de
Admin
Admin
Admin


Posts : 2608
Join date : 2020-11-17
Location : Netherlands

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptySun Oct 13, 2024 7:37 pm

Code:
ccc -concurrency 1 -tournament gauntlet -engine name=Rebel-EAS-2.0 cmd=Rebel-EAS-2.0.exe arg=poweruser proto=uci option.Threads=16 option.Hash=128

Try this, the trick is : arg=poweruser

It will use 16 cores.

Back to top Go down
http://rebel13.nl/
pohl4711

pohl4711


Posts : 160
Join date : 2022-03-01
Location : Berlin

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptyMon Oct 14, 2024 7:17 am

Admin wrote:
Code:
ccc -concurrency 1 -tournament gauntlet -engine name=Rebel-EAS-2.0 cmd=Rebel-EAS-2.0.exe arg=poweruser proto=uci option.Threads=16 option.Hash=128

Try this, the trick is : arg=poweruser

It will use 16 cores.



Hmmm, but I use cutechessGUI for my Super 3 Tournament, I dont know how to use "arg" here?!?
And the manual of cutechess says: "arg=arg: Pass arg to the engine as a command line argument."
In cutechessGUI there is a line (named Command) in the configure-window, there I have written:
Rebel_extreme_avx2.exe poweruser

This "works" up to the number of physical cores, but not more. But I dont see the difference: Using arg in cutechess-cli does nothing else, as far as I understand ("Pass arg to the engine as a command line argument")...
But even if there is a difference, I dont know how to use "arg" in cutechessGUI, if this is possible.

I edited the engines.json file manually and changed it to this (added an arg-line down below (but considering the cutechessGUI/engines.json manual, cutechessGUI does not know "arg") and added RelaxThreadLimit), but this does not change anything. Only 4 cores are supported here (it is an old 4c/8t machine):
{
"command" : "Rebel_extreme_avx2.exe poweruser",
"name" : "Rebel_extreme_avx2",
"options" : [
{
"alias" : "",
"default" : 128,
"max" : 131072,
"min" : 16,
"name" : "Hash",
"type" : "spin",
"value" : 1024
},
{
"alias" : "",
"default" : 1,
"max" : 64,
"min" : 1,
"name" : "Threads",
"type" : "spin",
"value" : 7
},
{
"alias" : "",
"default" : 1,
"max" : 64,
"min" : 1,
"name" : "RelaxThreadLimit",
"type" : "spin",
"value" : 7
},
{
"alias" : "",
"default" : 202,
"max" : 256,
"min" : 1,
"name" : "Evalcorrect",
"type" : "spin",
"value" : 202
},
{
"alias" : "",
"default" : true,
"name" : "Rep2_Draw_Trolling",
"type" : "check",
"value" : true
},
{
"alias" : "",
"default" : 7,
"max" : 25,
"min" : 1,
"name" : "TC_Move_Overhead",
"type" : "spin",
"value" : 7
},
{
"alias" : "",
"default" : 100,
"max" : 200,
"min" : 50,
"name" : "TC_Aggression",
"type" : "spin",
"value" : 100
},
{
"alias" : "",
"default" : "book.bin",
"name" : "Bookfile",
"type" : "text",
"value" : "book.bin"
},
{
"alias" : "",
"default" : 0,
"max" : 200,
"min" : 0,
"name" : "Bookdepth",
"type" : "spin",
"value" : 0
},
{
"alias" : "",
"default" : 0,
"max" : 100,
"min" : 0,
"name" : "Bookrandom",
"type" : "spin",
"value" : 0
},
{
"alias" : "",
"default" : "",
"name" : "LoadNNUE",
"type" : "text",
"value" : ""
},
{
"alias" : "",
"default" : "",
"name" : "SaveNNUE",
"type" : "text",
"value" : ""
}
],
"protocol" : "uci",
"arg" : "poweruser",
"stderrFile" : "",
"workingDirectory" : "D:\\CutechessGUI_portable_V1.2\\Engines"
}
Back to top Go down
https://www.sp-cc.de
Admin
Admin
Admin


Posts : 2608
Join date : 2020-11-17
Location : Netherlands

Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel EmptyTue Oct 15, 2024 12:19 am

On a 4-core machine 4 threads is the maximum. So your Json is ok.

Although the documentation states otherwise I haven't been able to get more threads than the number of cores.

Ghppn likes this post

Back to top Go down
http://rebel13.nl/
Sponsored content





Multithreading broken in Rebel Empty
PostSubject: Re: Multithreading broken in Rebel   Multithreading broken in Rebel Empty

Back to top Go down
 
Multithreading broken in Rebel
Back to top 
Page 1 of 1
 Similar topics
-
» Stockfish is Broken in Windows 11 on some CPU's
» SPCC: Testruns of Rebel EAS 2 and Rebel Extreme finished
» Rebel in my FACE -Tournaments
» Stockfish Development has been broken . Gauntlet Demonstration Lc0 vs Stockfish Dev, and SF 15.1
» Rebel 14.2

Permissions in this forum:You cannot reply to topics in this forum
ProDeo :: Computer Chess-
Jump to: