i7 Hyper-threading

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
AdminX
Posts: 6340
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: i7 Hyper-threading

Post by AdminX »

Houdini wrote:
AdminX wrote:Here are my results from a Intel (R) Core (TM)2 Quad Q6700 @2.66 GHz 2.67GHz with 8GB Ram running Windows 7 Pro (64-bit). What should Split_Depth be set to? 10, 14, or Other ....
Ted, for your configuration the default value of 10 appears to be best.
In my experience the best value for 4 cores is nearly always 10, but for 8 cores usually 12 will be better.
Thanks
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: i7 Hyper-threading

Post by mwyoung »

Houdini wrote:
mwyoung wrote:Looks like houdini is not hurt by HT with the i7 and even helped a bit. I see no reason not to use HT with any of the chess program I have tried with the i7 Mobile CPU. It does help some chess programs more then others, but no chess program has been slowed down by using HT.
As the numbers in this topic show, and also in my experience, the HT will indeed increase the node speed by about 5% to 15%. But hardly any of this is going to translate into real strength, the general efficiency of the SMP alpha-beta algorithm is not very high - the problem is that we're squeezing a serial algorithm into a parallel scheme.

Given the choice between a 4-thread engine running at 8,000 kN/s, and a 8-thread engine running at 9,000 kN/s, I expect that the 4-thread will be stronger despite the lower node count. The only way to know for sure would be to run a test match between a Houdini 4T and Houdini 4T+4HT.

Then there are other considerations like the power consumption and the capacity for overclocking that are much more favorable without HT.

Robert

I will keep testing, but until I see HT is hurting chess programs I will keep it on. Some chess programs have big gains with HT on. And I am not talking about NPS counts, but timed test to search to a fixed depth.

Example Fitz 12.

4 cpus 5358 KNS search position to depth 22. Time 2:40

Same position same fixed depth search

8 Logical cores 7299 KNS Time 2:11 Gain of over 20% using HT.
tano-urayoan
Posts: 638
Joined: Thu Aug 30, 2007 8:23 pm
Location: San Juan, Puerto Rico

Re: i7 Hyper-threading

Post by tano-urayoan »

But the author himself told you ht is not helpful for his program.
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: i7 Hyper-threading

Post by mwyoung »

tano-urayoan wrote:But the author himself told you ht is not helpful for his program.
I guess I trust real world results with the computer I have in front of me more. :)

But to be accurate Robert did not say that. Robert said "The only way to know for sure would be to run a test match between a Houdini 4T and Houdini 4T+4HT."
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: i7 Hyper-threading

Post by MikeB »

mwyoung wrote:After loading my new i7 laptop with a few chess engines. I am finding Rybka 4, Fritz 12, and Houdini are running faster using 8 logical cores. This is true with NPS and timed test positions. As this is my first i7 cpu, does Hyper-threading with the i7 help instead of hurt chess engines performance. This was not true in the past. In my testing I am clearly faster with Hyper-threading turned on running my chess engines.

Example Fritz 12

Fritz benchmark 4 cores. 5380 Nps 11.21

Fritz benchmark with HT 8 logical cores. 6995 Nps 14.57
It's funny you metnioned this. I have a similiar experience with an I3 laptop. To confirm my suspicions that hyperthreading was indeed now working in the latest Intel processors, I conducted a series of test. My machine has 2 physical cores and 4 logical cores.

Using Crafty:

Conducted "bench" with one threads.
Conducted "bench" with two threads.
Conducted "bench" with three threads.
Conducted "bench" with four threads.

Two threads were always clearly superior to one thread.
Three or more threads were usally superior to one thread, and sometimes uperior to two threads, three threaed nps were always higher than two threaded nps, and four threaded nps were alway higher than 3 threaded nps, but in completing the Crafty bench mark, which is fixed searech depth . results were inconsistent. When it was better , it was about than 10-15 % percent or more better than two threads, at its worse, it was just slightly better than one thread. Very inconsistent test results. It seemed to work best if I did'nt touch the keyboard or mouse. It generally got worse, if did something as simple as checking email.

The second test consisted of running two instances of crafty af the same time , using one thread and two threads.
test 1:
Crafty instance 1 One Thread
Crafty instance 2 One Thread

then:
test 2:
Crafty instance1 Two threads
Crafty instance2 Two threads

In test one, Crafty benchmarks were compatiable with running a single instance of crafty with one thread. - as expected.

In test two , Craftyy benchmarks were consistently FASTER both in nps and completion times than in test 1. It was not twice as fast, but as I recollect, it was 15 to 30% faster. Similarly - doiing anythng on the computer while the test is running could dramtically impact the results. But when using just two physical cores, doing other tasks onthe computer had less of an impact.

Windows 7 Professional - 512MB hash I3's

