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.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software described in this text has its own copyright notice and license, which can usually be found in the distribution itself.