## Core i7 and chess

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 9:01 pm
Location: Irvine, CA, USA

### Re: Core i7 and chess

I meant:
Dirt wrote:Then you would be searching almost double the nodes per second, which would still be an improvement when searching the 50% larger tree.

zullil
Posts: 6442
Joined: Mon Jan 08, 2007 11:31 pm
Location: PA USA
Full name: Louis Zulli

### Re: Core i7 and chess

bob wrote:
zullil wrote:
bob wrote: you just make the tree 50% bigger or so. So even if you search a faster NPS, you have to search way more nodes, a losing proposition...
How would this situation change if there were eight actual cores but no hyper-threading? I'm still missing something here.
OK, if You have eight actual threads, the NPS (I am talking Crafty here) will be roughly 8x faster. Suppose you were searching 2.5M nps on a single CPU. With eight, you would see 20M nodes per second. But, again with Crafty, for each CPU you add beyond the first, the one-cpu tree size grows by 30%.

First, let's look at the 2 cpu numbers.

1cpu 2.5M nodes per second. takes 60 seconds to search 150M nodes

2cpu 5.0M nodes per second, but the tree grows to 150M + .25M extra overhead (I just ran a few tests to get an average for this number). So we search 175M nodes per second at 5M nodes per second, which takes about 35 seconds. The speedup is then 60sec/35sec = 1.7x faster.

4cpu. 10.0M nodes per second, but tree grows by 40M extra nodes for a total of 190M. 190M divided by 10M nps = 19 seconds. Speedup is 60/19 = 3.1x faster.

This continues at least thru 16 processors.

