|Name:||Tutorial 9: Parallel Programming with Cilk Plus|
|Time:||Sunday, June 17, 2012
2:00 PM - 6:00 PM
Hamburg University, East Wing
|Speakers:||Arch Robison, Intel|
|Abstract:||This half-day tutorial introduces attendees to the Cilk Plus way of shared-memory parallel programming. Cilk Plus is an extension to C/C++ that provides a simple way to exploit both the SIMD parallelism and multiple hardware threads that are common on modern processors. Cilk Plus is implemented in the Intel compiler; parts of it are available in an experimental branch of GCC 4.7. Intel has published an open specification for Cilk Plus.
This tutorial describes the motivation for Cilk Plus, and then explains the syntactic mechanics of Cilk Plus. It moves on to how to use these mechanics effectively, to write scalable and correct parallel programs that retain deterministic serial semantics. The tutorial covers the work-span performance model as a fundamental theoretical tool for guiding the design of parallel algorithms. The tutorial emphasizes responsibilities of the programmer versus responsibilities of the Cilk Plus implementation. Algorithmic examples illustrate common strategies.
Attendees will learn to use Cilk Plus to write correct and scalable shared-memory programs as a straightforward extension of serial programming, without worrying about locks, threads, or specific machine parameters.