Since you’re here...

... we have a small favour to ask. More people, like you, are reading and supporting our blog: "Chess Engines Diary". And unlike many other sites and blogs, we made the choice to keep our articles open for all, regardless of where they live or what they can afford to pay.

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.

============================== My email: jotes@go2.pl



Stockfish 17122610_VandeVondele - new version!

Stockfish, chess engine UCI

Rating JCER = 3389
🔬 Author: Joost VandeVondele 

Timestamp: 1514281242 
Upon changing the number of threads, make sure all threads are bound 

The heuristic to avoid thread binding if less than 8 threads are requested resulted in the first 7 threads not being bound. 
The branch was verified to yield a roughly 13% speedup by @CoffeeOne on the appropriate hardware and OS, and an earlier version of this patch tested well on his machine: 

ELO: 9.24 +-4.6 (95%) LOS: 100.0% 
Total: 5000 W: 634 L: 501 D: 3865 

To make sure all threads (including mainThread) are bound as soon as the total number exceeds 7, recreate all threads on a change of thread number. 
To do this, unify Threads::init, Threads::exit and Threads::set are unified in a single Threads::set function that goes through the needed steps. 
The code includes several suggestions from @joergoster. 

Fixes issue #1312 

No functional change 

⭐⭐⭐   Stockfish 17122610_VandeVondele - download

Comments

Popular Posts