My conclusion - For my machine - Hypthreading works, but works best when multitasking with multiple nonchess programs. For chess programs , it works best when you are not multitasking and it works best with two instances of a chess engine using thwo thread each and not one engine using all 4 threads.
Sorry for any typos - I'm too lazywith not enough time on Christmas Eve to put this in a spell check .
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: i7 Hyper-threading

Post by Houdini »

mwyoung wrote:I will keep testing, but until I see HT is hurting chess programs I will keep it on. Some chess programs have big gains with HT on. And I am not talking about NPS counts, but timed test to search to a fixed depth.

Example Fitz 12.

4 cpus 5358 KNS search position to depth 22. Time 2:40

Same position same fixed depth search

8 Logical cores 7299 KNS Time 2:11 Gain of over 20% using HT.
My advice only holds for Houdini, I have no idea about the behaviour of Fritz 12. Apparently you obtain a 35% increase in node speed with Fritz, that's quite significant. With Houdini the increase usually is only about 10%.

Note that although you have a 35% higher node speed, the solution time is only reduced by 20%, this is an illustration of the fact that there's some extra inefficiency in the process.
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: i7 Hyper-threading

Post by Houdini »

tano-urayoan wrote:But the author himself told you ht is not helpful for his program.
I'm not infallible, you can challenge my opinions with facts :).
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: i7 Hyper-threading

Post by MikeB »

MikeB wrote:
mwyoung wrote:After loading my new i7 laptop with a few chess engines. I am finding Rybka 4, Fritz 12, and Houdini are running faster using 8 logical cores. This is true with NPS and timed test positions. As this is my first i7 cpu, does Hyper-threading with the i7 help instead of hurt chess engines performance. This was not true in the past. In my testing I am clearly faster with Hyper-threading turned on running my chess engines.

Example Fritz 12

Fritz benchmark 4 cores. 5380 Nps 11.21

Fritz benchmark with HT 8 logical cores. 6995 Nps 14.57
It's funny you metnioned this. I have a similiar experience with an I3 laptop. To confirm my suspicions that hyperthreading was indeed now working in the latest Intel processors, I conducted a series of test. My machine has 2 physical cores and 4 logical cores.

Using Crafty:

Conducted "bench" with one threads.
Conducted "bench" with two threads.
Conducted "bench" with three threads.
Conducted "bench" with four threads.

Two threads were always clearly superior to one thread.
Three or more threads were usally superior to one thread, and sometimes uperior to two threads, three threaed nps were always higher than two threaded nps, and four threaded nps were alway higher than 3 threaded nps, but in completing the Crafty bench mark, which is fixed searech depth . results were inconsistent. When it was better , it was about than 10-15 % percent or more better than two threads, at its worse, it was just slightly better than one thread. Very inconsistent test results. It seemed to work best if I did'nt touch the keyboard or mouse. It generally got worse, if did something as simple as checking email.

The second test consisted of running two instances of crafty af the same time , using one thread and two threads.
test 1:
Crafty instance 1 One Thread
Crafty instance 2 One Thread

then:
test 2:
Crafty instance1 Two threads
Crafty instance2 Two threads

In test one, Crafty benchmarks were compatiable with running a single instance of crafty with one thread. - as expected.

In test two , Craftyy benchmarks were consistently FASTER both in nps and completion times than in test 1. It was not twice as fast, but as I recollect, it was 15 to 30% faster. Similarly - doiing anythng on the computer while the test is running could dramtically impact the results. But when using just two physical cores, doing other tasks onthe computer had less of an impact.

Windows 7 Professional - 512MB hash I3's

My conclusion - For my machine - Hypthreading works, but works best when multitasking with multiple nonchess programs. For chess programs , it works best when you are not multitasking and it works best with two instances of a chess engine using thwo thread each and not one engine using all 4 threads.
Sorry for any typos - I'm too lazywith not enough time on Christmas Eve to put this in a spell check .
Also the final test ws running 4 instances of Crafty using one thread. With two physcial cores, , if hyperthreading did not exist, it would take twice as long to complete the bench or 2x time. With hyperthreading, it completes the bench in 1.7 time. 22% faster in nps than what you would expect with no hyperthreading.
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: i7 Hyper-threading

Post by mwyoung »

Looks like we need to take a new look at Hyper-threading with the new generation of Intel chips in regards to chess programs. Clearly some changes have been made to the HT architecture.
tano-urayoan
Posts: 638
Joined: Thu Aug 30, 2007 8:23 pm
Location: San Juan, Puerto Rico

Re: i7 Hyper-threading

Post by tano-urayoan »

mwyoung wrote: I guess I trust real world results with the computer I have in front of me more. :)
But to be accurate Robert did not say that. Robert said "The only way to know for sure would be to run a test match between a Houdini 4T and Houdini 4T+4HT."
Just to be sure did you cleared the hash after each test?