CILK: A Multi-Threaded Programming System for Meta-Computers
Abstract
Contracts F30602-97-l-0150 and F306O2-97-l-0270 were a joint effort but funded using different contract vehicles at the request of DARPA, the sponsoring agency. This report documents the design and development of CILK, a language for multi-threaded parallel programming based on ANSI C. CILK is designed for genera-purpose parallel programming, but it is especially effective for exploiting dynamic, highly asynchronous parallelism, which can be difficult to write in data-parallel or message-passing style. Three world-class chess programs were written in CILK by the CILK group at MIT. CILK provides an effective platform for programming dense and sparse numerical algorithms, such as matrix factorization and N-body simulations. Unlike many other multithreaded programming systems, CILK is algorithmic, in that the runtime system employs a scheduler that allows the performance of programs to be estimated accurately based on abstract complexity measures. CILK is available for download at http:/supertech. lcs . mit. edu/cilk/
Document Details
- Document Type
- Technical Report
- Publication Date
- Dec 01, 2001
- Accession Number
- ADA399574
Entities
People
- Lawrence H Snyder
Organizations
- Massachusetts Institute of Technology