Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 7:50 am
Dann Corbit wrote:
mwyoung wrote:
Dann Corbit wrote:
mwyoung wrote:
Dann Corbit wrote:
mwyoung wrote:
Dann Corbit wrote:
mwyoung wrote:
Dann Corbit wrote:
There are two things I have found, one is a problem with Arena (Rebel 16.2 is automatically installed as a Winboard engine). The solution to this one is simple, manually change the type to UCI.
The second problem is a bug in Rebel (I think). My machine has 32 cores, but 64 threads. It is AMD 3970x and normally Arena posts a warning about too many cores (e.g. with Stockfish) but lets me use all the threads that I ask for (typically between 59 and 62 threads). However, Rebel seems to be detecting the core count and limiting to 32 threads. Because of this, I cannot use more than half of my CPU power.
You are better and faster to use just cores anyone. And the same with stockfish.
It depends. If I want to use my machine for anything else while I am analyzing, then I can only allocate 31/32 threads, which is 97%. But if I use threads, I can get 63/64=98%.
Sometimes I want 30 threads for engine x and 30 threads for engine y. The cost of doing things this way is that the CPU runs hotter. But I use a 20 Amp fan to cool my machine.
You do know that percent of CPU has nothing to do with how fast Stockfish is really running.
I have many applications that definitely benefit from large thread count (some database systems, some scientific calculations, etc.) I use my machine for a lot more than chess.
I like a fine level of control.
I do nothing but chess.
I can say for a fact. That Stockfish and Rebel 15 have issues with over threading.
And this is easy to test.
SF seems to perform well on tcec, which uses a boatload of threads.
That is because Stockfish is the best no matter how many threads are used.
I suggest you download the PGN files from TCEC as I did, and see how fast stockfish is running on their system. And compare the time to depth times with your system.
You will be shocked!
I may do that, it should be a fairly simple experiment.
My machine is atypical. I have 128gb ram, a gigantic raid disk farm, and 8TB of PCie 4.0 SSD. I also have two Nvidia 2080 super gpus. This is very useful if I want (for example) 60 threads of SMP (perhaps with two different engines) and lc0 using my gpus and two or three threads.
I also do things that hurt performance, since I want the right answers. For instance, a huge Tablebase system probably subtracts Elo, but once in a while it causes better analysis.
I guess if I used only bitbase, there would be better performance, but I am far more concerned about correctness. That's why I am horrified by engines that skip some under-promotions.
The following SQL query: select acd, sum(acs) / count(acs) as aveacs from dbo.Tcec where Engine like 'Stockfish%' and acd >= 27 group by acd order by acd
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 7:58 am
This query shows the average depth reached for games as a function of the exact engine name: select Engine, sum(acd) / count(acd) as aveacd from dbo.Tcec where Engine like 'Stockfish%' group by Engine order by sum(acd) / count(acd)
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 8:30 am
Dann Corbit wrote:
AMD Ryzen Threadripper 3970X (62 threads used by Stockfish, Test, 32 threads used by Rebel)
Meaning, the tryout patch did not work?
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 8:37 am
Admin wrote:
Dann Corbit wrote:
AMD Ryzen Threadripper 3970X (62 threads used by Stockfish, Test, 32 threads used by Rebel)
Meaning, the tryout patch did not work?
It works fine. I tested it with many different thread counts. Stockfish and Test are using 62 threads. Rebel is using 32. Currently: Engine Score St Lc Te Lc Re S-B 1: Stockfish-x64-avx2 23.0/35 ········· ======1== ===1===== ====11=1= =1111=11 364.00 2: Lc0-T78 17.5/35 ======0== ········· ======== ========= =====1=== 300.00 3: Test-62t 16.5/34 ===0===== ======== ········· ========= ======== 290.00 4: Lc0-T60 16.0/36 ====00=0= ========= ========= ········· ====0==== 278.00 5: Rebel-16.2 14.0/34 =0000=00 =====0=== ======== ====1==== ········· 239.00
87 of 600 games played Name of the tournament: Tdog Site/ Country: DESKTOP-426Q3JG, United States Level: Blitz 5/2 Hardware: AMD Ryzen Threadripper 3970X 32-Core Processor with 63.9 GB Memory Operating system: Windows 10 Home Home Edition (Build 9200) 64 bit PGN-File: C:\Program Files (x86)\Arena\Tournaments\Tdog.pgn Website: E-Mail Address:
Admin Admin
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 8:52 am
Meaning, Rebel with 62 threads is now fine?
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 9:31 am
Admin wrote:
Meaning, Rebel with 62 threads is now fine?
Yes, the program test is running with the magic parameter and 62 threads. It gets about 25% more nodes and {initial results show} better time to ply on average. I am running a tournament because "the proof of the pudding is in the eating." Therefore, the only meaningful question is, "Is it stronger?" Interestingly, 63 threads was too many. That is why I am using 62. I guess that all the services on my machine use more than one core, so there was some kind of collision with 63 threads. I made two attempts at analyzing a position with 63 threads. The first time it was horribly slow. The second time it crashed. However, 62 seems fine and dandy on my machine.
Admin likes this post
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 9:38 am
Dann Corbit wrote:
Admin wrote:
Meaning, Rebel with 62 threads is now fine?
Yes, the program test is running with the magic parameter and 62 threads. It gets about 25% more nodes and {initial results show} better time to ply on average. I am running a tournament because "the proof of the pudding is in the eating." Therefore, the only meaningful question is, "Is it stronger?" Interestingly, 63 threads was too many. That is why I am using 62. I guess that all the services on my machine use more than one core, so there was some kind of collision with 63 threads. I made two attempts at analyzing a position with 63 threads. The first time it was horribly slow. The second time it crashed. However, 62 seems fine and dandy on my machine.
To be absolutely clear, the program test-62t is the program test that you sent me, with the magic cookie supplied on the command line. It is using 62 threads. The program Rebel-16.2 is the standard Rebel 16.2 that is downloaded from your site. The two versions of LC0 are the latest version with the recommended T60 and T78 networks. Stockfish is the bleeding edge stockfish.
Admin Admin
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 10:31 am
That's pretty cool. I will discuss it with Chris if we make it an UCI option, default=off, plus a warning on the website.
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 10:34 am
Admin wrote:
That's pretty cool. I will discuss it with Chris if we make it an UCI option, default=off, plus a warning on the website.
I guess after a few hundred games we'll have a pretty good idea what improvement (if any) there is.
There is probably a way to detect if AMD systems are set to two threads per core or one.
So far it's a fun experiment. Thanks for humoring an old whinging twit.
Admin likes this post
mwyoung
Posts : 880 Join date : 2020-11-25 Location : USA
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 11:31 am
Dann Corbit wrote:
Admin wrote:
That's pretty cool. I will discuss it with Chris if we make it an UCI option, default=off, plus a warning on the website.
I guess after a few hundred games we'll have a pretty good idea what improvement (if any) there is.
There is probably a way to detect if AMD systems are set to two threads per core or one.
So far it's a fun experiment. Thanks for humorist an old whinging twit.
It will be interesting to see if you gain anything using SMT. I never have other then gaining more nodes per second using SMT. But hurting the overall search. So I never use SMT with chess engines.
Unless the chess engine is using a MCTS.
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 11:37 am
mwyoung wrote:
Dann Corbit wrote:
Admin wrote:
That's pretty cool. I will discuss it with Chris if we make it an UCI option, default=off, plus a warning on the website.
I guess after a few hundred games we'll have a pretty good idea what improvement (if any) there is.
There is probably a way to detect if AMD systems are set to two threads per core or one.
So far it's a fun experiment. Thanks for humorist an old whinging twit.
It will be interesting to see if you gain anything using SMT. I never have other then gaining more nodes per second using SMT. But hurting the overall search. So I never use SMT with chess engines.
Unless the chess engine is using a MCTS.
I guess if I measured carefully I would see greater energy usage and maybe a 1 or 2% loss for using smt to do 60 threads instead of 30 cores for chess. If I do smt with two instances at 30 threads for twice as long I expect to see no loss except power use.
As I have explained before, I like the flexibility and I have some apps that like threads.
Purely for chess, it probably isn't worth it.
Eelco
Posts : 233 Join date : 2021-10-08
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 5:04 pm
Dann Corbit wrote:
Purely for chess, it probably isn't worth it.
I haven't any measurements, but my feeling is, this is an understatement these days. We can't compare with Rebel 15, because only the net from Chris and the tuning by Ed will have any similarity to the ones in Rebel 16.2. So the tests Mark made will have to be redone. But talking about gut feelings, I think it is a waste of electricity these days to use more than one thread
Just to get a first impression of SMP I have made a double thread Rebel and it is like a completely different program in the single testposition I used, and where the goal was to show a losing score for White. The one thread version won, in my completely subjective opinion. It is very subjective of course. I did a long time analysis from the testposition from Mark's match posted on Talkchess a while ago. The double thread version does show a NPS that seems, very roughly, double the one thread version, but for the rest all similarity seems to disappear This will be mostly random, but still. Notice the extreme differences in achieved depths between the two, but at the same time how much longer it takes to get a negative score with the double version. My recommendation would still be, in the days of NNUE, get a little more memory and wait a little longer but just use all those threads for something else. One thread is enough, moreover it may just be better for analysis.
This is the long analysis with one thread. Rebel finds Nc4 earlier but that is not really important at all. Look at the depths also Rebel one thread finds a score of -1.13 after exactly 5 minutes. To reach the exact same score, the two thread version needs 73 minutes, 8 seconds. This is all statistically completely irrelevant of course, but I prefer the one thread version of Rebel 16.2. Let alone a 30 core version..
One thread analysis to depth 53
Code:
rb4r1/pp2q2k/7p/1P3p2/P2P1p1n/N1P1pP2/2Q1R1PP/2N2RK1 w - -
Engine: Rebel-16.2 (512 MB) gemaakt door Ed Schroder and Chris Whittington (C) 2
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 7:00 pm
Some impressions: I have never seen a program like Rebel 16.2 which disdains his own pawn shelter and gets away with it. Before castling, he will shred his pawn shelter on both sides and stay in the middle. After same side castling, he will push pawns from his pawn shelter as though he was planning a pawn storm using his own shelter pawns. But I did not see him get punished for this.
I would describe the play as "daring".
Eelco likes this post
Admin Admin
Posts : 2608 Join date : 2020-11-17 Location : Netherlands
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 7:09 pm
Dann Corbit wrote:
Some impressions: I have never seen a program like Rebel 16.2 which disdains his own pawn shelter and gets away with it. Before castling, he will shred his pawn shelter on both sides and stay in the middle. After same side castling, he will push pawns from his pawn shelter as though he was planning a pawn storm using his own shelter pawns. But I did not see him get punished for this.
I would describe the play as "daring".
We do a lot with what is called king safety.
Mclane and Dann Corbit like this post
Chris Whittington
Posts : 1254 Join date : 2020-11-17 Location : France
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 7:47 pm
Admin wrote:
That's pretty cool. I will discuss it with Chris if we make it an UCI option, default=off, plus a warning on the website.
RelaxThreadLimit = true/false
done
Chris Whittington
Posts : 1254 Join date : 2020-11-17 Location : France
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Sat Feb 25, 2023 7:49 pm
Dann Corbit wrote:
Some impressions: I have never seen a program like Rebel 16.2 which disdains his own pawn shelter and gets away with it. Before castling, he will shred his pawn shelter on both sides and stay in the middle. After same side castling, he will push pawns from his pawn shelter as though he was planning a pawn storm using his own shelter pawns. But I did not see him get punished for this.
I would describe the play as "daring".
King Shelter?! Pfffftt. WTF is King Shelter?!
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Mon Feb 27, 2023 2:20 am
After Windows update, I have a problem on my machine now. My machine frequently reboots when under load. So I need to get to the bottom of it. it did some other bad things, like completely disable my SQL Server database where I store all of my data (I did get that one fixed, though). Here is the current standings, where the tournament left off after the last reboot:
191 of 600 games played Name of the tournament: Tdog Site/ Country: DESKTOP-426Q3JG, United States Level: Blitz 5/2 Hardware: AMD Ryzen Threadripper 3970X 32-Core Processor with 63.9 GB Memory Operating system: Windows 10 Home Home Edition (Build 9200) 64 bit PGN-File: C:\Program Files (x86)\Arena\Tournaments\Tdog.pgn Website:
Dann Corbit
Posts : 189 Join date : 2020-11-26
Subject: Re: Problem with Rebel 16.2 on AMD threadripper Thu Mar 09, 2023 12:36 pm
I never did find out what was causing the crashes, but eventually, my machine settled down. I hate mysteries like that, where it is fixed by magic. It makes you wonder when the other shoe is going to drop-. We are a little over half way now.
363 of 600 games played Name of the tournament: Tdog Site/ Country: DESKTOP-426Q3JG, United States Level: Blitz 5/2 Hardware: AMD Ryzen Threadripper 3970X 32-Core Processor with 63.9 GB Memory Operating system: Windows 10 Home Home Edition (Build 9200) 64 bit PGN-File: C:\Program Files (x86)\Arena\Tournaments\Tdog.pgn[/size]
Eelco likes this post
Sponsored content
Subject: Re: Problem with Rebel 16.2 on AMD threadripper