ICGA Tournaments

Tournaments between computer programs: chess, draughts, checkers, Go, backgammon, and more
Home / Programs / Cilkchess



Reid Barton
Don Bealengine programmer
Don Daileyengine programmer
Matteo Frigo
Charles Leiserson
Phil Lisiecki
Ryan Porter
Harald Prokop
Aske Plaat


Chess, 1999, Paderborn305.07


Description given in 1999:

Cilkchess is a parallel program which will be running on a 256-processor SGI Origin 2000 at NASA Ames for the WCCC. Cilkchess won First Prize in the 1996 Dutch Open and took Second in both 1997 and 1998. Our earlier program, *Socrates, took Second in the 1995 WCCC, tying the winner Fritz in the main part of the tournament, but losing in the playoff.

Cilkchess is programmed in the Cilk multithreaded programming language, which allows highly irregular programs, such as chess, to be written with ease for parallel computers. The program uses a parallel variant of the MTD(f) search algorithm that incorporates null-move forward pruning, but few extensions. The evaluation function has been tuned from thousands of self-play games using a temporal-coherence learning algorithm. The transposition table is stored in 32 gigabytes of shared memory. In the late middle game, Cilkchess typically looks more than 15 ply (half-moves) ahead and performs 5-11 million make-moves per second.