CilkChess

Home * Engines * CilkChess

CilkChess, a massive parallel chess program written in the C or C++ multithreaded programming extension Cilk. CilkChess was developed by various authors from MIT and elsewhere headed by Charles Leiserson and programming lead by Don Dailey.

=Photos & Games= WCCC 1999, round 7, HIARCS - CilkChess, Erdogan Günes, Charles Leiserson (back of head), and Don Dailey [Event "WCCC 1999"] [Site "Paderborn, Germany"] [Date "1999.06.19"] [Round "7"] [White "Hiarcs"] [Black "CilkChess"] [Result "0-1"]

1.d4 e6 2.c4 c5 3.Nf3 Nf6 4.e3 cxd4 5.exd4 d5 6.Nc3 Nc6 7.Bg5 Be7 8.c5 O-O 9.Bb5 Bd7 10.O-O b6 11.Na4 bxc5 12.Bxf6 Bxf6 13.Nxc5 Re8 14.Rc1 Rc8 15.Ba6 Rb8 16.b3 Qa5 17.a4 Rb4 18.Nd3 Rb6 19.Bb5 Rxb5 20.axb5 Nxd4 21.Nxd4 Bxd4 22.Qc2 Bxb5 23.Rfd1 Qb6 24.Nc5 Be5 25.Qd2 Qb8 26.g3 Bf6 27.Rc2 Qa8 28.f3 a5 29.Rdc1 Be7 30.Qd4 Bg5 31.f4 Bf6 32.Qd2 d4 33.Nd3 Be7 34.Rd1 Qf3 35.Ne5 Qe4 36.Ra2 d3 37.Qg2 Qd4+ 38.Kh1 Bb4 39.Qb7 Qc5 40.Qe4 d2 41.Kg2 Qb6 42.Rc2 Rd8 43.g4 f6 44.Nc6 Qb7 45.Qxe6+ Kf8 46.Kf2 Re8 47.Qd5 Bxc6 48.Rxc6 Qa7+ 0-1

=CilkChess Team=
 * Reid Barton
 * Don Beal (engine programmer)
 * Don Dailey (lead programmer)
 * Matteo Frigo
 * Chris Joerg
 * Charles Leiserson (project leader)
 * Phil Lisiecki
 * Aske Plaat
 * Ryan Porter
 * Harald Prokop
 * David Venturini

=Quotes= from Awards for Cilk Technology & Research :
 * 1996 First Place in the 1996 Dutch Open Computer Chess Championship for CilkChess
 * 1997 Second Place in the 1997 Dutch Open Computer Chess Championship for CilkChess

=Description= from the WCCC 1999 ICGA Tournament site : 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.

=See also=
 * Occam

=Publications=
 * Don Dailey, Charles E. Leiserson (2001). Using Cilk to Write Multiprocessor Chess Programs. Advances in Computer Games 9, pdf

=Forum Posts=
 * CilkChess question for Don by Robert Hyatt, CCC, January 31, 1999 » Shared Hash Table
 * Re: CilkChess by Don Dailey, CCC, February 14, 1999 » MTD(f)
 * MTD is a big win by Don Dailey, CCC, July 19, 1999

=External Links=
 * The CilkChess Parallel Chess Program
 * The CilkChess Parallel Chess Program - in the 1998 Dutch Open Computer Chess Championship
 * CilkChess' ICGA Tournaments
 * CilkChess from Wikipedia
 * Cilk from Wikipedia
 * The Cilk Project
 * Intel Cilk Plus from Wikipedia » Intel

=References=

Up one Level