Cilk is designed for general purpose parallel programming, but it is especially effective for exploiting dynamic asynchronous, parallelism. The current release runs on symmetric multiprocessor machines that support Posix threads, GNU make, and gcc. You can also run Cilk on uniprocessor machines, which is useful for development and debugging, although you won't get any parallel speedup. According to cilk, a programmer should structure a program to expose parallelism and exploit locality, leaving the runtime system to schedule the computation to run efficiently. Thus, the runtime system handles details like load balancing, paging, and communication protocols. Unlike other multithreaded languages, however, cilk is algorithmic in that the runtime system guarantees efficient and predictable performance.
DocumentationOn line reference manual available from http://supertech.lcs.mit.edu/cilk/manual-5.3.2.pdf
released on 18 May 2002
|License||Verified by||Verified on||Notes|
|GPLv2orlater||Janet Casey||31 January 2001|
Leaders and contributors
Resources and communication
|Help||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/cilk-announce|
|Bug Tracking,Developer,Support||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/cilk-users|
|Required to build||GNU make|
|Weak prerequisite||GNU binutils|
This entry (in part or in whole) was last reviewed on 7 January 2008.