Monday, September 21, 1998
4:00 PM (refreshments 3:45)
Edgerton Hall, Room 34-101
EECS Colloquium
Abstract
Cilk is a language being developed in the MIT Laboratory for Computer Science with the goal of making parallel programming easy. Cilk minimally extends the C programming language to allow interactions among computational threads to be specified in a simple and high-level fashion. Cilk's provably efficient runtime system dynamically maps a user's program onto available physical resources, freeing the programmer from concerns of communication protocols and load balancing. In addition, Cilk provides an abstract performance model that a programmer can use to predict the multiprocessor performance of his application from its execution on a single processor. Not only do Cilk programs scale up to run efficiently on multiple processors, but unlike existing parallel programming environments, such as MPI and HPF, Cilk programs "scale down:" the efficiency of a Cilk program on one processor rivals that of a comparable C program.
In this talk, I will provide a tutorial on the Cilk language for people with a basic background in computer programming. I will explain how to program multithreaded applications in Cilk and how to analyze their performance. I will illustrate some of the ideas behind Cilk using the example of MIT's championship computer-chess programs, *Socrates and Cilkchess. I will also briefly sketch how the software technology underlying Cilk actually works.
See <http://theory.lcs.mit.edu/~cilk> for more background on Cilk and to download the Cilk-5.2 manual and software release.
|
Modified: Sep 17, 1998
|
Current events
|
Your comments
and inquiries are welcome.