From Free Software Directory
Jump to: navigation, search


Algorithmic language for multi-threaded parallel processing

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.



Verified by

Verified on


Verified by

Janet Casey

Verified on

31 January 2001

Leaders and contributors

Matteo Frigo Maintainer

Resources and communication

AudienceResource typeURI
HelpMailing List Info/Archive
Bug Tracking,Developer,SupportMailing List Info/Archive

Software prerequisites

Weak prerequisiteGNU binutils
Required to buildGNU make


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 or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.