https://github.com/lucasart/chess.git
compiles for Linux and Windows (64-bit only)
https://github.com/lucasart/chess/tree/master/bin
- files ending with .exe are Windows compiles
- other files are Linux compiles
- try the sse4.2 first, and if it doesn't work, use the other one. SSE 4.2 is faster, but it assumes that your CPU is recent and has the SSE 4.2 instruction set (popcnt and prefetch).
It scored +15 elo in my test against DC 4.0.3 (6,000 games in 20"+0.1").
What has changed:
=> user visible
- fixed a bug with 2-fold repetition in the game history instead of 3-fold. Thanks to Michel Van der Bergh for suggesting this.
- recognizes KPK draws, using a bitbase.
- recognize KBPK draws using an eval heuristic.
=> technical
- use QS TT moves in the search, but discard it for IID.
- prefetch the TT and Pawn Cache entries before use, to be more cache-friendly (SSE 4.2 only).
- restrict LMR from diving directly into the QS.
- tune down some passed pawn weights slightly.
The compiles have been verified (for functional correctness and speed). I can run the Windows ones with Wine, so I hope the real Windows will accept them too. Here are some performance comparison on my machine (i7-3770k):
=> Linux
Code: Select all
$ ./discocheck_4.1 bench|tail -4
signature = 8007775
time = 5.41747
$ ./discocheck_4.1_sse4.2 bench|tail -4
signature = 8007775
time = 4.96366
Code: Select all
$ wine discocheck_4.1.exe bench|tail -4
signature = 8007775
time = 5.80513
$ wine discocheck_4.1_sse4.2.exe bench|tail -4
signature = 8007775
time = 5.40501
