Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core

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

Moderator: Ras

Jim Walker
Posts: 436
Joined: Thu Mar 09, 2006 2:31 am

Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core

Post by Jim Walker »

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
Uri Blass
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

Post by Uri Blass »

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.
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.

I think that it is important to test stockfish1.6s also against weaker opponents before deciding that it is stronger than the default.

Uri
User avatar
M ANSARI
Posts: 3721
Joined: Thu Mar 16, 2006 7:10 pm

Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core

Post by M ANSARI »

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.
Tord Romstad
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

Post by Tord Romstad »

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
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.

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.
Tord Romstad
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

Post by Tord Romstad »

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.
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.
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.
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 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.
MP "smooth scaling" is the future and algorithms should try to reflect that if they want to be competitive in the coming years.
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.

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.
User avatar
M ANSARI
Posts: 3721
Joined: Thu Mar 16, 2006 7:10 pm

Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core

Post by M ANSARI »

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
alpha123
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

Post by alpha123 »

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.
Really? I got my quad with 6GB DDR2 for $540USD....

Peter
Jim Walker
Posts: 436
Joined: Thu Mar 09, 2006 2:31 am

Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core

Post by Jim Walker »

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
Martin Thoresen
Posts: 1833
Joined: Thu Jun 22, 2006 12:07 am

Re: Rybka 3 vs Stockfish 1.6s on Octa 4ghz 8 core

Post by Martin Thoresen »

Isn't hyper-threading something you should stay away from? (i.e disable it in BIOS).
alpha123
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

Post by alpha123 »

Martin T wrote:Isn't hyper-threading something you should stay away from? (i.e disable it in BIOS).
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.....
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