26 October 2015

Chess Engines : FishCooking

In my previous post in this series, Chess Engines : Fishtest, I asked, 'How does this work in practice?' A page on Stockfishchess.org, Get Involved - Stockfish - Open Source Chess Engine -- 'Whether you are a programming wizard or just a fan, there's something you can do to help make Stockfish even better' -- explains its three-pronged approach:-

  • Volunteer Your Computer
  • Write Code
  • Discuss

'Write Code' points to official-stockfish/Stockfish on Github.com. 'Discuss' points to FishCooking on Google Groups:-

This is a discussion group for developers and testers of Stockfish chess engine.

If you're interested in chess engines, you're probably aware of the ongoing competition TCEC Season 8. A few months ago I wrote a post giving Preliminary Info. The Stockfish entry encountered a glitch a few weeks into the event, described in Press release regarding the Stockfish case in TCEC Stage 3:-

TCEC Press release, 11 October 2015 : Stockfish has submitted for Stage 3 of TCEC a not fully stable version, which contains a few bugs related to the new "lazy-smp" code. This has prevented the engine to finish two of the four games played so far in the event, instead losing these games on time.

The phrase 'Lazy SMP' didn't mean anything to me, so I looked on chessprogramming.wikispaces.com:-

Parallel Search • Parallel Search, also known as Multithreaded Search or SMP Search, is a way to increase search speed by using additional processors. [...] Shared Hash Table : This technique is a very simple approach to SMP. [...] Lazy SMP : Recent improvements [...]

Got it, thanks. Lazy SMP is a table technique to implement parallel search and a new version went awry during the TCEC event. The details can be found in the FishCooking forum, e.g.

The entire sequence of events is documented on that forum. If you're interested in that sort of thing (aren't we all?), it provides an advanced education in creating modern chess engines and in open source software development.

No comments: