A domain-specific approach to heterogeneous parallelism
domain-specific languagesdynamic optimizationslanguagesparallel programmingparallel programming languagesperformanceruntime environmentsruntimes
The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2018 ACM, Inc.
Cilk (pronounced "silk") is a linguistic and runtime technology for algorithmic multithreaded programming developed at MIT. The philosophy behind Cilk is that a programmer should concentrate on structuring her or his program to expose parallelism and exploit locality, leaving Cilk's runtime system with the responsibility of scheduling the computation to run efficiently on a given platform. The Cilk runtime system takes care of details like load balancing, synchronization, and communication protocols. Cilk is algorithmic in that the runtime system guarantees efficient and predictable performance. Important milestones in Cilk technology include the original Cilk-1, which provided a provably efficient work-stealing runtime support but little linguistic support; the later Cilk-5, which provided simple linguistic extensions for multithreading to ANSI C; and the commercial Cilk++, which extended the Cilk model to C++ and introduced "reducer hyperobjects" as an efficient means for resolving races on no Cilk is an especially effective platform for programming "irregular" applications such as sparse numerical algorithms, N-body simulations, graph-theory applications, backtracking search, and cache-efficient stencil computations. Using Cilk, our group has developed three world-class chess programs, StarTech, *Socrates, and Cilkchess.
Click here for a brief introduction to Cilk. The Cilk-5.4.6 Reference Manual contains a programming guide with a short tutorial on the Cilk language.
Cilk at Intel!
MIT licensed Cilk technology to Cilk Arts, Inc.of Lexington, MA, a venture-funded start-up founded by Charles E. Leiserson and Matteo Frigo. Cilk Arts developed Cilk++, a quantum improvement over MIT Cilk, which includes full support for C++, parallel loops, and superior interoperability with serial code. In July 2009 Intel Corporation acquired Cilk Arts. Intel has since released its ICC compiler with Intel Cilk Plus, which provides an easy path to multicore-enabling C and C++ applications.
SPAA Best PaperThe ACM Symposium on Parallelism in Algorithms and Architectures (SPAA) awarded our 2009 paper on reducer hyperobjects its Best Paper Award.
PLDI 10-Year Retrospective AwardIn 2008 ACM SIGPLAN awarded our paper on the MIT Cilk-5 system its Most Influential 1998 PLDI Paper Award. This paper outlines the work-stealing technology underlying Cilk. If you want to know how Cilk works underneath, this is the paper to read.
HPC Challenge Award
Our Cilk entry for the HPC Challenge Class 2 award won the 2006 award for "Best Combination of Elegance and Performance". The award was made at SC'06 in Tampa on November 14 2006.
Authors:Cilk was developed by the MIT CSAIL Supertech Research Group under the leadership of Prof. Charles E. Leiserson.
Cilk-5.4.6 is the latest official MIT Cilk release.
- Released under the GNU General Public License.
- Works on GNU/Linux (IA32, AMD64, PowerPC, probably IA64), MacOS X (Intel, probably PowerPC as well), MS Windows (under cygwin).
- Download: cilk-5.4.6.tar.gz
The Cilk project is supported in part by NSF Grant E1A-9975036. Previous support was provided in part by DARPA Grant F30602-97-1-0270.
If you have comments, questions, or suggestions regarding Cilk, please email Charles E. Leiserson
This page maintained by: Marcia Davidson. Last updated: Fri Oct 8 14:35:19 EDT 2010