Rice University
Distinguished Speaker Series in Computer Science
Charles E. Leiserson
Massachusetts Institute of Technology
Electrical Engineering & Computer Science Department
Programming Shared-Memory Multiprocessors Using the Cilk Multithreaded Language
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.
Tuesday November 3, 1998 @ 2:00 p.m. in McMurtry Auditorium, Duncan Hall
Refreshments after the talk in DH3092
Biographical Information
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- |