The problem with hyperthreading is that in the above 2 cpu example (one processor with two logical (hyper-threaded) CPUs. You search 175M nodes, but at not much over 2.5M nodes per second. And that is a big loser as you actually take significantly longer to do the same search compared to the time taken by one processor no hyperthreading...

hope that helps. If you have Crafty and a multiple-cpu machine, you can run the test yourself... Run a single position several times with 2 and 4 to get average results. You will see that if you double the nps by using two real CPUS, the overhead is more than compensated for by the extra NPS. But with hyperthreading, since the NPS doesn't go up very much, suddenly the overhead is enough to make it run slower rather than faster.

So with hyper-threading you get the overhead inherent in a parallel search without getting the compensatory significant increase in search rate that comes from having an actual core for each thread.

Thanks for the help. I think I understand now.

bob
Posts: 20916
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

### Re: Core i7 and chess

zullil wrote:
bob wrote:
zullil wrote:
bob wrote: you just make the tree 50% bigger or so. So even if you search a faster NPS, you have to search way more nodes, a losing proposition...
How would this situation change if there were eight actual cores but no hyper-threading? I'm still missing something here.
OK, if You have eight actual threads, the NPS (I am talking Crafty here) will be roughly 8x faster. Suppose you were searching 2.5M nps on a single CPU. With eight, you would see 20M nodes per second. But, again with Crafty, for each CPU you add beyond the first, the one-cpu tree size grows by 30%.

First, let's look at the 2 cpu numbers.

1cpu 2.5M nodes per second. takes 60 seconds to search 150M nodes

2cpu 5.0M nodes per second, but the tree grows to 150M + .25M extra overhead (I just ran a few tests to get an average for this number). So we search 175M nodes per second at 5M nodes per second, which takes about 35 seconds. The speedup is then 60sec/35sec = 1.7x faster.

4cpu. 10.0M nodes per second, but tree grows by 40M extra nodes for a total of 190M. 190M divided by 10M nps = 19 seconds. Speedup is 60/19 = 3.1x faster.

This continues at least thru 16 processors.

The problem with hyperthreading is that in the above 2 cpu example (one processor with two logical (hyper-threaded) CPUs. You search 175M nodes, but at not much over 2.5M nodes per second. And that is a big loser as you actually take significantly longer to do the same search compared to the time taken by one processor no hyperthreading...

hope that helps. If you have Crafty and a multiple-cpu machine, you can run the test yourself... Run a single position several times with 2 and 4 to get average results. You will see that if you double the nps by using two real CPUS, the overhead is more than compensated for by the extra NPS. But with hyperthreading, since the NPS doesn't go up very much, suddenly the overhead is enough to make it run slower rather than faster.

So with hyper-threading you get the overhead inherent in a parallel search without getting the compensatory significant increase in search rate that comes from having an actual core for each thread.

Thanks for the help. I think I understand now.
You got it.

bnst
Posts: 58
Joined: Tue Sep 11, 2007 10:16 am

### Re: Core i7 and chess

bob wrote:
jpqy wrote:I don't see any problem,because the chess engine should see the 8threads and use them like 8cores..and if you turn HT off then is it just a quad core cpu! So,i think the problem must be in Rybka! and i'am sure the core i7 is faster then a skulltrail for chess!
I have used Toga ,because i have to use freeware,i even could use Glaurung or a other strong engine..but it was not easy to let people run a chess program..(they think it's a benchmark program like pi or something)
and that take not long time,not to have settings,just let it run from start position and infinite level.I have a few people who find it very interesting and also find out that they can fine tune there system! (better then Prime)
I have almost all my parts to build my own core i7 system,then i can try all my engines to see if they act the same,and logic they should run faster with HT on(8threads)!

JP.
The problem is that there are _not_ really "8 cores". For any single core, two threads can run, but only one runs at a time. This typically will gain about 10% or so in speed because the two logical cores swap between threads as they block for memory accessing or for long instruction execution delays. But that is not the end of the story. A parallel search will have about 30% overhead (in the case of Crafty, I'd bet Rybka is worse based on the performance numbers I have seen reported by Rybka users). So you gain 10% in NPS, you search 30% more nodes, this is a net loss, and it is why SMT (hyperthreading) should be disabled for chess engines that support multiple threads or processes.
There is a possible middle solution which I think might be interesting to try and that is to leave HT on, but only use 4 threads for the chess program. That way - hopefully - the chess processes will be running mostly on "real" processors, but we leave some capacity for other tasks that the OS will have to do while the chess program runs.

Andreas

Karmazen & Oliver
Posts: 374
Joined: Fri Mar 09, 2007 11:34 pm

### Re: Core i7 and chess

terminator wrote:Some guy would run a fritz 9 benchmark and the results would be updated on that page. What about the Core i7? Has it been compared to those processors? Its a shame Intel do not support chess as it would be great to see Fritzmarks on mainstream websites.

Are there any Core i7's on Playchess and how many threads does it have? The core i7 supports hyperthreading which may not be such a good thing for chess if i recall from a conversation here.
Intel Core i7 965 Extreme Benchmark Hyper-Threading
Crysis -0.1%
Unreal Tournament 3 -2.1%
World in Conflict -2.7%
Supreme Commander 0.3%
AVG Anti-Virus 8 6.6%
Winrar 3.80 14.8%
Winzip 11 -1.0%
Acrobat 9 Professional -1.0%
Photoshop CS 3 -1.1%
iTunes 0.0%
Lame MP3 0.0%
Studio 12 -1.9%
DivX 18.9%
XviD 0.7%
MainConcept H.264 18.3%
Premiere Pro CS3 HDTV 7.8%
Cinema 4D Release 10 8.5%
3D Studio Max 9 10.3%
Fritz 11 23.8%
Nero 8 Recode 23.2%
Overall: 6.2%
in chess HT 23 % up for this CPU. Yes, I write that I was thinking about this... in a previus post...

bye

Gian-Carlo Pascutto
Posts: 1204
Joined: Sat Dec 13, 2008 6:00 pm
Contact:

### Re: Core i7 and chess

Karmazen & Oliver wrote:
in chess HT 23 % up for this CPU. Yes, I write that I was thinking about this... in a previus post...

bye
Nodes per second speedup means NOTHING for actual playing strength, which will be clear if you actually read this thread.

Karmazen & Oliver
Posts: 374
Joined: Fri Mar 09, 2007 11:34 pm

### Re: Core i7 and chess

Gian-Carlo Pascutto wrote:
Karmazen & Oliver wrote:
in chess HT 23 % up for this CPU. Yes, I write that I was thinking about this... in a previus post...

bye
Nodes per second speedup means NOTHING for actual playing strength, which will be clear if you actually read this thread.
it´s false, in the same engine ?¡ more nk/s is more ELO.

in chess, HT it´s better.

Marc MP

### Re: Core i7 and chess

Karmazen & Oliver wrote:
Gian-Carlo Pascutto wrote:
Karmazen & Oliver wrote:
in chess HT 23 % up for this CPU. Yes, I write that I was thinking about this... in a previus post...

bye
Nodes per second speedup means NOTHING for actual playing strength, which will be clear if you actually read this thread.
it´s false, in the same engine ?¡ more nk/s is more ELO.

in chess, HT it´s better.
I have a Pentium 4 3.2Ghz with Hyper-Threading. On the Fritz 9 benchmark it scores 2.0 without HT and 2.3 with HT. So 15% gain in speed it seems. When I do an epd-test (test positions), I always get lower scores when I use 2 threads instead of one. Hyper-Threading HURTS performance.

Karmazen & Oliver
Posts: 374
Joined: Fri Mar 09, 2007 11:34 pm

### Re: Core i7 and chess

Marc MP wrote:
Karmazen & Oliver wrote:
Gian-Carlo Pascutto wrote:
Karmazen & Oliver wrote:
in chess HT 23 % up for this CPU. Yes, I write that I was thinking about this... in a previus post...

bye
Nodes per second speedup means NOTHING for actual playing strength, which will be clear if you actually read this thread.
it´s false, in the same engine ?¡ more nk/s is more ELO.

in chess, HT it´s better.
I have a Pentium 4 3.2Ghz with Hyper-Threading. On the Fritz 9 benchmark it scores 2.0 without HT and 2.3 with HT. So 15% gain in speed it seems. When I do an epd-test (test positions), I always get lower scores when I use 2 threads instead of one. Hyper-Threading HURTS performance.
Excuse me, It´s important what engine you used...

I have a P4 too, a Presler D 935, It´s have two cores but don´t HT, I don´t like HT, because it´s elevate Watss 1/4 on CPU overclocked... I would install a Intel D 955 EE, with HT, but I can nt have the top speed oc with HT.. but I

I believe to be totally sure that "alone" for the chess, the HT cannot be bad, it can be that other processes in second plane are harming to the calculate process, it can be that the difference was not outstanding, but if the software this CORRECTLY programmed one is impossible that activating the HT is harmed to the yield. In another software, as games 3D, etc, is possible that if it harms for that there are implied many different processes in the cache... but analyzing chess, only chess?

Which is the engine that has used ? I have a portable of HP, with a processor 3 GHz with HT, I would can test in this team to see if I observe the same thing that you, but it is strange... rare.

bye. oliver.

tano-urayoan
Posts: 638
Joined: Thu Aug 30, 2007 6:23 pm
Location: San Juan, Puerto Rico

### Re: Core i7 and chess

Excuse me, It´s important what engine you used...

I have a P4 too, a Presler D 935, It´s have two cores but don´t HT, I don´t like HT, because it´s elevate Watss 1/4 on CPU overclocked... I would install a Intel D 955 EE, with HT, but I can nt have the top speed oc with HT.. but I

I believe to be totally sure that "alone" for the chess, the HT cannot be bad, it can be that other processes in second plane are harming to the calculate process, it can be that the difference was not outstanding, but if the software this CORRECTLY programmed one is impossible that activating the HT is harmed to the yield. In another software, as games 3D, etc, is possible that if it harms for that there are implied many different processes in the cache... but analyzing chess, only chess?

Which is the engine that has used ? I have a portable of HP, with a processor 3 GHz with HT, I would can test in this team to see if I observe the same thing that you, but it is strange... rare.

bye. oliver.
Haven't you read this whole thread? Do you know more than the programmers that have posted here? Ht does not help for chess