Optimal Settings for Stockfish-1.6.2 on Octal Machines

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

Moderator: Ras

zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by zullil »

After doing considerable testing under the guidance of Marco Costalba, I have reached the conclusion that the following uci settings yield the best results for Stockfish-1.6.2 when using 8 threads (note that Threads = 7 is the default):

Minimum Split Depth = 7 (the default is 4). [The more conservative value of 6 is also very good.]

Maximum Number of Threads per Split Point = 5 (the default).

Thanks to Marco for his help, and to the entire Stockfish team for providing us with this very nice engine.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by mcostalba »

zullil wrote:After doing considerable testing under the guidance of Marco Costalba, I have reached the conclusion that the following uci settings yield the best results for Stockfish-1.6.2 when using 8 threads (note that Threads = 7 is the default):

Minimum Split Depth = 7 (the default is 4). [The more conservative value of 6 is also very good.]

Maximum Number of Threads per Split Point = 5 (the default).

Thanks to Marco for his help, and to the entire Stockfish team for providing us with this very nice engine.
This very valuable testing by Louis will be integrated in the next release of SF, so that when an 8 cores is detected the parameters will be automatically set to their optimal values.

Until then please set them manually through your UCI interface before to start a match.

I know 8 cores are not commonly used, but there are some niche environments (read big boys at playchess) where this info could be useful.

Thanks again to Louis for his great testing effort ! He has played thousand of games to come up with this optimal tuning.

One note: currently when SF detects 8 cores it sets the number of threads to 7.

Please, manually overwrite this default setting "Threads" parameter to 8, we are still not 100% sure but I would guess 8 is better then 7 here.
User avatar
M ANSARI
Posts: 3721
Joined: Thu Mar 16, 2006 7:10 pm

Re: Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by M ANSARI »

I will give it a try, but is 6.2 better than without the DC additions? Also how much improvement is there with regards to optimization for 8 cores?
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by mcostalba »

M ANSARI wrote:I will give it a try, but is 6.2 better than without the DC additions? Also how much improvement is there with regards to optimization for 8 cores?
We haven't tested DC version so I can't comment on this.
alpha123
Posts: 660
Joined: Sat Dec 05, 2009 5:13 am
Location: Colorado, USA

Re: Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by alpha123 »

mcostalba wrote:
M ANSARI wrote:I will give it a try, but is 6.2 better than without the DC additions? Also how much improvement is there with regards to optimization for 8 cores?
We haven't tested DC version so I can't comment on this.
From my tests it seems:
1.6s JA (the fixed version, this should be exactly the same strength as 1.6.2s JA) is slightly stronger against Rybka 3 than 1.6, roughly the same (which isn't very good at all) against RobboLito, and slightly weaker against everything else.

Peter
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by zullil »

M ANSARI wrote:Also how much improvement is there with regards to optimization for 8 cores?
Not sure what you are asking, but setting Minimum Split Depth = 7 rather than the default value of 4 leads to significantly better play. Here's the result of a 1000 game match (played at a speed of game in 40 seconds):

Stockfish-1.6.2-mSD7 (8 threads) defeated Stockfish-1.6.2-mSD4 (8 threads) by a score of 291 to 120, with 589 draws.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Optimal Settings for Stockfish-1.6.2 on Octal Machines

Post by bob »

mcostalba wrote:
zullil wrote:After doing considerable testing under the guidance of Marco Costalba, I have reached the conclusion that the following uci settings yield the best results for Stockfish-1.6.2 when using 8 threads (note that Threads = 7 is the default):

Minimum Split Depth = 7 (the default is 4). [The more conservative value of 6 is also very good.]

Maximum Number of Threads per Split Point = 5 (the default).

Thanks to Marco for his help, and to the entire Stockfish team for providing us with this very nice engine.
This very valuable testing by Louis will be integrated in the next release of SF, so that when an 8 cores is detected the parameters will be automatically set to their optimal values.

Until then please set them manually through your UCI interface before to start a match.

I know 8 cores are not commonly used, but there are some niche environments (read big boys at playchess) where this info could be useful.

Thanks again to Louis for his great testing effort ! He has played thousand of games to come up with this optimal tuning.

One note: currently when SF detects 8 cores it sets the number of threads to 7.

Please, manually overwrite this default setting "Threads" parameter to 8, we are still not 100% sure but I would guess 8 is better then 7 here.
Just so you know, those settings will _not_ be optimal for all 8 core boxes. You have the following cases:

8 individual CPUs. 4 dual-core chips with 4 separate caches, 2 quad-core chips with 2 separate caches, and there are the various and sundry differences with respect ot each core having its own L1 and L2 on some machines, separate L1 and shared on-chip L2 on others, etc. And then there are the memory differences. Interleaved or not-interleaved. dual-channel or triple channel. NUMA or UMA.

Such settings really are unique for each different box. My optimal settings on a dual-processor box varies depending on whether I use my PIV (dual-chip) in my office, or my dual-core in my laptop. Or whether I use a dual quad-core, or a quad dual-core at the office.

Ideal would be an "auto-tune" command which I have plans for in Crafty. Start it up, type autotune, and come back in 5 minutes to have an optimal configuration set up automatically.