Laskos wrote:bob. wrote:
...blah-blah...
The only exception to the "hyper threading is not good for chess" would be a poorly implemented program which gets an unusual boost from HT, that a well-designed implementation would not get. Such tricks (HT) tend to help poorly written code more than code that has been optimized to efficiently access memory and to reduce as much as possible unnecessary data dependencies or unnecessary computation that stalls/clogs pipelines...
i7 2600, 4 physical cores, 1,000 games 10s + 0.2s in cutechess-cli, Houdini 3, conclusive result:
8 threads vs 4 threads
+16 Elo points for 8 threads
LOS = 97.1%
Hope Bob comes with less blah-blah, this is already the third conclusive test on my i7 that HT gives 10-20 Elo points. Just get used to it.
Kai
Let me weigh in here from the perspective of somebody who topped the playchess bullet list and was in the top 5 blitz for some time a while back when testing a 6 core 980x processor with Houdini 3. There are unfortunatlely some issues you should be aware of:
I. The ONLY valid test is to use one machine with hyperthreading turned off in the bios (and turbo boost etc.) using all real cores playing against another machine with hyperthreading turned on using all threads. You cannot just play Houdini with threads equalling real cores when hyperthreading is turned on to emulate no hyperthreading due to a long standing race condition bug in Houdini which would sometimes drop NPS from for example 20 M N/s to just 2 M N/s. This would persist for a couple of moves spoiling and loosing some games (approx 1 out of 10). This is confimed by a number of people besides myself, there is also a thread about this somewhere on this board.
II. You are comparing Apples with Oranges. Usually with Hyperthreading turned off you can overclock much higher gaining - depending on your cooling - 30% in all situations while avoiding the search overhead of additional threads.
III. If your results would hold under I + II - Lets for the argument for now just assume they would hold under I. contrary to many of the best machine players on playchess, then Robert would have a very easy way to improve his program. This hypothetical result would imply that he could replicate the splitting, extension, reduction behaviour in software. This would result in a new program which would behave as theoretical expected: the hyperthreading gains would be offset by the parallel overhead while playing strength would now be higher on the non hyperthreaded machine. A naive approach would be to skip reductions randomly with a probability of 20%^depth or something similar.
IV. Now that the cloud service on playchess enables one to offer the engine for rents many people reenable hyperthreading to get higher N/s and more cores displayed in the engine rooster. This is pure marketing because many people believe more is better
I love to see your results using two machines where on one hyperthreading is completly turned off in bios. Up to that point i am unconvinced.