DiscoCheck 4.1 released

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
lucasart
Posts: 2957
Joined: Mon May 31, 2010 11:29 am
Contact:

DiscoCheck 4.1 released

Post by lucasart » Sat Mar 23, 2013 1:56 am

source code (git repository)
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
=> Windows

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
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

Post Reply