This has popped up again over on the Stockfish forums :
https://groups.google.com/forum/?fromgr ... ya3HfsoObE
What do you guys think about testing using hyperthreaded machines?
I remember at one time seeing people say no for older generation cpus, but yes for high end i7's, i9's, Ryzen.
I've got a 16core threadripper, and would love to use a concurrency of 30 to test, rather than 15
Chess Engine testing with hyperthreaded machines
Moderators: hgm, Rebel, chrisw
-
- Posts: 1759
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Chess Engine testing with hyperthreaded machines
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Chess Engine testing with hyperthreaded machines
If you're asking about fishtest, then the answer has always been clear: don't do it. Just follow the instructions if you want to be helpful rather than a source of noise.AndrewGrant wrote:What do you guys think about testing using hyperthreaded machines?
So what would happen with 30 threads on 16 cores? Most cores will get 2 threads, some only 1. Those threads running on 1 core will be faster. Engines using that core will get higher nps and create noise.I've got a 16core threadripper, and would love to use a concurrency of 30 to test, rather than 15
If you want to be helpful to Stockfish development, please just follow the instructions.
-
- Posts: 1759
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: Chess Engine testing with hyperthreaded machines
If you want to be helpful to Stockfish development, please just follow the instructions.
Of course. But I'm talking about for my own engine, or testing others engines. I'm yet to see any convincing data that says you cannot use HT when testing.
If you scale the TC to account for the lowered NPS when HT is on, and then set the concurrency to be all hyperthreads - 1, then only 1 thread has that possibility. Even then, that thread is sharing it's time with the OS. So If I set my CPU to use 31/32, I would get 15 cores with 2 engines running, and 1 core with 1 engine running.1. Those threads running on 1 core will be faster. Engines using that core will get higher nps and create noise.
The noise from the single "1 core 1 engine" is overshadowed by the other 15 cores. AND I'm not convinced the quoted portion is true. I'll run some tests when I get the chance.
It seems to me like even if that noise was created, having 31 instead of 15 data points is worth having 1/31th of the games being noisy.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )