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...
Admin Admin
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Multithreading broken in Rebel Sat 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 -
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.
Admin Admin
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Multithreading broken in Rebel Sun 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 -
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.
pohl4711
Posts : 160 Join date : 2022-03-01 Location : Berlin
Subject: Re: Multithreading broken in Rebel Sun 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.
Admin Admin
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Multithreading broken in Rebel Sun Oct 13, 2024 7:37 pm
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.