I'm running Stockfish on my laptop quad. I noticed the default if 7 threads. I'm wondering why. The NPS goes up with each thread added. My computer is set to use hyperthreads and I can't turn it off so Stockfish will run 8 threads on my quadcore i720. Just curious about the 7 thread default.
Jim
Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Moderator: Ras
-
- Posts: 436
- Joined: Thu Mar 09, 2006 2:31 am
-
- Posts: 10803
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Stockfish 1.6s does more pruning and I read an opinion that doing more pruning may cause the program to score closer to 50% both against weaker opponents and against stronger opponents.M ANSARI wrote:5 min + 1 sec games using Perfect 12 books truncated at 10 move
Stockfish 1.6s_Rybka 3_5_1-2 2009
1 Rybka 3 +37/=51/-12 62.50% 62.5/100
2 Stockfish 1.6s 64bit +12/=51/-37 37.50% 37.5/100
Rybka 3 running at default since I forgot to put contempt at zero. That might have actually improved scores although when I quickly looked at the games there is one loss by Rybka due to high contempt. This is probably offset though by less draws due to the contempt since it seems R3 is still quite a bit stronger. Maybe someone else can look at the games and see if they do find out something. I would say that that Stockfish 1.6s is the strongest non Rybka engine. Of course I consider Rybka clones as also Rybka engines.
Forget the games as I can't seem to find the attach button.
I think that it is important to test stockfish1.6s also against weaker opponents before deciding that it is stronger than the default.
Uri
-
- Posts: 3721
- Joined: Thu Mar 16, 2006 7:10 pm
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
I also noticed that Stockfish had default 7 threads but I was not sure why that was setup that way. As for Stockfish being optimized for only dual core, I think it should be at least optimized for quadcore. I don't think it is possible to buy a new desktop with a dual core anymore ... or at least it would be very difficult. MP "smooth scaling" is the future and algorithms should try to reflect that if they want to be competitive in the coming years. I had thought in the beginning that "smooth scaling" was for MP scaling (which is why I tested it on 8 cores) but now I realize it has nothing to do with that.
-
- Posts: 1808
- Joined: Wed Mar 08, 2006 9:19 pm
- Location: Oslo, Norway
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
A couple of years back, someone (I no longer remember who) ran some tests on an eight-core machine, and claimed that the program seemed to play much better with 7 threads than with 8. Because I had no way to verify it myself, and nobody else owned such a powerful machine, I just accepted it and set the default number of threads to 7. It has remained like that ever since. Of course, the tester might have been wrong, and even if he was right, it is possible that the current version behaves differently.Jim Walker wrote:I'm running Stockfish on my laptop quad. I noticed the default if 7 threads. I'm wondering why. The NPS goes up with each thread added. My computer is set to use hyperthreads and I can't turn it off so Stockfish will run 8 threads on my quadcore i720. Just curious about the 7 thread default.
Jim
As you probably know, hyperthreading doesn't help chess programs, and the optimum number of threads on your quad-core is almost certainly 4. Even if the N/s count climbs a little with more threads, the extra nodes will be eaten by bigger search trees. Unfortunately, I haven't found a way to detect hyperthreading CPUs programatically, so Stockfish will mistakenly assume that your CPU has eight cores.
-
- Posts: 1808
- Joined: Wed Mar 08, 2006 9:19 pm
- Location: Oslo, Norway
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
As I wrote, I don't have a quad-core, so it just isn't possible. But in any case, the parallel search seems to work well enough on 4 CPUs. The rating difference for Stockfish on 1 and 4 CPUs is comparable to the difference for other programs of similar strength.M ANSARI wrote:I also noticed that Stockfish had default 7 threads but I was not sure why that was setup that way. As for Stockfish being optimized for only dual core, I think it should be at least optimized for quadcore.
Perhaps, but almost nobody buys desktop computers for private use anymore. Even laptops seem to be losing popularity; the tiny "netbooks" are the most popular computers right now.I don't think it is possible to buy a new desktop with a dual core anymore ... or at least it would be very difficult.
I live in one of the richest countries of the world, and I don't know anyone here who owns a quad-core computer. They are still very, very rare.
I've never understood people who insist on optimizing for the future, rather than the present. We don't know how the future will look, and when there is plenty of time for optimizing for it when it arrives anyway.MP "smooth scaling" is the future and algorithms should try to reflect that if they want to be competitive in the coming years.
I personally think that widespread use of multi-core CPUs is coming, but not very soon. Currently the trend is towards smaller computing devices, not towards faster devices. Right now, the most popular version of Stockfish/Glaurung, by about two orders of magnitude, is the Apple iPhone, where Stockfish 1.6 searches about 10kN/s. It therefore makes more sense to optimize for very slow single-core CPUs than for desktop computers with 4 or 8 CPU cores.
By the way, I appreciate that you are testing Stockfish on your 8-core machine. We have almost no data from such computers, so all information we can get is very valuable. You just shouldn't be too disappointed if the program doesn't play as well as expected.
-
- Posts: 3721
- Joined: Thu Mar 16, 2006 7:10 pm
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Well I will try to upload the games. This is the first time I try this service so not sure it will work. I think some of the games that Stockfish played are very good, but Rybka 3 is just so very strong. Stockfish managed to get quite a few wins taking advantage of one of Rybka 3's achilles heel ... King safefty.
http://sharesend.com/97siu
http://sharesend.com/97siu
-
- Posts: 660
- Joined: Sat Dec 05, 2009 5:13 am
- Location: Colorado, USA
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Really? I got my quad with 6GB DDR2 for $540USD....I live in one of the richest countries of the world, and I don't know anyone here who owns a quad-core computer. They are still very, very rare.
Peter
-
- Posts: 436
- Joined: Thu Mar 09, 2006 2:31 am
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Thanks for the answer to my question. I have been running Stockfish 1.6 64 bit on my dual and on my quad. All games are blitz from 3+0 to 4+2 time controls and Stockfish is running about 11 Elo behind Rybka 3 (1cpu 64 bit) on the dual and 39 Elo behind Rybka 3 (1cpu 64 bit) on the quad. So for my test it is doing slightly better on the dual than on my quad which runs hyperthreads all the time. Both machines have between 200 to 400 games by Stockfish so far. Stockfish hits around 3.2M to 5M nps on my quad. I will leave the threads set at 7 from now on.
Jim
Jim
-
- Posts: 1833
- Joined: Thu Jun 22, 2006 12:07 am
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Isn't hyper-threading something you should stay away from? (i.e disable it in BIOS).
-
- Posts: 660
- Joined: Sat Dec 05, 2009 5:13 am
- Location: Colorado, USA
Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core
Yes. My understanding is that hyperthreading increases NPS slightly but has a negative effect on the search tree. Rybka 4 might use hyperthreading though, if you still like Rybka.....Martin T wrote:Isn't hyper-threading something you should stay away from? (i.e disable it in BIOS).
I don't know what the effect is on Stockfish, as I don't have a hyperthreaded machine handy, but it's probably better to disable it.
Peter